diff --git a/.env.example b/.env.example index 7130e67..9f9ce97 100644 --- a/.env.example +++ b/.env.example @@ -1,6 +1,9 @@ # Generate a random secret using `openssl rand -hex 32` +API_URL=http://localhost:5173 COOKIE_SECRET= -DATABASE_URL=postgresql://samui-stack:samui-stack@localhost:5432/samui-stack?schema=public +DATABASE_URL=postgresql://pubkey-protocol-demo:pubkey-protocol-demo@localhost:5432/pubkey-protocol-demo?schema=public DOMAIN=localhost PORT=3000 +SOLANA_FEE_PAYER_AUTHORITY=[...bytes...] +SOLANA_FEE_PAYER_COMMUNITY=[...bytes...] SOLANA_RPC_ENDPOINT=http://localhost:8899 diff --git a/.gitignore b/.gitignore index caecc2c..58b571f 100644 --- a/.gitignore +++ b/.gitignore @@ -2,7 +2,7 @@ /node_modules/ # React Router -/web/.react-router/ +/.react-router /build/ .env diff --git a/.react-router/types/+register.ts b/.react-router/types/+register.ts deleted file mode 100644 index 6d806fb..0000000 --- a/.react-router/types/+register.ts +++ /dev/null @@ -1,50 +0,0 @@ -import "react-router"; - -declare module "react-router" { - interface Register { - params: Params; - } -} - -type Params = { - "/": {}; - "/api/auth/:provider": { - "provider": string; - }; - "/api/auth/:provider/callback": { - "provider": string; - }; - "/api/set-theme": {}; - "/admin/users": {}; - "/admin/users/create": {}; - "/admin/users/:id/*": { - "id": string; - "*": string; - }; - "/admin": {}; - "/admin/settings/general": {}; - "/admin/settings/security": {}; - "/dev": {}; - "/dev/components": {}; - "/dev/new": {}; - "/pubkey": {}; - "/pubkey/communities": {}; - "/pubkey/communities/create": {}; - "/pubkey/communities/:community": { - "community": string; - }; - "/pubkey/profiles": {}; - "/pubkey/profiles/create": {}; - "/pubkey/profiles/:profile": { - "profile": string; - }; - "/onboarding": {}; - "/onboarding/wallets": {}; - "/onboarding/profile": {}; - "/onboarding/done": {}; - "/dashboard": {}; - "/profile": {}; - "/login": {}; - "/logout": {}; - "/about": {}; -}; \ No newline at end of file diff --git a/.react-router/types/+virtual.d.ts b/.react-router/types/+virtual.d.ts deleted file mode 100644 index 512fadf..0000000 --- a/.react-router/types/+virtual.d.ts +++ /dev/null @@ -1,14 +0,0 @@ -declare module "virtual:react-router/server-build" { - import { ServerBuild } from "react-router"; - export const assets: ServerBuild["assets"]; - export const assetsBuildDirectory: ServerBuild["assetsBuildDirectory"]; - export const basename: ServerBuild["basename"]; - export const entry: ServerBuild["entry"]; - export const future: ServerBuild["future"]; - export const isSpaMode: ServerBuild["isSpaMode"]; - export const prerender: ServerBuild["prerender"]; - export const publicPath: ServerBuild["publicPath"]; - export const routes: ServerBuild["routes"]; - export const ssr: ServerBuild["ssr"]; - export const unstable_getCriticalCss: ServerBuild["unstable_getCriticalCss"]; -} \ No newline at end of file diff --git a/.react-router/types/app/+types/root.ts b/.react-router/types/app/+types/root.ts deleted file mode 100644 index d79f252..0000000 --- a/.react-router/types/app/+types/root.ts +++ /dev/null @@ -1,42 +0,0 @@ -// React Router generated types for route: -// root.tsx - -import type * as T from "react-router/route-module" - - - -type Module = typeof import("../root.js") - -export type Info = { - parents: [], - id: "root" - file: "root.tsx" - path: "" - params: {} & { [key: string]: string | undefined } - module: Module - loaderData: T.CreateLoaderData - actionData: T.CreateActionData -} - -export namespace Route { - export type LinkDescriptors = T.LinkDescriptors - export type LinksFunction = () => LinkDescriptors - - export type MetaArgs = T.CreateMetaArgs - export type MetaDescriptors = T.MetaDescriptors - export type MetaFunction = (args: MetaArgs) => MetaDescriptors - - export type HeadersArgs = T.HeadersArgs - export type HeadersFunction = (args: HeadersArgs) => Headers | HeadersInit - - export type unstable_MiddlewareFunction = T.CreateServerMiddlewareFunction - export type unstable_ClientMiddlewareFunction = T.CreateClientMiddlewareFunction - export type LoaderArgs = T.CreateServerLoaderArgs - export type ClientLoaderArgs = T.CreateClientLoaderArgs - export type ActionArgs = T.CreateServerActionArgs - export type ClientActionArgs = T.CreateClientActionArgs - - export type HydrateFallbackProps = T.CreateHydrateFallbackProps - export type ComponentProps = T.CreateComponentProps - export type ErrorBoundaryProps = T.CreateErrorBoundaryProps -} \ No newline at end of file diff --git a/.react-router/types/app/api/+types/set-theme.ts b/.react-router/types/app/api/+types/set-theme.ts deleted file mode 100644 index b18309c..0000000 --- a/.react-router/types/app/api/+types/set-theme.ts +++ /dev/null @@ -1,42 +0,0 @@ -// React Router generated types for route: -// api/set-theme.tsx - -import type * as T from "react-router/route-module" - -import type { Info as Parent0 } from "../../+types/root.js" - -type Module = typeof import("../set-theme.js") - -export type Info = { - parents: [Parent0], - id: "api/set-theme" - file: "api/set-theme.tsx" - path: "api/set-theme" - params: {} & { [key: string]: string | undefined } - module: Module - loaderData: T.CreateLoaderData - actionData: T.CreateActionData -} - -export namespace Route { - export type LinkDescriptors = T.LinkDescriptors - export type LinksFunction = () => LinkDescriptors - - export type MetaArgs = T.CreateMetaArgs - export type MetaDescriptors = T.MetaDescriptors - export type MetaFunction = (args: MetaArgs) => MetaDescriptors - - export type HeadersArgs = T.HeadersArgs - export type HeadersFunction = (args: HeadersArgs) => Headers | HeadersInit - - export type unstable_MiddlewareFunction = T.CreateServerMiddlewareFunction - export type unstable_ClientMiddlewareFunction = T.CreateClientMiddlewareFunction - export type LoaderArgs = T.CreateServerLoaderArgs - export type ClientLoaderArgs = T.CreateClientLoaderArgs - export type ActionArgs = T.CreateServerActionArgs - export type ClientActionArgs = T.CreateClientActionArgs - - export type HydrateFallbackProps = T.CreateHydrateFallbackProps - export type ComponentProps = T.CreateComponentProps - export type ErrorBoundaryProps = T.CreateErrorBoundaryProps -} \ No newline at end of file diff --git a/.react-router/types/app/api/auth/+types/provider-callback.ts b/.react-router/types/app/api/auth/+types/provider-callback.ts deleted file mode 100644 index 80d760c..0000000 --- a/.react-router/types/app/api/auth/+types/provider-callback.ts +++ /dev/null @@ -1,42 +0,0 @@ -// React Router generated types for route: -// api/auth/provider-callback.tsx - -import type * as T from "react-router/route-module" - -import type { Info as Parent0 } from "../../../+types/root.js" - -type Module = typeof import("../provider-callback.js") - -export type Info = { - parents: [Parent0], - id: "api/auth/provider-callback" - file: "api/auth/provider-callback.tsx" - path: "api/auth/:provider/callback" - params: {"provider": string} & { [key: string]: string | undefined } - module: Module - loaderData: T.CreateLoaderData - actionData: T.CreateActionData -} - -export namespace Route { - export type LinkDescriptors = T.LinkDescriptors - export type LinksFunction = () => LinkDescriptors - - export type MetaArgs = T.CreateMetaArgs - export type MetaDescriptors = T.MetaDescriptors - export type MetaFunction = (args: MetaArgs) => MetaDescriptors - - export type HeadersArgs = T.HeadersArgs - export type HeadersFunction = (args: HeadersArgs) => Headers | HeadersInit - - export type unstable_MiddlewareFunction = T.CreateServerMiddlewareFunction - export type unstable_ClientMiddlewareFunction = T.CreateClientMiddlewareFunction - export type LoaderArgs = T.CreateServerLoaderArgs - export type ClientLoaderArgs = T.CreateClientLoaderArgs - export type ActionArgs = T.CreateServerActionArgs - export type ClientActionArgs = T.CreateClientActionArgs - - export type HydrateFallbackProps = T.CreateHydrateFallbackProps - export type ComponentProps = T.CreateComponentProps - export type ErrorBoundaryProps = T.CreateErrorBoundaryProps -} \ No newline at end of file diff --git a/.react-router/types/app/api/auth/+types/provider.ts b/.react-router/types/app/api/auth/+types/provider.ts deleted file mode 100644 index 778e87a..0000000 --- a/.react-router/types/app/api/auth/+types/provider.ts +++ /dev/null @@ -1,42 +0,0 @@ -// React Router generated types for route: -// api/auth/provider.tsx - -import type * as T from "react-router/route-module" - -import type { Info as Parent0 } from "../../../+types/root.js" - -type Module = typeof import("../provider.js") - -export type Info = { - parents: [Parent0], - id: "api/auth/provider" - file: "api/auth/provider.tsx" - path: "api/auth/:provider" - params: {"provider": string} & { [key: string]: string | undefined } - module: Module - loaderData: T.CreateLoaderData - actionData: T.CreateActionData -} - -export namespace Route { - export type LinkDescriptors = T.LinkDescriptors - export type LinksFunction = () => LinkDescriptors - - export type MetaArgs = T.CreateMetaArgs - export type MetaDescriptors = T.MetaDescriptors - export type MetaFunction = (args: MetaArgs) => MetaDescriptors - - export type HeadersArgs = T.HeadersArgs - export type HeadersFunction = (args: HeadersArgs) => Headers | HeadersInit - - export type unstable_MiddlewareFunction = T.CreateServerMiddlewareFunction - export type unstable_ClientMiddlewareFunction = T.CreateClientMiddlewareFunction - export type LoaderArgs = T.CreateServerLoaderArgs - export type ClientLoaderArgs = T.CreateClientLoaderArgs - export type ActionArgs = T.CreateServerActionArgs - export type ClientActionArgs = T.CreateClientActionArgs - - export type HydrateFallbackProps = T.CreateHydrateFallbackProps - export type ComponentProps = T.CreateComponentProps - export type ErrorBoundaryProps = T.CreateErrorBoundaryProps -} \ No newline at end of file diff --git a/.react-router/types/app/features/admin/+types/layout-admin.ts b/.react-router/types/app/features/admin/+types/layout-admin.ts deleted file mode 100644 index 0934495..0000000 --- a/.react-router/types/app/features/admin/+types/layout-admin.ts +++ /dev/null @@ -1,42 +0,0 @@ -// React Router generated types for route: -// features/admin/layout-admin.tsx - -import type * as T from "react-router/route-module" - -import type { Info as Parent0 } from "../../../+types/root.js" - -type Module = typeof import("../layout-admin.js") - -export type Info = { - parents: [Parent0], - id: "features/admin/layout-admin" - file: "features/admin/layout-admin.tsx" - path: "undefined" - params: {} & { [key: string]: string | undefined } - module: Module - loaderData: T.CreateLoaderData - actionData: T.CreateActionData -} - -export namespace Route { - export type LinkDescriptors = T.LinkDescriptors - export type LinksFunction = () => LinkDescriptors - - export type MetaArgs = T.CreateMetaArgs - export type MetaDescriptors = T.MetaDescriptors - export type MetaFunction = (args: MetaArgs) => MetaDescriptors - - export type HeadersArgs = T.HeadersArgs - export type HeadersFunction = (args: HeadersArgs) => Headers | HeadersInit - - export type unstable_MiddlewareFunction = T.CreateServerMiddlewareFunction - export type unstable_ClientMiddlewareFunction = T.CreateClientMiddlewareFunction - export type LoaderArgs = T.CreateServerLoaderArgs - export type ClientLoaderArgs = T.CreateClientLoaderArgs - export type ActionArgs = T.CreateServerActionArgs - export type ClientActionArgs = T.CreateClientActionArgs - - export type HydrateFallbackProps = T.CreateHydrateFallbackProps - export type ComponentProps = T.CreateComponentProps - export type ErrorBoundaryProps = T.CreateErrorBoundaryProps -} \ No newline at end of file diff --git a/.react-router/types/app/features/admin/+types/route-admin-dashboard.ts b/.react-router/types/app/features/admin/+types/route-admin-dashboard.ts deleted file mode 100644 index 96f0e6a..0000000 --- a/.react-router/types/app/features/admin/+types/route-admin-dashboard.ts +++ /dev/null @@ -1,43 +0,0 @@ -// React Router generated types for route: -// features/admin/route-admin-dashboard.tsx - -import type * as T from "react-router/route-module" - -import type { Info as Parent0 } from "../../../+types/root.js" -import type { Info as Parent1 } from "./layout-admin.js" - -type Module = typeof import("../route-admin-dashboard.js") - -export type Info = { - parents: [Parent0, Parent1], - id: "features/admin/route-admin-dashboard" - file: "features/admin/route-admin-dashboard.tsx" - path: "admin" - params: {} & { [key: string]: string | undefined } - module: Module - loaderData: T.CreateLoaderData - actionData: T.CreateActionData -} - -export namespace Route { - export type LinkDescriptors = T.LinkDescriptors - export type LinksFunction = () => LinkDescriptors - - export type MetaArgs = T.CreateMetaArgs - export type MetaDescriptors = T.MetaDescriptors - export type MetaFunction = (args: MetaArgs) => MetaDescriptors - - export type HeadersArgs = T.HeadersArgs - export type HeadersFunction = (args: HeadersArgs) => Headers | HeadersInit - - export type unstable_MiddlewareFunction = T.CreateServerMiddlewareFunction - export type unstable_ClientMiddlewareFunction = T.CreateClientMiddlewareFunction - export type LoaderArgs = T.CreateServerLoaderArgs - export type ClientLoaderArgs = T.CreateClientLoaderArgs - export type ActionArgs = T.CreateServerActionArgs - export type ClientActionArgs = T.CreateClientActionArgs - - export type HydrateFallbackProps = T.CreateHydrateFallbackProps - export type ComponentProps = T.CreateComponentProps - export type ErrorBoundaryProps = T.CreateErrorBoundaryProps -} \ No newline at end of file diff --git a/.react-router/types/app/features/admin/+types/route-admin-settings-general.ts b/.react-router/types/app/features/admin/+types/route-admin-settings-general.ts deleted file mode 100644 index 6fb950a..0000000 --- a/.react-router/types/app/features/admin/+types/route-admin-settings-general.ts +++ /dev/null @@ -1,43 +0,0 @@ -// React Router generated types for route: -// features/admin/route-admin-settings-general.tsx - -import type * as T from "react-router/route-module" - -import type { Info as Parent0 } from "../../../+types/root.js" -import type { Info as Parent1 } from "./layout-admin.js" - -type Module = typeof import("../route-admin-settings-general.js") - -export type Info = { - parents: [Parent0, Parent1], - id: "features/admin/route-admin-settings-general" - file: "features/admin/route-admin-settings-general.tsx" - path: "admin/settings/general" - params: {} & { [key: string]: string | undefined } - module: Module - loaderData: T.CreateLoaderData - actionData: T.CreateActionData -} - -export namespace Route { - export type LinkDescriptors = T.LinkDescriptors - export type LinksFunction = () => LinkDescriptors - - export type MetaArgs = T.CreateMetaArgs - export type MetaDescriptors = T.MetaDescriptors - export type MetaFunction = (args: MetaArgs) => MetaDescriptors - - export type HeadersArgs = T.HeadersArgs - export type HeadersFunction = (args: HeadersArgs) => Headers | HeadersInit - - export type unstable_MiddlewareFunction = T.CreateServerMiddlewareFunction - export type unstable_ClientMiddlewareFunction = T.CreateClientMiddlewareFunction - export type LoaderArgs = T.CreateServerLoaderArgs - export type ClientLoaderArgs = T.CreateClientLoaderArgs - export type ActionArgs = T.CreateServerActionArgs - export type ClientActionArgs = T.CreateClientActionArgs - - export type HydrateFallbackProps = T.CreateHydrateFallbackProps - export type ComponentProps = T.CreateComponentProps - export type ErrorBoundaryProps = T.CreateErrorBoundaryProps -} \ No newline at end of file diff --git a/.react-router/types/app/features/admin/+types/route-admin-settings-security.ts b/.react-router/types/app/features/admin/+types/route-admin-settings-security.ts deleted file mode 100644 index eca3d6b..0000000 --- a/.react-router/types/app/features/admin/+types/route-admin-settings-security.ts +++ /dev/null @@ -1,43 +0,0 @@ -// React Router generated types for route: -// features/admin/route-admin-settings-security.tsx - -import type * as T from "react-router/route-module" - -import type { Info as Parent0 } from "../../../+types/root.js" -import type { Info as Parent1 } from "./layout-admin.js" - -type Module = typeof import("../route-admin-settings-security.js") - -export type Info = { - parents: [Parent0, Parent1], - id: "features/admin/route-admin-settings-security" - file: "features/admin/route-admin-settings-security.tsx" - path: "admin/settings/security" - params: {} & { [key: string]: string | undefined } - module: Module - loaderData: T.CreateLoaderData - actionData: T.CreateActionData -} - -export namespace Route { - export type LinkDescriptors = T.LinkDescriptors - export type LinksFunction = () => LinkDescriptors - - export type MetaArgs = T.CreateMetaArgs - export type MetaDescriptors = T.MetaDescriptors - export type MetaFunction = (args: MetaArgs) => MetaDescriptors - - export type HeadersArgs = T.HeadersArgs - export type HeadersFunction = (args: HeadersArgs) => Headers | HeadersInit - - export type unstable_MiddlewareFunction = T.CreateServerMiddlewareFunction - export type unstable_ClientMiddlewareFunction = T.CreateClientMiddlewareFunction - export type LoaderArgs = T.CreateServerLoaderArgs - export type ClientLoaderArgs = T.CreateClientLoaderArgs - export type ActionArgs = T.CreateServerActionArgs - export type ClientActionArgs = T.CreateClientActionArgs - - export type HydrateFallbackProps = T.CreateHydrateFallbackProps - export type ComponentProps = T.CreateComponentProps - export type ErrorBoundaryProps = T.CreateErrorBoundaryProps -} \ No newline at end of file diff --git a/.react-router/types/app/features/app/+types/layout-app.ts b/.react-router/types/app/features/app/+types/layout-app.ts deleted file mode 100644 index d253886..0000000 --- a/.react-router/types/app/features/app/+types/layout-app.ts +++ /dev/null @@ -1,42 +0,0 @@ -// React Router generated types for route: -// features/app/layout-app.tsx - -import type * as T from "react-router/route-module" - -import type { Info as Parent0 } from "../../../+types/root.js" - -type Module = typeof import("../layout-app.js") - -export type Info = { - parents: [Parent0], - id: "features/app/layout-app" - file: "features/app/layout-app.tsx" - path: "undefined" - params: {} & { [key: string]: string | undefined } - module: Module - loaderData: T.CreateLoaderData - actionData: T.CreateActionData -} - -export namespace Route { - export type LinkDescriptors = T.LinkDescriptors - export type LinksFunction = () => LinkDescriptors - - export type MetaArgs = T.CreateMetaArgs - export type MetaDescriptors = T.MetaDescriptors - export type MetaFunction = (args: MetaArgs) => MetaDescriptors - - export type HeadersArgs = T.HeadersArgs - export type HeadersFunction = (args: HeadersArgs) => Headers | HeadersInit - - export type unstable_MiddlewareFunction = T.CreateServerMiddlewareFunction - export type unstable_ClientMiddlewareFunction = T.CreateClientMiddlewareFunction - export type LoaderArgs = T.CreateServerLoaderArgs - export type ClientLoaderArgs = T.CreateClientLoaderArgs - export type ActionArgs = T.CreateServerActionArgs - export type ClientActionArgs = T.CreateClientActionArgs - - export type HydrateFallbackProps = T.CreateHydrateFallbackProps - export type ComponentProps = T.CreateComponentProps - export type ErrorBoundaryProps = T.CreateErrorBoundaryProps -} \ No newline at end of file diff --git a/.react-router/types/app/features/app/+types/route-dashboard.ts b/.react-router/types/app/features/app/+types/route-dashboard.ts deleted file mode 100644 index ad1d6ae..0000000 --- a/.react-router/types/app/features/app/+types/route-dashboard.ts +++ /dev/null @@ -1,43 +0,0 @@ -// React Router generated types for route: -// features/app/route-dashboard.tsx - -import type * as T from "react-router/route-module" - -import type { Info as Parent0 } from "../../../+types/root.js" -import type { Info as Parent1 } from "./layout-app.js" - -type Module = typeof import("../route-dashboard.js") - -export type Info = { - parents: [Parent0, Parent1], - id: "features/app/route-dashboard" - file: "features/app/route-dashboard.tsx" - path: "dashboard" - params: {} & { [key: string]: string | undefined } - module: Module - loaderData: T.CreateLoaderData - actionData: T.CreateActionData -} - -export namespace Route { - export type LinkDescriptors = T.LinkDescriptors - export type LinksFunction = () => LinkDescriptors - - export type MetaArgs = T.CreateMetaArgs - export type MetaDescriptors = T.MetaDescriptors - export type MetaFunction = (args: MetaArgs) => MetaDescriptors - - export type HeadersArgs = T.HeadersArgs - export type HeadersFunction = (args: HeadersArgs) => Headers | HeadersInit - - export type unstable_MiddlewareFunction = T.CreateServerMiddlewareFunction - export type unstable_ClientMiddlewareFunction = T.CreateClientMiddlewareFunction - export type LoaderArgs = T.CreateServerLoaderArgs - export type ClientLoaderArgs = T.CreateClientLoaderArgs - export type ActionArgs = T.CreateServerActionArgs - export type ClientActionArgs = T.CreateClientActionArgs - - export type HydrateFallbackProps = T.CreateHydrateFallbackProps - export type ComponentProps = T.CreateComponentProps - export type ErrorBoundaryProps = T.CreateErrorBoundaryProps -} \ No newline at end of file diff --git a/.react-router/types/app/features/auth/+types/layout-auth.ts b/.react-router/types/app/features/auth/+types/layout-auth.ts deleted file mode 100644 index 6148860..0000000 --- a/.react-router/types/app/features/auth/+types/layout-auth.ts +++ /dev/null @@ -1,42 +0,0 @@ -// React Router generated types for route: -// features/auth/layout-auth.tsx - -import type * as T from "react-router/route-module" - -import type { Info as Parent0 } from "../../../+types/root.js" - -type Module = typeof import("../layout-auth.js") - -export type Info = { - parents: [Parent0], - id: "features/auth/layout-auth" - file: "features/auth/layout-auth.tsx" - path: "undefined" - params: {} & { [key: string]: string | undefined } - module: Module - loaderData: T.CreateLoaderData - actionData: T.CreateActionData -} - -export namespace Route { - export type LinkDescriptors = T.LinkDescriptors - export type LinksFunction = () => LinkDescriptors - - export type MetaArgs = T.CreateMetaArgs - export type MetaDescriptors = T.MetaDescriptors - export type MetaFunction = (args: MetaArgs) => MetaDescriptors - - export type HeadersArgs = T.HeadersArgs - export type HeadersFunction = (args: HeadersArgs) => Headers | HeadersInit - - export type unstable_MiddlewareFunction = T.CreateServerMiddlewareFunction - export type unstable_ClientMiddlewareFunction = T.CreateClientMiddlewareFunction - export type LoaderArgs = T.CreateServerLoaderArgs - export type ClientLoaderArgs = T.CreateClientLoaderArgs - export type ActionArgs = T.CreateServerActionArgs - export type ClientActionArgs = T.CreateClientActionArgs - - export type HydrateFallbackProps = T.CreateHydrateFallbackProps - export type ComponentProps = T.CreateComponentProps - export type ErrorBoundaryProps = T.CreateErrorBoundaryProps -} \ No newline at end of file diff --git a/.react-router/types/app/features/auth/+types/route-login.ts b/.react-router/types/app/features/auth/+types/route-login.ts deleted file mode 100644 index 4abf84b..0000000 --- a/.react-router/types/app/features/auth/+types/route-login.ts +++ /dev/null @@ -1,43 +0,0 @@ -// React Router generated types for route: -// features/auth/route-login.tsx - -import type * as T from "react-router/route-module" - -import type { Info as Parent0 } from "../../../+types/root.js" -import type { Info as Parent1 } from "./layout-auth.js" - -type Module = typeof import("../route-login.js") - -export type Info = { - parents: [Parent0, Parent1], - id: "features/auth/route-login" - file: "features/auth/route-login.tsx" - path: "login" - params: {} & { [key: string]: string | undefined } - module: Module - loaderData: T.CreateLoaderData - actionData: T.CreateActionData -} - -export namespace Route { - export type LinkDescriptors = T.LinkDescriptors - export type LinksFunction = () => LinkDescriptors - - export type MetaArgs = T.CreateMetaArgs - export type MetaDescriptors = T.MetaDescriptors - export type MetaFunction = (args: MetaArgs) => MetaDescriptors - - export type HeadersArgs = T.HeadersArgs - export type HeadersFunction = (args: HeadersArgs) => Headers | HeadersInit - - export type unstable_MiddlewareFunction = T.CreateServerMiddlewareFunction - export type unstable_ClientMiddlewareFunction = T.CreateClientMiddlewareFunction - export type LoaderArgs = T.CreateServerLoaderArgs - export type ClientLoaderArgs = T.CreateClientLoaderArgs - export type ActionArgs = T.CreateServerActionArgs - export type ClientActionArgs = T.CreateClientActionArgs - - export type HydrateFallbackProps = T.CreateHydrateFallbackProps - export type ComponentProps = T.CreateComponentProps - export type ErrorBoundaryProps = T.CreateErrorBoundaryProps -} \ No newline at end of file diff --git a/.react-router/types/app/features/auth/+types/route-logout.ts b/.react-router/types/app/features/auth/+types/route-logout.ts deleted file mode 100644 index 6d78d62..0000000 --- a/.react-router/types/app/features/auth/+types/route-logout.ts +++ /dev/null @@ -1,43 +0,0 @@ -// React Router generated types for route: -// features/auth/route-logout.tsx - -import type * as T from "react-router/route-module" - -import type { Info as Parent0 } from "../../../+types/root.js" -import type { Info as Parent1 } from "./layout-auth.js" - -type Module = typeof import("../route-logout.js") - -export type Info = { - parents: [Parent0, Parent1], - id: "features/auth/route-logout" - file: "features/auth/route-logout.tsx" - path: "logout" - params: {} & { [key: string]: string | undefined } - module: Module - loaderData: T.CreateLoaderData - actionData: T.CreateActionData -} - -export namespace Route { - export type LinkDescriptors = T.LinkDescriptors - export type LinksFunction = () => LinkDescriptors - - export type MetaArgs = T.CreateMetaArgs - export type MetaDescriptors = T.MetaDescriptors - export type MetaFunction = (args: MetaArgs) => MetaDescriptors - - export type HeadersArgs = T.HeadersArgs - export type HeadersFunction = (args: HeadersArgs) => Headers | HeadersInit - - export type unstable_MiddlewareFunction = T.CreateServerMiddlewareFunction - export type unstable_ClientMiddlewareFunction = T.CreateClientMiddlewareFunction - export type LoaderArgs = T.CreateServerLoaderArgs - export type ClientLoaderArgs = T.CreateClientLoaderArgs - export type ActionArgs = T.CreateServerActionArgs - export type ClientActionArgs = T.CreateClientActionArgs - - export type HydrateFallbackProps = T.CreateHydrateFallbackProps - export type ComponentProps = T.CreateComponentProps - export type ErrorBoundaryProps = T.CreateErrorBoundaryProps -} \ No newline at end of file diff --git a/.react-router/types/app/features/dev/+types/dev-feature-components.ts b/.react-router/types/app/features/dev/+types/dev-feature-components.ts deleted file mode 100644 index 54e62d5..0000000 --- a/.react-router/types/app/features/dev/+types/dev-feature-components.ts +++ /dev/null @@ -1,43 +0,0 @@ -// React Router generated types for route: -// ./features/dev/dev-feature-components.tsx - -import type * as T from "react-router/route-module" - -import type { Info as Parent0 } from "../../../+types/root.js" -import type { Info as Parent1 } from "./layout-dev.js" - -type Module = typeof import("../dev-feature-components.js") - -export type Info = { - parents: [Parent0, Parent1], - id: "features/dev/dev-feature-components" - file: "./features/dev/dev-feature-components.tsx" - path: "dev/components" - params: {} & { [key: string]: string | undefined } - module: Module - loaderData: T.CreateLoaderData - actionData: T.CreateActionData -} - -export namespace Route { - export type LinkDescriptors = T.LinkDescriptors - export type LinksFunction = () => LinkDescriptors - - export type MetaArgs = T.CreateMetaArgs - export type MetaDescriptors = T.MetaDescriptors - export type MetaFunction = (args: MetaArgs) => MetaDescriptors - - export type HeadersArgs = T.HeadersArgs - export type HeadersFunction = (args: HeadersArgs) => Headers | HeadersInit - - export type unstable_MiddlewareFunction = T.CreateServerMiddlewareFunction - export type unstable_ClientMiddlewareFunction = T.CreateClientMiddlewareFunction - export type LoaderArgs = T.CreateServerLoaderArgs - export type ClientLoaderArgs = T.CreateClientLoaderArgs - export type ActionArgs = T.CreateServerActionArgs - export type ClientActionArgs = T.CreateClientActionArgs - - export type HydrateFallbackProps = T.CreateHydrateFallbackProps - export type ComponentProps = T.CreateComponentProps - export type ErrorBoundaryProps = T.CreateErrorBoundaryProps -} \ No newline at end of file diff --git a/.react-router/types/app/features/dev/+types/dev-feature-index.ts b/.react-router/types/app/features/dev/+types/dev-feature-index.ts deleted file mode 100644 index d0cb07e..0000000 --- a/.react-router/types/app/features/dev/+types/dev-feature-index.ts +++ /dev/null @@ -1,43 +0,0 @@ -// React Router generated types for route: -// ./features/dev/dev-feature-index.tsx - -import type * as T from "react-router/route-module" - -import type { Info as Parent0 } from "../../../+types/root.js" -import type { Info as Parent1 } from "./layout-dev.js" - -type Module = typeof import("../dev-feature-index.js") - -export type Info = { - parents: [Parent0, Parent1], - id: "features/dev/dev-feature-index" - file: "./features/dev/dev-feature-index.tsx" - path: "dev" - params: {} & { [key: string]: string | undefined } - module: Module - loaderData: T.CreateLoaderData - actionData: T.CreateActionData -} - -export namespace Route { - export type LinkDescriptors = T.LinkDescriptors - export type LinksFunction = () => LinkDescriptors - - export type MetaArgs = T.CreateMetaArgs - export type MetaDescriptors = T.MetaDescriptors - export type MetaFunction = (args: MetaArgs) => MetaDescriptors - - export type HeadersArgs = T.HeadersArgs - export type HeadersFunction = (args: HeadersArgs) => Headers | HeadersInit - - export type unstable_MiddlewareFunction = T.CreateServerMiddlewareFunction - export type unstable_ClientMiddlewareFunction = T.CreateClientMiddlewareFunction - export type LoaderArgs = T.CreateServerLoaderArgs - export type ClientLoaderArgs = T.CreateClientLoaderArgs - export type ActionArgs = T.CreateServerActionArgs - export type ClientActionArgs = T.CreateClientActionArgs - - export type HydrateFallbackProps = T.CreateHydrateFallbackProps - export type ComponentProps = T.CreateComponentProps - export type ErrorBoundaryProps = T.CreateErrorBoundaryProps -} \ No newline at end of file diff --git a/.react-router/types/app/features/dev/+types/dev-feature-new.ts b/.react-router/types/app/features/dev/+types/dev-feature-new.ts deleted file mode 100644 index d8ea7af..0000000 --- a/.react-router/types/app/features/dev/+types/dev-feature-new.ts +++ /dev/null @@ -1,43 +0,0 @@ -// React Router generated types for route: -// ./features/dev/dev-feature-new.tsx - -import type * as T from "react-router/route-module" - -import type { Info as Parent0 } from "../../../+types/root.js" -import type { Info as Parent1 } from "./layout-dev.js" - -type Module = typeof import("../dev-feature-new.js") - -export type Info = { - parents: [Parent0, Parent1], - id: "features/dev/dev-feature-new" - file: "./features/dev/dev-feature-new.tsx" - path: "dev/new" - params: {} & { [key: string]: string | undefined } - module: Module - loaderData: T.CreateLoaderData - actionData: T.CreateActionData -} - -export namespace Route { - export type LinkDescriptors = T.LinkDescriptors - export type LinksFunction = () => LinkDescriptors - - export type MetaArgs = T.CreateMetaArgs - export type MetaDescriptors = T.MetaDescriptors - export type MetaFunction = (args: MetaArgs) => MetaDescriptors - - export type HeadersArgs = T.HeadersArgs - export type HeadersFunction = (args: HeadersArgs) => Headers | HeadersInit - - export type unstable_MiddlewareFunction = T.CreateServerMiddlewareFunction - export type unstable_ClientMiddlewareFunction = T.CreateClientMiddlewareFunction - export type LoaderArgs = T.CreateServerLoaderArgs - export type ClientLoaderArgs = T.CreateClientLoaderArgs - export type ActionArgs = T.CreateServerActionArgs - export type ClientActionArgs = T.CreateClientActionArgs - - export type HydrateFallbackProps = T.CreateHydrateFallbackProps - export type ComponentProps = T.CreateComponentProps - export type ErrorBoundaryProps = T.CreateErrorBoundaryProps -} \ No newline at end of file diff --git a/.react-router/types/app/features/dev/+types/layout-dev.ts b/.react-router/types/app/features/dev/+types/layout-dev.ts deleted file mode 100644 index d85db95..0000000 --- a/.react-router/types/app/features/dev/+types/layout-dev.ts +++ /dev/null @@ -1,42 +0,0 @@ -// React Router generated types for route: -// ./features/dev/layout-dev.tsx - -import type * as T from "react-router/route-module" - -import type { Info as Parent0 } from "../../../+types/root.js" - -type Module = typeof import("../layout-dev.js") - -export type Info = { - parents: [Parent0], - id: "features/dev/layout-dev" - file: "./features/dev/layout-dev.tsx" - path: "undefined" - params: {} & { [key: string]: string | undefined } - module: Module - loaderData: T.CreateLoaderData - actionData: T.CreateActionData -} - -export namespace Route { - export type LinkDescriptors = T.LinkDescriptors - export type LinksFunction = () => LinkDescriptors - - export type MetaArgs = T.CreateMetaArgs - export type MetaDescriptors = T.MetaDescriptors - export type MetaFunction = (args: MetaArgs) => MetaDescriptors - - export type HeadersArgs = T.HeadersArgs - export type HeadersFunction = (args: HeadersArgs) => Headers | HeadersInit - - export type unstable_MiddlewareFunction = T.CreateServerMiddlewareFunction - export type unstable_ClientMiddlewareFunction = T.CreateClientMiddlewareFunction - export type LoaderArgs = T.CreateServerLoaderArgs - export type ClientLoaderArgs = T.CreateClientLoaderArgs - export type ActionArgs = T.CreateServerActionArgs - export type ClientActionArgs = T.CreateClientActionArgs - - export type HydrateFallbackProps = T.CreateHydrateFallbackProps - export type ComponentProps = T.CreateComponentProps - export type ErrorBoundaryProps = T.CreateErrorBoundaryProps -} \ No newline at end of file diff --git a/.react-router/types/app/features/homepage/+types/layout-homepage.ts b/.react-router/types/app/features/homepage/+types/layout-homepage.ts deleted file mode 100644 index 535d2e7..0000000 --- a/.react-router/types/app/features/homepage/+types/layout-homepage.ts +++ /dev/null @@ -1,42 +0,0 @@ -// React Router generated types for route: -// features/homepage/layout-homepage.tsx - -import type * as T from "react-router/route-module" - -import type { Info as Parent0 } from "../../../+types/root.js" - -type Module = typeof import("../layout-homepage.js") - -export type Info = { - parents: [Parent0], - id: "features/homepage/layout-homepage" - file: "features/homepage/layout-homepage.tsx" - path: "undefined" - params: {} & { [key: string]: string | undefined } - module: Module - loaderData: T.CreateLoaderData - actionData: T.CreateActionData -} - -export namespace Route { - export type LinkDescriptors = T.LinkDescriptors - export type LinksFunction = () => LinkDescriptors - - export type MetaArgs = T.CreateMetaArgs - export type MetaDescriptors = T.MetaDescriptors - export type MetaFunction = (args: MetaArgs) => MetaDescriptors - - export type HeadersArgs = T.HeadersArgs - export type HeadersFunction = (args: HeadersArgs) => Headers | HeadersInit - - export type unstable_MiddlewareFunction = T.CreateServerMiddlewareFunction - export type unstable_ClientMiddlewareFunction = T.CreateClientMiddlewareFunction - export type LoaderArgs = T.CreateServerLoaderArgs - export type ClientLoaderArgs = T.CreateClientLoaderArgs - export type ActionArgs = T.CreateServerActionArgs - export type ClientActionArgs = T.CreateClientActionArgs - - export type HydrateFallbackProps = T.CreateHydrateFallbackProps - export type ComponentProps = T.CreateComponentProps - export type ErrorBoundaryProps = T.CreateErrorBoundaryProps -} \ No newline at end of file diff --git a/.react-router/types/app/features/homepage/+types/route-about.ts b/.react-router/types/app/features/homepage/+types/route-about.ts deleted file mode 100644 index be09b88..0000000 --- a/.react-router/types/app/features/homepage/+types/route-about.ts +++ /dev/null @@ -1,43 +0,0 @@ -// React Router generated types for route: -// features/homepage/route-about.tsx - -import type * as T from "react-router/route-module" - -import type { Info as Parent0 } from "../../../+types/root.js" -import type { Info as Parent1 } from "./layout-homepage.js" - -type Module = typeof import("../route-about.js") - -export type Info = { - parents: [Parent0, Parent1], - id: "features/homepage/route-about" - file: "features/homepage/route-about.tsx" - path: "about" - params: {} & { [key: string]: string | undefined } - module: Module - loaderData: T.CreateLoaderData - actionData: T.CreateActionData -} - -export namespace Route { - export type LinkDescriptors = T.LinkDescriptors - export type LinksFunction = () => LinkDescriptors - - export type MetaArgs = T.CreateMetaArgs - export type MetaDescriptors = T.MetaDescriptors - export type MetaFunction = (args: MetaArgs) => MetaDescriptors - - export type HeadersArgs = T.HeadersArgs - export type HeadersFunction = (args: HeadersArgs) => Headers | HeadersInit - - export type unstable_MiddlewareFunction = T.CreateServerMiddlewareFunction - export type unstable_ClientMiddlewareFunction = T.CreateClientMiddlewareFunction - export type LoaderArgs = T.CreateServerLoaderArgs - export type ClientLoaderArgs = T.CreateClientLoaderArgs - export type ActionArgs = T.CreateServerActionArgs - export type ClientActionArgs = T.CreateClientActionArgs - - export type HydrateFallbackProps = T.CreateHydrateFallbackProps - export type ComponentProps = T.CreateComponentProps - export type ErrorBoundaryProps = T.CreateErrorBoundaryProps -} \ No newline at end of file diff --git a/.react-router/types/app/features/homepage/+types/route-index.ts b/.react-router/types/app/features/homepage/+types/route-index.ts deleted file mode 100644 index 1dbe545..0000000 --- a/.react-router/types/app/features/homepage/+types/route-index.ts +++ /dev/null @@ -1,43 +0,0 @@ -// React Router generated types for route: -// features/homepage/route-index.tsx - -import type * as T from "react-router/route-module" - -import type { Info as Parent0 } from "../../../+types/root.js" -import type { Info as Parent1 } from "./layout-homepage.js" - -type Module = typeof import("../route-index.js") - -export type Info = { - parents: [Parent0, Parent1], - id: "features/homepage/route-index" - file: "features/homepage/route-index.tsx" - path: "undefined" - params: {} & { [key: string]: string | undefined } - module: Module - loaderData: T.CreateLoaderData - actionData: T.CreateActionData -} - -export namespace Route { - export type LinkDescriptors = T.LinkDescriptors - export type LinksFunction = () => LinkDescriptors - - export type MetaArgs = T.CreateMetaArgs - export type MetaDescriptors = T.MetaDescriptors - export type MetaFunction = (args: MetaArgs) => MetaDescriptors - - export type HeadersArgs = T.HeadersArgs - export type HeadersFunction = (args: HeadersArgs) => Headers | HeadersInit - - export type unstable_MiddlewareFunction = T.CreateServerMiddlewareFunction - export type unstable_ClientMiddlewareFunction = T.CreateClientMiddlewareFunction - export type LoaderArgs = T.CreateServerLoaderArgs - export type ClientLoaderArgs = T.CreateClientLoaderArgs - export type ActionArgs = T.CreateServerActionArgs - export type ClientActionArgs = T.CreateClientActionArgs - - export type HydrateFallbackProps = T.CreateHydrateFallbackProps - export type ComponentProps = T.CreateComponentProps - export type ErrorBoundaryProps = T.CreateErrorBoundaryProps -} \ No newline at end of file diff --git a/.react-router/types/app/features/onboarding/+types/layout-onboarding.ts b/.react-router/types/app/features/onboarding/+types/layout-onboarding.ts deleted file mode 100644 index 9209e69..0000000 --- a/.react-router/types/app/features/onboarding/+types/layout-onboarding.ts +++ /dev/null @@ -1,42 +0,0 @@ -// React Router generated types for route: -// features/onboarding/layout-onboarding.tsx - -import type * as T from "react-router/route-module" - -import type { Info as Parent0 } from "../../../+types/root.js" - -type Module = typeof import("../layout-onboarding.js") - -export type Info = { - parents: [Parent0], - id: "features/onboarding/layout-onboarding" - file: "features/onboarding/layout-onboarding.tsx" - path: "undefined" - params: {} & { [key: string]: string | undefined } - module: Module - loaderData: T.CreateLoaderData - actionData: T.CreateActionData -} - -export namespace Route { - export type LinkDescriptors = T.LinkDescriptors - export type LinksFunction = () => LinkDescriptors - - export type MetaArgs = T.CreateMetaArgs - export type MetaDescriptors = T.MetaDescriptors - export type MetaFunction = (args: MetaArgs) => MetaDescriptors - - export type HeadersArgs = T.HeadersArgs - export type HeadersFunction = (args: HeadersArgs) => Headers | HeadersInit - - export type unstable_MiddlewareFunction = T.CreateServerMiddlewareFunction - export type unstable_ClientMiddlewareFunction = T.CreateClientMiddlewareFunction - export type LoaderArgs = T.CreateServerLoaderArgs - export type ClientLoaderArgs = T.CreateClientLoaderArgs - export type ActionArgs = T.CreateServerActionArgs - export type ClientActionArgs = T.CreateClientActionArgs - - export type HydrateFallbackProps = T.CreateHydrateFallbackProps - export type ComponentProps = T.CreateComponentProps - export type ErrorBoundaryProps = T.CreateErrorBoundaryProps -} \ No newline at end of file diff --git a/.react-router/types/app/features/onboarding/+types/onboarding-done-feature.ts b/.react-router/types/app/features/onboarding/+types/onboarding-done-feature.ts deleted file mode 100644 index f9d1a75..0000000 --- a/.react-router/types/app/features/onboarding/+types/onboarding-done-feature.ts +++ /dev/null @@ -1,43 +0,0 @@ -// React Router generated types for route: -// ./features/onboarding/onboarding-done-feature.tsx - -import type * as T from "react-router/route-module" - -import type { Info as Parent0 } from "../../../+types/root.js" -import type { Info as Parent1 } from "./layout-onboarding.js" - -type Module = typeof import("../onboarding-done-feature.js") - -export type Info = { - parents: [Parent0, Parent1], - id: "features/onboarding/onboarding-done-feature" - file: "./features/onboarding/onboarding-done-feature.tsx" - path: "onboarding/done" - params: {} & { [key: string]: string | undefined } - module: Module - loaderData: T.CreateLoaderData - actionData: T.CreateActionData -} - -export namespace Route { - export type LinkDescriptors = T.LinkDescriptors - export type LinksFunction = () => LinkDescriptors - - export type MetaArgs = T.CreateMetaArgs - export type MetaDescriptors = T.MetaDescriptors - export type MetaFunction = (args: MetaArgs) => MetaDescriptors - - export type HeadersArgs = T.HeadersArgs - export type HeadersFunction = (args: HeadersArgs) => Headers | HeadersInit - - export type unstable_MiddlewareFunction = T.CreateServerMiddlewareFunction - export type unstable_ClientMiddlewareFunction = T.CreateClientMiddlewareFunction - export type LoaderArgs = T.CreateServerLoaderArgs - export type ClientLoaderArgs = T.CreateClientLoaderArgs - export type ActionArgs = T.CreateServerActionArgs - export type ClientActionArgs = T.CreateClientActionArgs - - export type HydrateFallbackProps = T.CreateHydrateFallbackProps - export type ComponentProps = T.CreateComponentProps - export type ErrorBoundaryProps = T.CreateErrorBoundaryProps -} \ No newline at end of file diff --git a/.react-router/types/app/features/onboarding/+types/onboarding-profile-feature.ts b/.react-router/types/app/features/onboarding/+types/onboarding-profile-feature.ts deleted file mode 100644 index f85294e..0000000 --- a/.react-router/types/app/features/onboarding/+types/onboarding-profile-feature.ts +++ /dev/null @@ -1,43 +0,0 @@ -// React Router generated types for route: -// ./features/onboarding/onboarding-profile-feature.tsx - -import type * as T from "react-router/route-module" - -import type { Info as Parent0 } from "../../../+types/root.js" -import type { Info as Parent1 } from "./layout-onboarding.js" - -type Module = typeof import("../onboarding-profile-feature.js") - -export type Info = { - parents: [Parent0, Parent1], - id: "features/onboarding/onboarding-profile-feature" - file: "./features/onboarding/onboarding-profile-feature.tsx" - path: "onboarding/profile" - params: {} & { [key: string]: string | undefined } - module: Module - loaderData: T.CreateLoaderData - actionData: T.CreateActionData -} - -export namespace Route { - export type LinkDescriptors = T.LinkDescriptors - export type LinksFunction = () => LinkDescriptors - - export type MetaArgs = T.CreateMetaArgs - export type MetaDescriptors = T.MetaDescriptors - export type MetaFunction = (args: MetaArgs) => MetaDescriptors - - export type HeadersArgs = T.HeadersArgs - export type HeadersFunction = (args: HeadersArgs) => Headers | HeadersInit - - export type unstable_MiddlewareFunction = T.CreateServerMiddlewareFunction - export type unstable_ClientMiddlewareFunction = T.CreateClientMiddlewareFunction - export type LoaderArgs = T.CreateServerLoaderArgs - export type ClientLoaderArgs = T.CreateClientLoaderArgs - export type ActionArgs = T.CreateServerActionArgs - export type ClientActionArgs = T.CreateClientActionArgs - - export type HydrateFallbackProps = T.CreateHydrateFallbackProps - export type ComponentProps = T.CreateComponentProps - export type ErrorBoundaryProps = T.CreateErrorBoundaryProps -} \ No newline at end of file diff --git a/.react-router/types/app/features/onboarding/+types/onboarding-socials-feature.ts b/.react-router/types/app/features/onboarding/+types/onboarding-socials-feature.ts deleted file mode 100644 index 50c1ef8..0000000 --- a/.react-router/types/app/features/onboarding/+types/onboarding-socials-feature.ts +++ /dev/null @@ -1,43 +0,0 @@ -// React Router generated types for route: -// ./features/onboarding/onboarding-socials-feature.tsx - -import type * as T from "react-router/route-module" - -import type { Info as Parent0 } from "../../../+types/root.js" -import type { Info as Parent1 } from "./layout-onboarding.js" - -type Module = typeof import("../onboarding-socials-feature.js") - -export type Info = { - parents: [Parent0, Parent1], - id: "features/onboarding/onboarding-socials-feature" - file: "./features/onboarding/onboarding-socials-feature.tsx" - path: "onboarding" - params: {} & { [key: string]: string | undefined } - module: Module - loaderData: T.CreateLoaderData - actionData: T.CreateActionData -} - -export namespace Route { - export type LinkDescriptors = T.LinkDescriptors - export type LinksFunction = () => LinkDescriptors - - export type MetaArgs = T.CreateMetaArgs - export type MetaDescriptors = T.MetaDescriptors - export type MetaFunction = (args: MetaArgs) => MetaDescriptors - - export type HeadersArgs = T.HeadersArgs - export type HeadersFunction = (args: HeadersArgs) => Headers | HeadersInit - - export type unstable_MiddlewareFunction = T.CreateServerMiddlewareFunction - export type unstable_ClientMiddlewareFunction = T.CreateClientMiddlewareFunction - export type LoaderArgs = T.CreateServerLoaderArgs - export type ClientLoaderArgs = T.CreateClientLoaderArgs - export type ActionArgs = T.CreateServerActionArgs - export type ClientActionArgs = T.CreateClientActionArgs - - export type HydrateFallbackProps = T.CreateHydrateFallbackProps - export type ComponentProps = T.CreateComponentProps - export type ErrorBoundaryProps = T.CreateErrorBoundaryProps -} \ No newline at end of file diff --git a/.react-router/types/app/features/onboarding/+types/onboarding-wallets-feature.ts b/.react-router/types/app/features/onboarding/+types/onboarding-wallets-feature.ts deleted file mode 100644 index 8cd8e38..0000000 --- a/.react-router/types/app/features/onboarding/+types/onboarding-wallets-feature.ts +++ /dev/null @@ -1,43 +0,0 @@ -// React Router generated types for route: -// ./features/onboarding/onboarding-wallets-feature.tsx - -import type * as T from "react-router/route-module" - -import type { Info as Parent0 } from "../../../+types/root.js" -import type { Info as Parent1 } from "./layout-onboarding.js" - -type Module = typeof import("../onboarding-wallets-feature.js") - -export type Info = { - parents: [Parent0, Parent1], - id: "features/onboarding/onboarding-wallets-feature" - file: "./features/onboarding/onboarding-wallets-feature.tsx" - path: "onboarding/wallets" - params: {} & { [key: string]: string | undefined } - module: Module - loaderData: T.CreateLoaderData - actionData: T.CreateActionData -} - -export namespace Route { - export type LinkDescriptors = T.LinkDescriptors - export type LinksFunction = () => LinkDescriptors - - export type MetaArgs = T.CreateMetaArgs - export type MetaDescriptors = T.MetaDescriptors - export type MetaFunction = (args: MetaArgs) => MetaDescriptors - - export type HeadersArgs = T.HeadersArgs - export type HeadersFunction = (args: HeadersArgs) => Headers | HeadersInit - - export type unstable_MiddlewareFunction = T.CreateServerMiddlewareFunction - export type unstable_ClientMiddlewareFunction = T.CreateClientMiddlewareFunction - export type LoaderArgs = T.CreateServerLoaderArgs - export type ClientLoaderArgs = T.CreateClientLoaderArgs - export type ActionArgs = T.CreateServerActionArgs - export type ClientActionArgs = T.CreateClientActionArgs - - export type HydrateFallbackProps = T.CreateHydrateFallbackProps - export type ComponentProps = T.CreateComponentProps - export type ErrorBoundaryProps = T.CreateErrorBoundaryProps -} \ No newline at end of file diff --git a/.react-router/types/app/features/profile/+types/profile-feature.ts b/.react-router/types/app/features/profile/+types/profile-feature.ts deleted file mode 100644 index 27dfe8f..0000000 --- a/.react-router/types/app/features/profile/+types/profile-feature.ts +++ /dev/null @@ -1,43 +0,0 @@ -// React Router generated types for route: -// features/profile/profile-feature.tsx - -import type * as T from "react-router/route-module" - -import type { Info as Parent0 } from "../../../+types/root.js" -import type { Info as Parent1 } from "../../app/+types/layout-app.js" - -type Module = typeof import("../profile-feature.js") - -export type Info = { - parents: [Parent0, Parent1], - id: "features/profile/profile-feature" - file: "features/profile/profile-feature.tsx" - path: "profile" - params: {} & { [key: string]: string | undefined } - module: Module - loaderData: T.CreateLoaderData - actionData: T.CreateActionData -} - -export namespace Route { - export type LinkDescriptors = T.LinkDescriptors - export type LinksFunction = () => LinkDescriptors - - export type MetaArgs = T.CreateMetaArgs - export type MetaDescriptors = T.MetaDescriptors - export type MetaFunction = (args: MetaArgs) => MetaDescriptors - - export type HeadersArgs = T.HeadersArgs - export type HeadersFunction = (args: HeadersArgs) => Headers | HeadersInit - - export type unstable_MiddlewareFunction = T.CreateServerMiddlewareFunction - export type unstable_ClientMiddlewareFunction = T.CreateClientMiddlewareFunction - export type LoaderArgs = T.CreateServerLoaderArgs - export type ClientLoaderArgs = T.CreateClientLoaderArgs - export type ActionArgs = T.CreateServerActionArgs - export type ClientActionArgs = T.CreateClientActionArgs - - export type HydrateFallbackProps = T.CreateHydrateFallbackProps - export type ComponentProps = T.CreateComponentProps - export type ErrorBoundaryProps = T.CreateErrorBoundaryProps -} \ No newline at end of file diff --git a/.react-router/types/app/features/pubkey/+types/pubkey-feature-community-create.ts b/.react-router/types/app/features/pubkey/+types/pubkey-feature-community-create.ts deleted file mode 100644 index 563a355..0000000 --- a/.react-router/types/app/features/pubkey/+types/pubkey-feature-community-create.ts +++ /dev/null @@ -1,43 +0,0 @@ -// React Router generated types for route: -// ./features/pubkey/pubkey-feature-community-create.tsx - -import type * as T from "react-router/route-module" - -import type { Info as Parent0 } from "../../../+types/root.js" -import type { Info as Parent1 } from "./pubkey-layout.js" - -type Module = typeof import("../pubkey-feature-community-create.js") - -export type Info = { - parents: [Parent0, Parent1], - id: "features/pubkey/pubkey-feature-community-create" - file: "./features/pubkey/pubkey-feature-community-create.tsx" - path: "pubkey/communities/create" - params: {} & { [key: string]: string | undefined } - module: Module - loaderData: T.CreateLoaderData - actionData: T.CreateActionData -} - -export namespace Route { - export type LinkDescriptors = T.LinkDescriptors - export type LinksFunction = () => LinkDescriptors - - export type MetaArgs = T.CreateMetaArgs - export type MetaDescriptors = T.MetaDescriptors - export type MetaFunction = (args: MetaArgs) => MetaDescriptors - - export type HeadersArgs = T.HeadersArgs - export type HeadersFunction = (args: HeadersArgs) => Headers | HeadersInit - - export type unstable_MiddlewareFunction = T.CreateServerMiddlewareFunction - export type unstable_ClientMiddlewareFunction = T.CreateClientMiddlewareFunction - export type LoaderArgs = T.CreateServerLoaderArgs - export type ClientLoaderArgs = T.CreateClientLoaderArgs - export type ActionArgs = T.CreateServerActionArgs - export type ClientActionArgs = T.CreateClientActionArgs - - export type HydrateFallbackProps = T.CreateHydrateFallbackProps - export type ComponentProps = T.CreateComponentProps - export type ErrorBoundaryProps = T.CreateErrorBoundaryProps -} \ No newline at end of file diff --git a/.react-router/types/app/features/pubkey/+types/pubkey-feature-community-detail.ts b/.react-router/types/app/features/pubkey/+types/pubkey-feature-community-detail.ts deleted file mode 100644 index a99beab..0000000 --- a/.react-router/types/app/features/pubkey/+types/pubkey-feature-community-detail.ts +++ /dev/null @@ -1,43 +0,0 @@ -// React Router generated types for route: -// ./features/pubkey/pubkey-feature-community-detail.tsx - -import type * as T from "react-router/route-module" - -import type { Info as Parent0 } from "../../../+types/root.js" -import type { Info as Parent1 } from "./pubkey-layout.js" - -type Module = typeof import("../pubkey-feature-community-detail.js") - -export type Info = { - parents: [Parent0, Parent1], - id: "features/pubkey/pubkey-feature-community-detail" - file: "./features/pubkey/pubkey-feature-community-detail.tsx" - path: "pubkey/communities/:community" - params: {"community": string} & { [key: string]: string | undefined } - module: Module - loaderData: T.CreateLoaderData - actionData: T.CreateActionData -} - -export namespace Route { - export type LinkDescriptors = T.LinkDescriptors - export type LinksFunction = () => LinkDescriptors - - export type MetaArgs = T.CreateMetaArgs - export type MetaDescriptors = T.MetaDescriptors - export type MetaFunction = (args: MetaArgs) => MetaDescriptors - - export type HeadersArgs = T.HeadersArgs - export type HeadersFunction = (args: HeadersArgs) => Headers | HeadersInit - - export type unstable_MiddlewareFunction = T.CreateServerMiddlewareFunction - export type unstable_ClientMiddlewareFunction = T.CreateClientMiddlewareFunction - export type LoaderArgs = T.CreateServerLoaderArgs - export type ClientLoaderArgs = T.CreateClientLoaderArgs - export type ActionArgs = T.CreateServerActionArgs - export type ClientActionArgs = T.CreateClientActionArgs - - export type HydrateFallbackProps = T.CreateHydrateFallbackProps - export type ComponentProps = T.CreateComponentProps - export type ErrorBoundaryProps = T.CreateErrorBoundaryProps -} \ No newline at end of file diff --git a/.react-router/types/app/features/pubkey/+types/pubkey-feature-community-list.ts b/.react-router/types/app/features/pubkey/+types/pubkey-feature-community-list.ts deleted file mode 100644 index 9b76054..0000000 --- a/.react-router/types/app/features/pubkey/+types/pubkey-feature-community-list.ts +++ /dev/null @@ -1,43 +0,0 @@ -// React Router generated types for route: -// ./features/pubkey/pubkey-feature-community-list.tsx - -import type * as T from "react-router/route-module" - -import type { Info as Parent0 } from "../../../+types/root.js" -import type { Info as Parent1 } from "./pubkey-layout.js" - -type Module = typeof import("../pubkey-feature-community-list.js") - -export type Info = { - parents: [Parent0, Parent1], - id: "features/pubkey/pubkey-feature-community-list" - file: "./features/pubkey/pubkey-feature-community-list.tsx" - path: "pubkey/communities" - params: {} & { [key: string]: string | undefined } - module: Module - loaderData: T.CreateLoaderData - actionData: T.CreateActionData -} - -export namespace Route { - export type LinkDescriptors = T.LinkDescriptors - export type LinksFunction = () => LinkDescriptors - - export type MetaArgs = T.CreateMetaArgs - export type MetaDescriptors = T.MetaDescriptors - export type MetaFunction = (args: MetaArgs) => MetaDescriptors - - export type HeadersArgs = T.HeadersArgs - export type HeadersFunction = (args: HeadersArgs) => Headers | HeadersInit - - export type unstable_MiddlewareFunction = T.CreateServerMiddlewareFunction - export type unstable_ClientMiddlewareFunction = T.CreateClientMiddlewareFunction - export type LoaderArgs = T.CreateServerLoaderArgs - export type ClientLoaderArgs = T.CreateClientLoaderArgs - export type ActionArgs = T.CreateServerActionArgs - export type ClientActionArgs = T.CreateClientActionArgs - - export type HydrateFallbackProps = T.CreateHydrateFallbackProps - export type ComponentProps = T.CreateComponentProps - export type ErrorBoundaryProps = T.CreateErrorBoundaryProps -} \ No newline at end of file diff --git a/.react-router/types/app/features/pubkey/+types/pubkey-feature-index.ts b/.react-router/types/app/features/pubkey/+types/pubkey-feature-index.ts deleted file mode 100644 index d8c1752..0000000 --- a/.react-router/types/app/features/pubkey/+types/pubkey-feature-index.ts +++ /dev/null @@ -1,43 +0,0 @@ -// React Router generated types for route: -// ./features/pubkey/pubkey-feature-index.tsx - -import type * as T from "react-router/route-module" - -import type { Info as Parent0 } from "../../../+types/root.js" -import type { Info as Parent1 } from "./pubkey-layout.js" - -type Module = typeof import("../pubkey-feature-index.js") - -export type Info = { - parents: [Parent0, Parent1], - id: "features/pubkey/pubkey-feature-index" - file: "./features/pubkey/pubkey-feature-index.tsx" - path: "pubkey" - params: {} & { [key: string]: string | undefined } - module: Module - loaderData: T.CreateLoaderData - actionData: T.CreateActionData -} - -export namespace Route { - export type LinkDescriptors = T.LinkDescriptors - export type LinksFunction = () => LinkDescriptors - - export type MetaArgs = T.CreateMetaArgs - export type MetaDescriptors = T.MetaDescriptors - export type MetaFunction = (args: MetaArgs) => MetaDescriptors - - export type HeadersArgs = T.HeadersArgs - export type HeadersFunction = (args: HeadersArgs) => Headers | HeadersInit - - export type unstable_MiddlewareFunction = T.CreateServerMiddlewareFunction - export type unstable_ClientMiddlewareFunction = T.CreateClientMiddlewareFunction - export type LoaderArgs = T.CreateServerLoaderArgs - export type ClientLoaderArgs = T.CreateClientLoaderArgs - export type ActionArgs = T.CreateServerActionArgs - export type ClientActionArgs = T.CreateClientActionArgs - - export type HydrateFallbackProps = T.CreateHydrateFallbackProps - export type ComponentProps = T.CreateComponentProps - export type ErrorBoundaryProps = T.CreateErrorBoundaryProps -} \ No newline at end of file diff --git a/.react-router/types/app/features/pubkey/+types/pubkey-feature-profile-create.ts b/.react-router/types/app/features/pubkey/+types/pubkey-feature-profile-create.ts deleted file mode 100644 index c68e632..0000000 --- a/.react-router/types/app/features/pubkey/+types/pubkey-feature-profile-create.ts +++ /dev/null @@ -1,43 +0,0 @@ -// React Router generated types for route: -// ./features/pubkey/pubkey-feature-profile-create.tsx - -import type * as T from "react-router/route-module" - -import type { Info as Parent0 } from "../../../+types/root.js" -import type { Info as Parent1 } from "./pubkey-layout.js" - -type Module = typeof import("../pubkey-feature-profile-create.js") - -export type Info = { - parents: [Parent0, Parent1], - id: "features/pubkey/pubkey-feature-profile-create" - file: "./features/pubkey/pubkey-feature-profile-create.tsx" - path: "pubkey/profiles/create" - params: {} & { [key: string]: string | undefined } - module: Module - loaderData: T.CreateLoaderData - actionData: T.CreateActionData -} - -export namespace Route { - export type LinkDescriptors = T.LinkDescriptors - export type LinksFunction = () => LinkDescriptors - - export type MetaArgs = T.CreateMetaArgs - export type MetaDescriptors = T.MetaDescriptors - export type MetaFunction = (args: MetaArgs) => MetaDescriptors - - export type HeadersArgs = T.HeadersArgs - export type HeadersFunction = (args: HeadersArgs) => Headers | HeadersInit - - export type unstable_MiddlewareFunction = T.CreateServerMiddlewareFunction - export type unstable_ClientMiddlewareFunction = T.CreateClientMiddlewareFunction - export type LoaderArgs = T.CreateServerLoaderArgs - export type ClientLoaderArgs = T.CreateClientLoaderArgs - export type ActionArgs = T.CreateServerActionArgs - export type ClientActionArgs = T.CreateClientActionArgs - - export type HydrateFallbackProps = T.CreateHydrateFallbackProps - export type ComponentProps = T.CreateComponentProps - export type ErrorBoundaryProps = T.CreateErrorBoundaryProps -} \ No newline at end of file diff --git a/.react-router/types/app/features/pubkey/+types/pubkey-feature-profile-detail.ts b/.react-router/types/app/features/pubkey/+types/pubkey-feature-profile-detail.ts deleted file mode 100644 index 8d4f0aa..0000000 --- a/.react-router/types/app/features/pubkey/+types/pubkey-feature-profile-detail.ts +++ /dev/null @@ -1,43 +0,0 @@ -// React Router generated types for route: -// ./features/pubkey/pubkey-feature-profile-detail.tsx - -import type * as T from "react-router/route-module" - -import type { Info as Parent0 } from "../../../+types/root.js" -import type { Info as Parent1 } from "./pubkey-layout.js" - -type Module = typeof import("../pubkey-feature-profile-detail.js") - -export type Info = { - parents: [Parent0, Parent1], - id: "features/pubkey/pubkey-feature-profile-detail" - file: "./features/pubkey/pubkey-feature-profile-detail.tsx" - path: "pubkey/profiles/:profile" - params: {"profile": string} & { [key: string]: string | undefined } - module: Module - loaderData: T.CreateLoaderData - actionData: T.CreateActionData -} - -export namespace Route { - export type LinkDescriptors = T.LinkDescriptors - export type LinksFunction = () => LinkDescriptors - - export type MetaArgs = T.CreateMetaArgs - export type MetaDescriptors = T.MetaDescriptors - export type MetaFunction = (args: MetaArgs) => MetaDescriptors - - export type HeadersArgs = T.HeadersArgs - export type HeadersFunction = (args: HeadersArgs) => Headers | HeadersInit - - export type unstable_MiddlewareFunction = T.CreateServerMiddlewareFunction - export type unstable_ClientMiddlewareFunction = T.CreateClientMiddlewareFunction - export type LoaderArgs = T.CreateServerLoaderArgs - export type ClientLoaderArgs = T.CreateClientLoaderArgs - export type ActionArgs = T.CreateServerActionArgs - export type ClientActionArgs = T.CreateClientActionArgs - - export type HydrateFallbackProps = T.CreateHydrateFallbackProps - export type ComponentProps = T.CreateComponentProps - export type ErrorBoundaryProps = T.CreateErrorBoundaryProps -} \ No newline at end of file diff --git a/.react-router/types/app/features/pubkey/+types/pubkey-feature-profile-list.ts b/.react-router/types/app/features/pubkey/+types/pubkey-feature-profile-list.ts deleted file mode 100644 index 193bff0..0000000 --- a/.react-router/types/app/features/pubkey/+types/pubkey-feature-profile-list.ts +++ /dev/null @@ -1,43 +0,0 @@ -// React Router generated types for route: -// ./features/pubkey/pubkey-feature-profile-list.tsx - -import type * as T from "react-router/route-module" - -import type { Info as Parent0 } from "../../../+types/root.js" -import type { Info as Parent1 } from "./pubkey-layout.js" - -type Module = typeof import("../pubkey-feature-profile-list.js") - -export type Info = { - parents: [Parent0, Parent1], - id: "features/pubkey/pubkey-feature-profile-list" - file: "./features/pubkey/pubkey-feature-profile-list.tsx" - path: "pubkey/profiles" - params: {} & { [key: string]: string | undefined } - module: Module - loaderData: T.CreateLoaderData - actionData: T.CreateActionData -} - -export namespace Route { - export type LinkDescriptors = T.LinkDescriptors - export type LinksFunction = () => LinkDescriptors - - export type MetaArgs = T.CreateMetaArgs - export type MetaDescriptors = T.MetaDescriptors - export type MetaFunction = (args: MetaArgs) => MetaDescriptors - - export type HeadersArgs = T.HeadersArgs - export type HeadersFunction = (args: HeadersArgs) => Headers | HeadersInit - - export type unstable_MiddlewareFunction = T.CreateServerMiddlewareFunction - export type unstable_ClientMiddlewareFunction = T.CreateClientMiddlewareFunction - export type LoaderArgs = T.CreateServerLoaderArgs - export type ClientLoaderArgs = T.CreateClientLoaderArgs - export type ActionArgs = T.CreateServerActionArgs - export type ClientActionArgs = T.CreateClientActionArgs - - export type HydrateFallbackProps = T.CreateHydrateFallbackProps - export type ComponentProps = T.CreateComponentProps - export type ErrorBoundaryProps = T.CreateErrorBoundaryProps -} \ No newline at end of file diff --git a/.react-router/types/app/features/pubkey/+types/pubkey-layout.ts b/.react-router/types/app/features/pubkey/+types/pubkey-layout.ts deleted file mode 100644 index 83a54d4..0000000 --- a/.react-router/types/app/features/pubkey/+types/pubkey-layout.ts +++ /dev/null @@ -1,42 +0,0 @@ -// React Router generated types for route: -// ./features/pubkey/pubkey-layout.tsx - -import type * as T from "react-router/route-module" - -import type { Info as Parent0 } from "../../../+types/root.js" - -type Module = typeof import("../pubkey-layout.js") - -export type Info = { - parents: [Parent0], - id: "features/pubkey/pubkey-layout" - file: "./features/pubkey/pubkey-layout.tsx" - path: "undefined" - params: {} & { [key: string]: string | undefined } - module: Module - loaderData: T.CreateLoaderData - actionData: T.CreateActionData -} - -export namespace Route { - export type LinkDescriptors = T.LinkDescriptors - export type LinksFunction = () => LinkDescriptors - - export type MetaArgs = T.CreateMetaArgs - export type MetaDescriptors = T.MetaDescriptors - export type MetaFunction = (args: MetaArgs) => MetaDescriptors - - export type HeadersArgs = T.HeadersArgs - export type HeadersFunction = (args: HeadersArgs) => Headers | HeadersInit - - export type unstable_MiddlewareFunction = T.CreateServerMiddlewareFunction - export type unstable_ClientMiddlewareFunction = T.CreateClientMiddlewareFunction - export type LoaderArgs = T.CreateServerLoaderArgs - export type ClientLoaderArgs = T.CreateClientLoaderArgs - export type ActionArgs = T.CreateServerActionArgs - export type ClientActionArgs = T.CreateClientActionArgs - - export type HydrateFallbackProps = T.CreateHydrateFallbackProps - export type ComponentProps = T.CreateComponentProps - export type ErrorBoundaryProps = T.CreateErrorBoundaryProps -} \ No newline at end of file diff --git a/.react-router/types/app/features/user/+types/admin-user-create.ts b/.react-router/types/app/features/user/+types/admin-user-create.ts deleted file mode 100644 index aa9602a..0000000 --- a/.react-router/types/app/features/user/+types/admin-user-create.ts +++ /dev/null @@ -1,43 +0,0 @@ -// React Router generated types for route: -// ./features/user/admin-user-create.tsx - -import type * as T from "react-router/route-module" - -import type { Info as Parent0 } from "../../../+types/root.js" -import type { Info as Parent1 } from "../../admin/+types/layout-admin.js" - -type Module = typeof import("../admin-user-create.js") - -export type Info = { - parents: [Parent0, Parent1], - id: "features/user/admin-user-create" - file: "./features/user/admin-user-create.tsx" - path: "admin/users/create" - params: {} & { [key: string]: string | undefined } - module: Module - loaderData: T.CreateLoaderData - actionData: T.CreateActionData -} - -export namespace Route { - export type LinkDescriptors = T.LinkDescriptors - export type LinksFunction = () => LinkDescriptors - - export type MetaArgs = T.CreateMetaArgs - export type MetaDescriptors = T.MetaDescriptors - export type MetaFunction = (args: MetaArgs) => MetaDescriptors - - export type HeadersArgs = T.HeadersArgs - export type HeadersFunction = (args: HeadersArgs) => Headers | HeadersInit - - export type unstable_MiddlewareFunction = T.CreateServerMiddlewareFunction - export type unstable_ClientMiddlewareFunction = T.CreateClientMiddlewareFunction - export type LoaderArgs = T.CreateServerLoaderArgs - export type ClientLoaderArgs = T.CreateClientLoaderArgs - export type ActionArgs = T.CreateServerActionArgs - export type ClientActionArgs = T.CreateClientActionArgs - - export type HydrateFallbackProps = T.CreateHydrateFallbackProps - export type ComponentProps = T.CreateComponentProps - export type ErrorBoundaryProps = T.CreateErrorBoundaryProps -} \ No newline at end of file diff --git a/.react-router/types/app/features/user/+types/admin-user-detail.ts b/.react-router/types/app/features/user/+types/admin-user-detail.ts deleted file mode 100644 index f41f174..0000000 --- a/.react-router/types/app/features/user/+types/admin-user-detail.ts +++ /dev/null @@ -1,43 +0,0 @@ -// React Router generated types for route: -// ./features/user/admin-user-detail.tsx - -import type * as T from "react-router/route-module" - -import type { Info as Parent0 } from "../../../+types/root.js" -import type { Info as Parent1 } from "../../admin/+types/layout-admin.js" - -type Module = typeof import("../admin-user-detail.js") - -export type Info = { - parents: [Parent0, Parent1], - id: "features/user/admin-user-detail" - file: "./features/user/admin-user-detail.tsx" - path: "admin/users/:id/*" - params: {"id": string; "*": string} & { [key: string]: string | undefined } - module: Module - loaderData: T.CreateLoaderData - actionData: T.CreateActionData -} - -export namespace Route { - export type LinkDescriptors = T.LinkDescriptors - export type LinksFunction = () => LinkDescriptors - - export type MetaArgs = T.CreateMetaArgs - export type MetaDescriptors = T.MetaDescriptors - export type MetaFunction = (args: MetaArgs) => MetaDescriptors - - export type HeadersArgs = T.HeadersArgs - export type HeadersFunction = (args: HeadersArgs) => Headers | HeadersInit - - export type unstable_MiddlewareFunction = T.CreateServerMiddlewareFunction - export type unstable_ClientMiddlewareFunction = T.CreateClientMiddlewareFunction - export type LoaderArgs = T.CreateServerLoaderArgs - export type ClientLoaderArgs = T.CreateClientLoaderArgs - export type ActionArgs = T.CreateServerActionArgs - export type ClientActionArgs = T.CreateClientActionArgs - - export type HydrateFallbackProps = T.CreateHydrateFallbackProps - export type ComponentProps = T.CreateComponentProps - export type ErrorBoundaryProps = T.CreateErrorBoundaryProps -} \ No newline at end of file diff --git a/.react-router/types/app/features/user/+types/admin-user-list.ts b/.react-router/types/app/features/user/+types/admin-user-list.ts deleted file mode 100644 index 4b41271..0000000 --- a/.react-router/types/app/features/user/+types/admin-user-list.ts +++ /dev/null @@ -1,43 +0,0 @@ -// React Router generated types for route: -// ./features/user/admin-user-list.tsx - -import type * as T from "react-router/route-module" - -import type { Info as Parent0 } from "../../../+types/root.js" -import type { Info as Parent1 } from "../../admin/+types/layout-admin.js" - -type Module = typeof import("../admin-user-list.js") - -export type Info = { - parents: [Parent0, Parent1], - id: "features/user/admin-user-list" - file: "./features/user/admin-user-list.tsx" - path: "admin/users" - params: {} & { [key: string]: string | undefined } - module: Module - loaderData: T.CreateLoaderData - actionData: T.CreateActionData -} - -export namespace Route { - export type LinkDescriptors = T.LinkDescriptors - export type LinksFunction = () => LinkDescriptors - - export type MetaArgs = T.CreateMetaArgs - export type MetaDescriptors = T.MetaDescriptors - export type MetaFunction = (args: MetaArgs) => MetaDescriptors - - export type HeadersArgs = T.HeadersArgs - export type HeadersFunction = (args: HeadersArgs) => Headers | HeadersInit - - export type unstable_MiddlewareFunction = T.CreateServerMiddlewareFunction - export type unstable_ClientMiddlewareFunction = T.CreateClientMiddlewareFunction - export type LoaderArgs = T.CreateServerLoaderArgs - export type ClientLoaderArgs = T.CreateClientLoaderArgs - export type ActionArgs = T.CreateServerActionArgs - export type ClientActionArgs = T.CreateClientActionArgs - - export type HydrateFallbackProps = T.CreateHydrateFallbackProps - export type ComponentProps = T.CreateComponentProps - export type ErrorBoundaryProps = T.CreateErrorBoundaryProps -} \ No newline at end of file diff --git a/README.md b/README.md index 0bcf902..2c02498 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,128 @@ -# Samui Stack - Web +# PubKey Protocol Demo -React Router v7 with Prisma and Mantine UI. \ No newline at end of file +A demonstration application for the PubKey Protocol, the social layer on Solana. + +The protocol allows users to link verified accounts from multiple identity providers to their profile on Solana. + +## Overview + +This demo is a working implementation of PubKey Protocol (currently) on Solana Devnet. It allows users to: + +- Create a Profile using a Solana wallet +- Link accounts from multiple identity providers (Discord, GitHub, Google, X/Twitter) +- Connect additional Solana wallets +- Set an avatar, display name, and bio + +## Prerequisites + +- Node.js (v20 or later) +- pnpm (v9 or later) +- Docker and Docker Compose (for local development with Postgres) +- Solana CLI tools +- Run `pnpm anchor localnet` in the [PubKey Protocol](https://github.com/pubkeyapp/pubkey-protocol) repo. + +## Getting Started + +### 1. Clone the repository + +```bash +git clone https://github.com/pubkeyapp/pubkey-protocol-demo.git +cd pubkey-protocol-demo +``` + +### 2. Install dependencies + +```bash +pnpm install +``` + +### 3. Set up environment variables + +Copy the example environment file and update it with your settings: + +```bash +cp .env.example .env +``` + +Required environment variables: + +- `COOKIE_SECRET`: Generate a random secret using `openssl rand -hex 32` +- `DATABASE_URL`: Postgres connection string (default: + `postgresql://pubkey-protocol-demo:pubkey-protocol-demo@localhost:5432/pubkey-protocol-demo?schema=public`) +- `DOMAIN`: Server domain (use `localhost` for local development) +- `PORT`: Server port (default: 3000) +- `SOLANA_FEE_PAYER_AUTHORITY`: Fee payer authority keypair (generate using `solana-keygen`) +- `SOLANA_FEE_PAYER_COMMUNITY`: Fee payer community keypair (generate using `solana-keygen`) +- `SOLANA_RPC_ENDPOINT`: Solana blockchain RPC endpoint (use `http://localhost:8899` for local development) + +### 4. Start the database + +```bash +pnpm dev:services +``` + +This will start a Postgres database using Docker Compose. + +### 5. Run the setup script to create the database and tables + +```bash +pnpm setup +``` + +### 6. Run the application in development mode + +Make sure you are running the [PubKey Protocol](https://github.com/pubkeyapp/pubkey-protocol) localnet. + +```bash +pnpm dev +``` + +The application will be available at http://localhost:5173. + +## Building for Production + +To build the application for production: + +```bash +pnpm build +``` + +To start the production server: + +```bash +pnpm start +``` + +## Docker Support + +You can build and run the application using Docker: + +```bash +# Build the Docker image +pnpm docker:build + +# Run the Docker container +pnpm docker:run +``` + +## Solana Validator + +For local development with Solana, you can run a test validator: + +```bash +pnpm validator +``` + +## Project Structure + +- `app/`: Main application code + - `api/`: API endpoints + - `features/`: Feature-specific components and logic + - `lib/`: Utility functions and shared code + - `pubkey/`: PubKey protocol integration + - `ui/`: UI components +- `prisma/`: Database schema and migrations + +## License + +See [LICENSE](LICENSE) file for details. diff --git a/app/app.css b/app/app.css index bc38b15..93bf4b6 100644 --- a/app/app.css +++ b/app/app.css @@ -1,6 +1,6 @@ -@import "@mantine/core/styles.css"; -@import "@mantine/notifications/styles.css"; -@import "@mantine/code-highlight/styles.css"; +@import '@mantine/core/styles.css'; +@import '@mantine/notifications/styles.css'; +@import '@mantine/code-highlight/styles.css'; html, body, diff --git a/app/features/app/layout-app.tsx b/app/features/app/layout-app.tsx index 55f44a9..0107b6c 100644 --- a/app/features/app/layout-app.tsx +++ b/app/features/app/layout-app.tsx @@ -1,16 +1,16 @@ import React from 'react' import { redirect } from 'react-router' -import { ensureUser } from '~/features/auth/data-access/ensure-user' import { UiFooter } from '~/ui/ui-footer' import type { UiHeaderLink } from '~/ui/ui-header' import { UiLayout } from '~/ui/ui-layout' -import { UiProfileMenu } from '~/ui/ui-profile-menu' import type { Route } from './+types/layout-app' import { Group } from '@mantine/core' import { WalletMultiIcon } from '@pubkeyapp/wallet-adapter-mantine-ui' +import { getUser } from '~/features/auth/data-access/get-user' +import { UiProfileAvatar } from '~/ui/ui-profile-avatar' export async function loader({ request }: Route.LoaderArgs) { - const user = await ensureUser(request) + const user = await getUser(request) if (!user) { return redirect('/login') } @@ -22,6 +22,7 @@ export default function LayoutApp({ loaderData: { user } }: Route.ComponentProps const links: UiHeaderLink[] = [ { label: 'Dashboard', to: '/dashboard' }, { label: 'Profile', to: '/profile' }, + { label: 'Solana', to: '/solana' }, ] if (user.admin) { links.push({ label: 'Admin', to: '/admin' }) @@ -32,8 +33,8 @@ export default function LayoutApp({ loaderData: { user } }: Route.ComponentProps headerLinks={links} headerProfile={ - - + + } footer={} diff --git a/app/features/app/route-dashboard.tsx b/app/features/app/route-dashboard.tsx index fddd1dc..7d399ad 100644 --- a/app/features/app/route-dashboard.tsx +++ b/app/features/app/route-dashboard.tsx @@ -1,17 +1,24 @@ -import { Stack } from '@mantine/core' +import { Accordion, Stack, Text } from '@mantine/core' import { ensureUser } from '~/features/auth/data-access/ensure-user' import { appMeta } from '~/lib/app-meta' -import { UiCard } from '~/ui/ui-card' import { UiContainer } from '~/ui/ui-container' -import { useThemes } from '~/ui/use-themes' import type { Route } from './+types/route-dashboard' -import { WalletMultiButton } from '@pubkeyapp/wallet-adapter-mantine-ui' import { redirect } from 'react-router' +import React, { useMemo } from 'react' +import { UiDebug } from '~/ui/ui-debug' +import { UiIcon } from '~/ui/ui-icon' +import { LucideDatabase, LucidePencil, LucideRocket } from 'lucide-react' +import { ProfileUiIdentityList } from '~/features/profile/profile-ui-identity-list' +import { ProfileUiProfile } from '~/features/profile/profile-ui-profile' +import { userUpdateProfile } from '~/lib/core/user-update-profile' +import { ProfileUiFormUpdate } from '~/features/profile/ui/profile-ui-form-update' export function meta() { return appMeta('Dashboard') } +type User = Awaited> + export async function loader({ request }: Route.LoaderArgs) { try { const user = await ensureUser(request) @@ -22,17 +29,169 @@ export async function loader({ request }: Route.LoaderArgs) { } } +export async function action({ request }: Route.ActionArgs) { + const user = await ensureUser(request) + const formData = await request.formData() + + const action = formData.get('action')?.toString() ?? '' + + if (action === 'update') { + const username = formData.get('username')?.toString() ?? '' + + if (username.trim().length < 3) { + throw new Error('Username must be at least 3 characters') + } + + const item = await userUpdateProfile(user.id, { + avatarUrl: formData.get('avatarUrl')?.toString(), + name: formData.get('name')?.toString(), + username, + }) + + return { item } + } +} + +interface Step { + value: string + label: string + emoji: React.ReactNode +} + +const steps = [ + { + value: 'Social', + label: 'Sign up with Social', + emoji: , + }, + { + value: 'Solana', + label: 'Verify Solana Identity', + emoji: , + }, + { + value: 'Profile', + label: 'Review your Profile', + emoji: , + }, + { + value: 'Sign', + label: 'Sign and store on Solana', + emoji: , + }, +] + export default function RouteDashboard({ loaderData: { user } }: Route.ComponentProps) { - const { isDark } = useThemes() - const backgroundColor = isDark ? 'rgba(0, 0, 0, 0.3)' : 'rgba(255, 255, 255, 0.1)' + const active = useMemo(() => { + if (!user || !user.identities?.length) { + return 0 + } + if (user.identities.length === 1) { + return 1 + } + if (user.identities.find((i) => i.provider === 'Solana')) { + return 2 + } + }, [user]) + + const done = useMemo(() => stepsDone({ user }), [user]) + const nextStep = useMemo(() => { + const next = steps.find((step) => !done.includes(step.value)) + return next?.value ?? 'Sign' + }, [done]) return ( - + - - - + + step.value).filter((step) => !done.includes(step))} + multiple + radius="lg" + > + {steps.map((item) => ( + + + {item.label} + + + + + + ))} + +
{JSON.stringify({ done, nextStep }, null, 2)}
+
) } + +function RenderStep({ step, user }: { step: Step; user: User }) { + if (step.value === 'Social') { + return + } + if (step.value === 'Solana') { + return + } + if (step.value === 'Profile') { + return + } + if (step.value === 'Sign') { + return
Sign a transaction to create your profile on Solana.
+ } + return
Unknown
+} + +function stepsDone({ user }: { user: User }): string[] { + const steps: string[] = [] + if (findUserIdentitiesSocial({ user }).length) { + steps.push('Social') + } + if (findUserIdentitiesSolana({ user }).length) { + steps.push('Solana') + } + return steps +} + +function findUserIdentitiesSocial({ user }: { user: User }) { + return user.identities.filter((i) => i.provider !== 'Solana') +} + +function findUserIdentitiesSolana({ user }: { user: User }) { + return user.identities.filter((i) => i.provider === 'Solana') +} + +function PanelSocial({ user }: { user: User }) { + const found = findUserIdentitiesSocial({ user }) + + return found.length ? ( + + + + ) : ( +
No socials
+ ) +} + +function PanelSolana({ user }: { user: User }) { + const found = findUserIdentitiesSolana({ user }) + + return found.length ? ( + + Solana: {found?.length} solana identities + + + ) : ( +
No solana
+ ) +} + +function PanelProfile({ user }: { user: User }) { + return ( + + + + ) +} diff --git a/app/features/auth/data-access/ensure-user.ts b/app/features/auth/data-access/ensure-user.ts index 4903cdc..8449161 100644 --- a/app/features/auth/data-access/ensure-user.ts +++ b/app/features/auth/data-access/ensure-user.ts @@ -1,4 +1,4 @@ -import { getUser } from "~/features/auth/data-access/get-user"; +import { getUser } from '~/features/auth/data-access/get-user' export async function ensureUser(request: Request) { const user = await getUser(request) @@ -8,4 +8,4 @@ export async function ensureUser(request: Request) { } return user -} \ No newline at end of file +} diff --git a/app/features/auth/data-access/get-user-by-identity.ts b/app/features/auth/data-access/get-user-by-identity.ts new file mode 100644 index 0000000..3a198af --- /dev/null +++ b/app/features/auth/data-access/get-user-by-identity.ts @@ -0,0 +1,9 @@ +import { prisma } from '~/lib/db.server' +import { IdentityProvider } from '@prisma/client' + +export async function getUserByIdentity({ provider, providerId }: { provider: IdentityProvider; providerId: string }) { + return await prisma.user.findFirst({ + include: { identities: true }, + where: { identities: { some: { provider, providerId } } }, + }) +} diff --git a/app/features/auth/data-access/get-user-by-solana-identity.ts b/app/features/auth/data-access/get-user-by-solana-identity.ts new file mode 100644 index 0000000..722d807 --- /dev/null +++ b/app/features/auth/data-access/get-user-by-solana-identity.ts @@ -0,0 +1,10 @@ +import { isValidSolanaPubKey } from '~/lib/solana/is-valid-solana-pubkey' +import { IdentityProvider } from '@prisma/client' +import { getUserByIdentity } from '~/features/auth/data-access/get-user-by-identity' + +export async function getUserBySolanaIdentity({ providerId }: { providerId: string }) { + if (!isValidSolanaPubKey(providerId)) { + throw new Error('Invalid Solana providerId') + } + return getUserByIdentity({ provider: IdentityProvider.Solana, providerId }) +} diff --git a/app/features/auth/data-access/get-user.ts b/app/features/auth/data-access/get-user.ts index 195112c..91cc92e 100644 --- a/app/features/auth/data-access/get-user.ts +++ b/app/features/auth/data-access/get-user.ts @@ -1,6 +1,6 @@ import { getSession } from '~/lib/sessions.server' -import { logger } from "~/lib/logger"; -import { userFindById } from "~/lib/core/user-find-by-id"; +import { logger } from '~/lib/logger' +import { userFindById } from '~/lib/core/user-find-by-id' export async function getUser(request: Request) { const session = await getSession(request.headers.get('cookie')) @@ -16,4 +16,3 @@ export async function getUser(request: Request) { } return found } - diff --git a/app/features/auth/route-login.tsx b/app/features/auth/route-login.tsx index f2205ba..aaa2eb9 100644 --- a/app/features/auth/route-login.tsx +++ b/app/features/auth/route-login.tsx @@ -1,8 +1,7 @@ -import { Flex, Group } from '@mantine/core' +import { Flex } from '@mantine/core' import { data, Form, redirect } from 'react-router' import { appMeta } from '~/lib/app-meta' import { logger } from '~/lib/logger' -import { UiLogo } from '~/ui/ui-logo' import type { Route } from './+types/route-login' import { authHandleUserLoginRequest } from './data-access/auth-handle-user-login.request' import { getUser } from './data-access/get-user' @@ -29,9 +28,6 @@ export default function RouteLogin() { return (
- - -
diff --git a/app/features/homepage/layout-homepage.tsx b/app/features/homepage/layout-homepage.tsx index 596385a..33bca76 100644 --- a/app/features/homepage/layout-homepage.tsx +++ b/app/features/homepage/layout-homepage.tsx @@ -1,11 +1,12 @@ -import { Button } from '@mantine/core' -import React from 'react' -import { Link } from 'react-router' +import { Anchor, Box, Button, Container, Group, Loader, ScrollArea, Stack } from '@mantine/core' +import React, { Suspense } from 'react' +import { Link, Outlet } from 'react-router' import { getUser } from '~/features/auth/data-access/get-user' -import { UiFooter } from '~/ui/ui-footer' -import { UiLayout } from '~/ui/ui-layout' -import { UiProfileMenu } from '~/ui/ui-profile-menu' import type { Route } from './+types/layout-homepage' +import { UiThemeToggle } from '~/ui/ui-theme-toggle' +import { UiLogoLink } from '~/ui/ui-logo-link' +import { UiProfileAvatar } from '~/ui/ui-profile-avatar' +import { LucideRocket } from 'lucide-react' export async function loader({ request }: Route.LoaderArgs) { const user = await getUser(request) @@ -14,12 +15,52 @@ export async function loader({ request }: Route.LoaderArgs) { } export default function LayoutHomepage({ loaderData: { user } }: Route.ComponentProps) { - const headerProfile = user ? ( - - ) : ( - + return ( + + + + + + + + + {user ? ( + + ) : ( + + )} + + + + + + + }> + + + + + + + Terms of Service + + + Privacy Policy + + + + ) - return } /> } diff --git a/app/features/homepage/route-index.tsx b/app/features/homepage/route-index.tsx index e8b5b14..483cc5c 100644 --- a/app/features/homepage/route-index.tsx +++ b/app/features/homepage/route-index.tsx @@ -1,22 +1,86 @@ -import { Button, Flex, Stack } from '@mantine/core' +import { Anchor, Button, Container, Group, Stack, Stepper, Text, Title } from '@mantine/core' import { appMeta } from '~/lib/app-meta' import { Link } from 'react-router' +import { HomepageUiHero } from '~/features/homepage/ui/homepage-ui-hero' +import { HomepageUiFeatures } from '~/features/homepage/ui/homepage-ui-features' +import React from 'react' +import { LucideRocket } from 'lucide-react' export function meta() { - return appMeta('Home') + return appMeta( + 'Discover the social layer on Solana', + 'Create your profile, verify your identities, and connect with communities. Build trust and unlock new possibilities for decentralized applications.', + ) } export default function RouteIndex() { return ( - - - - - - + + ) } diff --git a/app/features/homepage/route-privacy.tsx b/app/features/homepage/route-privacy.tsx new file mode 100644 index 0000000..9bd2a3e --- /dev/null +++ b/app/features/homepage/route-privacy.tsx @@ -0,0 +1,50 @@ +import { Container, TypographyStylesProvider } from '@mantine/core' + +export default function RoutePrivacy() { + return ( + + +

Privacy Policy

+

Information Collection

+

+ PubKey Protocol collects user-provided data such as profile details, identities, and Solana addresses during + account creation and verification processes. +

+

Use of Data

+

+ Data is used to operate the service, verify identities, and enable community interactions. It may be shared + with third-party registrars for domain management as required. +

+

Data Storage

+

+ Information is stored on secure Solana network accounts. Retention lasts as long as necessary for service + provision or legal obligations. +

+

Data Sharing

+

+ Data is not sold to third parties. It may be disclosed to comply with legal requests or protect PubKey + Protocol’s rights. +

+

User Rights

+

+ Users can request access, correction, or deletion of their data. Requests must be submitted via designated + channels with proof of identity. +

+

Cookies and Tracking

+

+ The website may use cookies to enhance functionality. Users can disable cookies via browser settings, though + this may limit service features. +

+

Security Measures

+

+ Reasonable technical and organizational measures are implemented to protect data, though no system is entirely + immune to breaches. +

+

Policy Changes

+

This policy may be updated. Continued use after changes indicates acceptance of the new terms.

+

Contact

+

For privacy concerns, contact PubKey Protocol through official channels listed on the website.

+
+
+ ) +} diff --git a/app/features/homepage/route-terms.tsx b/app/features/homepage/route-terms.tsx new file mode 100644 index 0000000..f422e25 --- /dev/null +++ b/app/features/homepage/route-terms.tsx @@ -0,0 +1,70 @@ +import { Container, TypographyStylesProvider } from '@mantine/core' + +export default function RouteTerms() { + return ( + + +

Terms of Service

+

Acceptance of Terms

+

+ Registering or using the PubKey Protocol website and services constitutes acceptance of these Terms of + Service. Failure to comply results in termination of access. +

+ +

Eligibility

+

+ Users must have legal authority to enter this agreement. Minors or entities without authorization are + prohibited from use. +

+ +

Account Responsibility

+

+ Users are accountable for all actions under their account. Secure passwords and regular updates are mandatory. + Administrators may impose additional rules and access accounts as needed. +

+ +

Service Usage

+

+ Services are provided for creating and managing profiles on the Solana network. Misuse, including illegal + activities or content violations, leads to suspension or termination. +

+

Domain Authorization

+

+ By using this service, you authorize PubKey Protocol to interact with third-party domain registrars for domain + management. You agree to comply with ICANN policies and registrar terms. PubKey Protocol may change registrars + at its discretion, acting as your agent for necessary transfers. +

+ +

Payment and Fees

+

+ All fees are non-refundable unless specified. Users must provide valid payment methods. PubKey Protocol + reserves the right to modify fees with notice. +

+ +

Content and Intellectual Property

+

+ Users retain ownership of their content but grant PubKey Protocol a license to use it for service operation. + Infringing content will be removed. +

+ +

Termination

+

+ PubKey Protocol may terminate access for breaches, legal requirements, or at its discretion with notice where + feasible. +

+ +

Liability

+

+ PubKey Protocol’s liability is limited to fees paid in the last 12 months, excluding indirect damages. Users + indemnify PubKey Protocol against third-party claims. +

+ +

Modifications

+

Terms may be updated. Continued use after changes signifies acceptance.

+ +

Governing Law

+

These terms are governed by the laws of the State of California, USA.

+
+
+ ) +} diff --git a/app/features/homepage/ui/homepage-ui-features.module.css b/app/features/homepage/ui/homepage-ui-features.module.css new file mode 100644 index 0000000..a147671 --- /dev/null +++ b/app/features/homepage/ui/homepage-ui-features.module.css @@ -0,0 +1,39 @@ +.title { + font-size: 34px; + font-weight: 500; + + @media (max-width: $mantine-breakpoint-sm) { + font-size: 24px; + } +} + +.description { + max-width: 600px; + margin: auto; + + &::after { + content: ''; + display: block; + background-color: var(--mantine-color-blue-filled); + width: 45px; + height: 2px; + margin-top: var(--mantine-spacing-sm); + margin-left: auto; + margin-right: auto; + } +} + +.card { + border: 1px solid light-dark(var(--mantine-color-gray-1), var(--mantine-color-dark-5)); +} + +.cardTitle { + &::after { + content: ''; + display: block; + background-color: var(--mantine-color-blue-filled); + width: 45px; + height: 2px; + margin-top: var(--mantine-spacing-sm); + } +} \ No newline at end of file diff --git a/app/features/homepage/ui/homepage-ui-features.tsx b/app/features/homepage/ui/homepage-ui-features.tsx new file mode 100644 index 0000000..1fad39c --- /dev/null +++ b/app/features/homepage/ui/homepage-ui-features.tsx @@ -0,0 +1,59 @@ +import { Badge, Card, Container, Group, SimpleGrid, Text, Title, useMantineTheme } from '@mantine/core' +import classes from './homepage-ui-features.module.css' +import { LucideBox, LucidePersonStanding, LucideUsers } from 'lucide-react' + +const features = [ + { + title: 'Own Your Identity', + description: 'Create a profile that represents you, verified by communities you trust.', + icon: LucidePersonStanding, + }, + { + title: 'Seamless Integration', + description: 'Developers can leverage verified identities in their Solana-based apps and programs.', + icon: LucideBox, + }, + { + title: 'Community-Driven', + description: 'Join a network where communities validate and empower user identities.', + icon: LucideUsers, + }, +] + +export function HomepageUiFeatures() { + const theme = useMantineTheme() + const cards = features.map(({ icon: Icon, ...feature }) => ( + + + + {feature.title} + + + {feature.description} + + + )) + + return ( + + + + Why PubKey? + + + + + Why PubKey Protocol? + + + + PubKey Protocol is the social layer on Solana. Create a profile with verified identities that can be used in + Solana apps and onchain programs. + + + + {cards} + + + ) +} diff --git a/app/features/homepage/ui/homepage-ui-hero.module.css b/app/features/homepage/ui/homepage-ui-hero.module.css new file mode 100644 index 0000000..14b0352 --- /dev/null +++ b/app/features/homepage/ui/homepage-ui-hero.module.css @@ -0,0 +1,11 @@ +.title { + font-size: clamp(2.5rem, 5vw, 4rem); + line-height: 1; + background: linear-gradient(80deg, var(--mantine-primary-color-filled), var(--mantine-primary-color-8)); + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; +} + +.themeIconBackground { + background: rgba(var(--mantine-primary-color-filled), 0.07); +} diff --git a/app/features/homepage/ui/homepage-ui-hero.tsx b/app/features/homepage/ui/homepage-ui-hero.tsx new file mode 100644 index 0000000..2369ef5 --- /dev/null +++ b/app/features/homepage/ui/homepage-ui-hero.tsx @@ -0,0 +1,85 @@ +import { Button, Container, Grid, Group, Image, Stack, Text, Title } from '@mantine/core' +import classes from './homepage-ui-hero.module.css' +import { LucideCloudLightning, LucideLayoutDashboard, LucideRocket, LucideStar } from 'lucide-react' +import { UiIcon } from '~/ui/ui-icon' +import { Link } from 'react-router' + +export function HomepageUiHero() { + const features = [ + { icon: , label: 'Lightning Fast' }, + { icon: , label: 'Production Ready' }, + { icon: , label: 'Modern Design' }, + ] + + return ( + + + + + {/**/} + {/* */} + {/* */} + {/* */} + {/* */} + {/* Create Your Profile Today*/} + {/* */} + {/**/} + + + Discover the social layer on Solana. + + + + Create your profile, verify your identities, and connect with communities. Build trust and unlock new + possibilities for decentralized applications. + + + + + + + + {/**/} + {/* {features.map((feature, index) => (*/} + {/* */} + {/* */} + {/* {feature.icon}*/} + {/* */} + {/* */} + {/* {feature.label}*/} + {/* */} + {/* */} + {/* ))}*/} + {/**/} + + + + + + + + + ) +} diff --git a/app/features/onboarding/layout-onboarding.tsx b/app/features/onboarding/layout-onboarding.tsx deleted file mode 100644 index 5967c23..0000000 --- a/app/features/onboarding/layout-onboarding.tsx +++ /dev/null @@ -1,34 +0,0 @@ -import React from 'react' -import { UiFooter } from '~/ui/ui-footer' -import { UiLayout } from '~/ui/ui-layout' -import { UiProfileMenu } from '~/ui/ui-profile-menu' -import type { Route } from './+types/layout-onboarding' - -export async function loader({ request }: Route.LoaderArgs) { - // const user = await ensureUser(request) - // if (!user) { - // return redirect('/login') - // } - // if (!user.admin) { - // logger.info({ event: 'auth_layout_app_redirect', message: 'User not admin' }) - // return redirect('/dashboard') - // } - - return { user: null } -} - -export default function LayoutAdmin({ loaderData: { user } }: Route.ComponentProps) { - return ( - : null} - footer={} - /> - ) -} diff --git a/app/features/onboarding/onboarding-done-feature.tsx b/app/features/onboarding/onboarding-done-feature.tsx index 73030be..0dd6758 100644 --- a/app/features/onboarding/onboarding-done-feature.tsx +++ b/app/features/onboarding/onboarding-done-feature.tsx @@ -1,13 +1,29 @@ import { Link } from 'react-router' -import { Anchor, Container, Text } from '@mantine/core' +import { Anchor, Card, Flex, Stack, Text } from '@mantine/core' +import React from 'react' export default function OnboardingFeature() { return ( - - Onboarding Done - - Go to Dashboard - - + + + + + + Onboarding Done + + + You are now ready to use the app. + + + + + + + Go to Profile + + + + + ) } diff --git a/app/features/onboarding/onboarding-profile-feature.tsx b/app/features/onboarding/onboarding-profile-feature.tsx index 978b98a..5e33819 100644 --- a/app/features/onboarding/onboarding-profile-feature.tsx +++ b/app/features/onboarding/onboarding-profile-feature.tsx @@ -6,7 +6,12 @@ import { sleep } from '~/lib/sleep' export default function OnboardingFeature() { const navigate = useNavigate() return ( - + { console.log('Submit vals', vals) diff --git a/app/features/onboarding/onboarding-socials-feature.tsx b/app/features/onboarding/onboarding-socials-feature.tsx index 0d114c1..a1196f8 100644 --- a/app/features/onboarding/onboarding-socials-feature.tsx +++ b/app/features/onboarding/onboarding-socials-feature.tsx @@ -12,7 +12,11 @@ export default function OnboardingSocialsFeature({ loaderData: { providers } }: const navigate = useNavigate() return ( - + { navigate('/onboarding/wallets') diff --git a/app/features/onboarding/onboarding-wallets-feature.tsx b/app/features/onboarding/onboarding-wallets-feature.tsx index 1721784..a56f5b7 100644 --- a/app/features/onboarding/onboarding-wallets-feature.tsx +++ b/app/features/onboarding/onboarding-wallets-feature.tsx @@ -6,7 +6,12 @@ export default function OnboardingFeature() { const { connect, select, wallets } = useWallet() return ( - + { select(w.name) diff --git a/app/features/onboarding/ui/onboarding-ui-page.tsx b/app/features/onboarding/ui/onboarding-ui-page.tsx index 6a2f0c0..d76e906 100644 --- a/app/features/onboarding/ui/onboarding-ui-page.tsx +++ b/app/features/onboarding/ui/onboarding-ui-page.tsx @@ -1,13 +1,24 @@ -import { Card, Flex, type FlexProps, Stack, Text } from '@mantine/core' +import { Button, Card, Flex, type FlexProps, Group, Stack, Text } from '@mantine/core' import React from 'react' +import { Link } from 'react-router' +import { LucideChevronLeft, LucideChevronRight } from 'lucide-react' export interface OnboardingUiPageProps extends FlexProps { children: React.ReactNode description: string + previousLink?: string + nextLink?: string title: string } -export function OnboardingUiPage({ children, description, title, ...props }: OnboardingUiPageProps) { +export function OnboardingUiPage({ + children, + description, + previousLink, + nextLink, + title, + ...props +}: OnboardingUiPageProps) { return ( @@ -27,6 +38,20 @@ export function OnboardingUiPage({ children, description, title, ...props }: Onb + + {previousLink ? ( + + ) : ( +
+ )} + {nextLink ? ( + + ) : null} + ) } diff --git a/app/features/profile/get-identity-url.tsx b/app/features/profile/get-identity-url.tsx new file mode 100644 index 0000000..d6c49e2 --- /dev/null +++ b/app/features/profile/get-identity-url.tsx @@ -0,0 +1,22 @@ +import type { Identity } from '~/lib/generated/zod' +import { IdentityProvider } from '@prisma/client' +import { getExplorerUrl } from '@pubkey-protocol/sdk' + +export function getIdentityUrl(identity: Identity) { + switch (identity.provider) { + case IdentityProvider.Discord: + return `https://discord.com/users/${identity.providerId}` + case IdentityProvider.Github: + return `https://github.com/${identity.name}` + case IdentityProvider.Google: + return `https://mail.google.com/mail/?view=cm&to=${identity.address}` + case IdentityProvider.Solana: + return getExplorerUrl(`address/${identity.providerId}`, 'devnet') + case IdentityProvider.Telegram: + return `https://t.me/${identity.name}` + case IdentityProvider.X: + return `https://x.com/${identity.name}` + default: + return undefined + } +} \ No newline at end of file diff --git a/app/features/profile/index.ts b/app/features/profile/index.ts new file mode 100644 index 0000000..ff210fb --- /dev/null +++ b/app/features/profile/index.ts @@ -0,0 +1,3 @@ +import { prefix, route } from '@react-router/dev/routes' + +export const profileRoutes = prefix('u', [route('/:username/*', './features/profile/profile-feature-detail.tsx')]) diff --git a/app/features/profile/profile-feature-detail.tsx b/app/features/profile/profile-feature-detail.tsx new file mode 100644 index 0000000..d2d1850 --- /dev/null +++ b/app/features/profile/profile-feature-detail.tsx @@ -0,0 +1,56 @@ +import { Button, Container, Flex, Stack } from '@mantine/core' +import { appMeta } from '~/lib/app-meta' +import { userFindByUsername } from '~/lib/core/user-find-by-username' +import type { Route } from './+types/profile-feature-detail' +import { getUser } from '~/features/auth/data-access/get-user' +import { Link } from 'react-router' +import { LucidePencil } from 'lucide-react' +import { ProfileUiPoweredBy } from '~/features/profile/profile-ui-powered-by' +import React from 'react' +import { ProfileUiIdentityList } from '~/features/profile/profile-ui-identity-list' +import { ProfileUiProfile } from '~/features/profile/profile-ui-profile' + +export async function loader(args: Route.LoaderArgs) { + const [profile, user] = await Promise.all([ + // + userFindByUsername(args.params.username), + getUser(args.request), + ]) + + return { profile, user } +} + +export function meta(meta: Route.MetaArgs) { + return appMeta(`${meta.data?.profile?.username} - User detail`) +} + +export default function ProfileFeatureDetail({ loaderData: { profile, user } }: Route.ComponentProps) { + if (!profile) { + return
Profile not found
+ } + return ( + + + + + {user?.id === profile.id ? ( + + ) : null} + + + + + + ) +} diff --git a/app/features/profile/profile-feature.tsx b/app/features/profile/profile-feature-manage.tsx similarity index 93% rename from app/features/profile/profile-feature.tsx rename to app/features/profile/profile-feature-manage.tsx index b2bc87f..78d7630 100644 --- a/app/features/profile/profile-feature.tsx +++ b/app/features/profile/profile-feature-manage.tsx @@ -8,7 +8,7 @@ import { UiCard } from '~/ui/ui-card' import { UiContainer } from '~/ui/ui-container' import { UiDebug } from '~/ui/ui-debug' import { useThemes } from '~/ui/use-themes' -import type { Route } from './+types/profile-feature' +import type { Route } from './+types/profile-feature-manage' import { UiIcon } from '~/ui/ui-icon' import { IdentityProvider } from '@prisma/client' @@ -25,7 +25,7 @@ export async function loader({ request }: Route.LoaderArgs) { } } -export async function action({ request, params: { id } }: Route.ActionArgs) { +export async function action({ request }: Route.ActionArgs) { const user = await ensureUser(request) const formData = await request.formData() @@ -48,7 +48,7 @@ export async function action({ request, params: { id } }: Route.ActionArgs) { } } -export default function ProfileFeature({ loaderData }: Route.ComponentProps) { +export default function ProfileFeatureManage({ loaderData }: Route.ComponentProps) { const { isDark } = useThemes() const backgroundColor = isDark ? 'rgba(0, 0, 0, 0.3)' : 'rgba(255, 255, 255, 0.1)' diff --git a/app/features/profile/profile-ui-identity-list-item.tsx b/app/features/profile/profile-ui-identity-list-item.tsx new file mode 100644 index 0000000..32deaad --- /dev/null +++ b/app/features/profile/profile-ui-identity-list-item.tsx @@ -0,0 +1,49 @@ +import type { Identity } from '~/lib/generated/zod' +import { ActionIcon, Card, CopyButton, Group, Stack, Text, Tooltip } from '@mantine/core' +import { ProfileUiProviderIcon } from '~/features/profile/ui/profile-ui-provider-icon' +import { ProfileUiIdentityName } from '~/features/profile/profile-ui-identity-name' +import { UiIcon } from '~/ui/ui-icon' +import { getIdentityUrl } from '~/features/profile/get-identity-url' +import React from 'react' + +export function ProfileUiIdentityListItem({ identity }: { identity: Identity }) { + return ( + + + + + + + {identity.provider} + + + + + + + {({ copied, copy }) => ( + + + {copied ? : } + + + )} + + + + + + + + + + ) +} \ No newline at end of file diff --git a/app/features/profile/profile-ui-identity-list.tsx b/app/features/profile/profile-ui-identity-list.tsx new file mode 100644 index 0000000..7bb40db --- /dev/null +++ b/app/features/profile/profile-ui-identity-list.tsx @@ -0,0 +1,14 @@ +import type { Identity } from '~/lib/generated/zod' +import { Stack } from '@mantine/core' +import { ProfileUiIdentityListItem } from '~/features/profile/profile-ui-identity-list-item' +import React from 'react' + +export function ProfileUiIdentityList({ identities }: { identities: Identity[] }) { + return ( + + {identities.map((identity) => ( + + ))} + + ) +} diff --git a/app/features/profile/profile-ui-identity-name.tsx b/app/features/profile/profile-ui-identity-name.tsx new file mode 100644 index 0000000..f9ca930 --- /dev/null +++ b/app/features/profile/profile-ui-identity-name.tsx @@ -0,0 +1,17 @@ +import { Text, type TextProps } from '@mantine/core' +import type { Identity } from '~/lib/generated/zod' +import { IdentityProvider } from '@prisma/client' +import { ellipsify } from '@pubkey-protocol/sdk' +import React from 'react' + +export function ProfileUiIdentityName({ identity, ...props }: TextProps & { identity: Identity }) { + if (!identity.name) { + return ( + + {identity.providerId} ({identity.provider}) + + ) + } + const text = identity.provider === IdentityProvider.Solana ? ellipsify(identity.providerId, 8) : identity.name + return {text} +} \ No newline at end of file diff --git a/app/features/profile/profile-ui-powered-by.tsx b/app/features/profile/profile-ui-powered-by.tsx new file mode 100644 index 0000000..0c5f166 --- /dev/null +++ b/app/features/profile/profile-ui-powered-by.tsx @@ -0,0 +1,15 @@ +import { Button, Text } from '@mantine/core' +import { UiLogo } from '~/ui/ui-logo' +import React from 'react' +import { Link } from 'react-router' + +export function ProfileUiPoweredBy({ to }: { to: string }) { + return ( + + ) +} diff --git a/app/features/profile/profile-ui-profile.tsx b/app/features/profile/profile-ui-profile.tsx new file mode 100644 index 0000000..0ee260e --- /dev/null +++ b/app/features/profile/profile-ui-profile.tsx @@ -0,0 +1,23 @@ +import type { UserFindByUsernameResult } from '~/lib/core/user-find-by-username' +import { Stack, Text } from '@mantine/core' +import { UserUiAvatar } from '~/features/user/ui/user-ui-avatar' +import React from 'react' + +export function ProfileUiProfile({ user }: { user: UserFindByUsernameResult }) { + return ( + + + + + {user.name} + + + {user.username} + + + Developer and Open Source Evangelist + + + + ) +} diff --git a/app/features/profile/ui/profile-ui-form-update.tsx b/app/features/profile/ui/profile-ui-form-update.tsx index 7e598d1..056ab05 100644 --- a/app/features/profile/ui/profile-ui-form-update.tsx +++ b/app/features/profile/ui/profile-ui-form-update.tsx @@ -4,10 +4,28 @@ import type { User } from '~/lib/db.server' export function ProfileUiFormUpdate({ user }: { user: User }) { return ( - - - - + + + + ) diff --git a/app/features/profile/ui/profile-ui-provider-icon.tsx b/app/features/profile/ui/profile-ui-provider-icon.tsx new file mode 100644 index 0000000..7cfd9c0 --- /dev/null +++ b/app/features/profile/ui/profile-ui-provider-icon.tsx @@ -0,0 +1,28 @@ +import { UiIcon, type UiIconProps } from '~/ui/ui-icon' +import type { IconName } from '~/ui/icons/types' +import { IdentityProvider } from '@prisma/client' + +export function ProfileUiProviderIcon({ + provider, + ...props +}: Omit & { + provider: IdentityProvider +}) { + return +} + +function getProviderIcon(provider: IdentityProvider): IconName { + switch (provider) { + case IdentityProvider.Discord: + return 'Discord' + case IdentityProvider.Github: + return 'Github' + case IdentityProvider.Google: + return 'Google' + case IdentityProvider.Solana: + return 'Solana' + case IdentityProvider.X: + return 'X' + } + throw new Error(`No icon for provider ${provider}`) +} diff --git a/app/features/pubkey/pubkey-feature-profile-create.tsx b/app/features/pubkey/pubkey-feature-profile-create.tsx index d0cfa81..8c16369 100644 --- a/app/features/pubkey/pubkey-feature-profile-create.tsx +++ b/app/features/pubkey/pubkey-feature-profile-create.tsx @@ -12,8 +12,9 @@ import { UiCard } from '~/ui/ui-card' import { PubkeyUiProfileCreateForm } from './ui/pubkey-ui-profile-create-form' import { getPubkeySdkCommunity } from '~/lib/pubkey/get-pubkey-sdk-community' import { useConnection, useWallet } from '@solana/wallet-adapter-react' -import { PublicKey, VersionedTransaction } from '@solana/web3.js' +import { VersionedTransaction } from '@solana/web3.js' import { base58 } from '@metaplex-foundation/umi' +import { isValidSolanaPubKey } from '~/lib/solana/is-valid-solana-pubkey' export function meta() { return appMeta('Profiles') @@ -114,14 +115,6 @@ export default function PubkeyFeatureCommunityCreate({ loaderData: { config } }: ) } -function isValidSolanaPubKey(address: string) { - try { - return !!new PublicKey(address) - } catch { - return false - } -} - function txToBase58(tx: VersionedTransaction): string { const [res] = base58.deserialize(tx.serialize()) return res diff --git a/app/features/pubkey/ui/pubkey-ui-community-list.tsx b/app/features/pubkey/ui/pubkey-ui-community-list.tsx index 2c0c20d..e8f8efc 100644 --- a/app/features/pubkey/ui/pubkey-ui-community-list.tsx +++ b/app/features/pubkey/ui/pubkey-ui-community-list.tsx @@ -20,4 +20,4 @@ export function PubkeyUiCommunityList({ communities }: { communities: PubKeyComm ))} ) -} \ No newline at end of file +} diff --git a/app/features/solana/get-solana-verification-type.ts b/app/features/solana/get-solana-verification-type.ts new file mode 100644 index 0000000..fafe519 --- /dev/null +++ b/app/features/solana/get-solana-verification-type.ts @@ -0,0 +1,54 @@ +export enum SolanaVerificationType { + Error = 'Error', + Login = 'Login', + Register = 'Register', + Link = 'Link', + Verify = 'Verify', +} + +export function getSolanaVerificationType({ + actorId, + ownerId, + enabledTypes = [ + SolanaVerificationType.Login, + SolanaVerificationType.Link, + SolanaVerificationType.Register, + SolanaVerificationType.Verify, + ], +}: { + actorId?: string + ownerId?: string + enabledTypes?: SolanaVerificationType[] +}): { + message?: string + type: SolanaVerificationType +} { + function ensureEnabledType(type: SolanaVerificationType) { + if (!enabledTypes.includes(type)) { + throw new Error(`Solana verification type ${type} is not enabled`) + } + return type + } + + // If the wallet isn't owned by any user + if (!ownerId) { + return actorId + ? // If actor is set, we want to link the wallet + { type: ensureEnabledType(SolanaVerificationType.Link) } + : // Otherwise, we want to register a new user + { type: ensureEnabledType(SolanaVerificationType.Register) } + } + + // We are not logged in, so this is a login + if (!actorId) { + return { type: ensureEnabledType(SolanaVerificationType.Login) } + } + + // We are logged in, make sure that the user owns the wallet + if (ownerId !== actorId) { + return { type: SolanaVerificationType.Error, message: 'User does not own public key' } + } + + // Actor owns the wallet, we can now verify it + return { type: ensureEnabledType(SolanaVerificationType.Verify) } +} diff --git a/app/features/solana/index.ts b/app/features/solana/index.ts new file mode 100644 index 0000000..ee01504 --- /dev/null +++ b/app/features/solana/index.ts @@ -0,0 +1,6 @@ +import { index, layout, prefix } from '@react-router/dev/routes' + +export const userSolanaRoutes = layout( + './features/solana/user-solana-layout.tsx', + prefix('solana', [index('./features/solana/user-solana-wallet.tsx')]), +) diff --git a/app/features/solana/user-solana-layout.tsx b/app/features/solana/user-solana-layout.tsx new file mode 100644 index 0000000..f187526 --- /dev/null +++ b/app/features/solana/user-solana-layout.tsx @@ -0,0 +1,11 @@ +import React, { Suspense } from 'react' +import { Loader } from '@mantine/core' +import { Outlet } from 'react-router' + +export default function LayoutApp() { + return ( + }> + + + ) +} diff --git a/app/features/solana/user-solana-wallet.tsx b/app/features/solana/user-solana-wallet.tsx new file mode 100644 index 0000000..32bf758 --- /dev/null +++ b/app/features/solana/user-solana-wallet.tsx @@ -0,0 +1,254 @@ +import { Button, Flex, Group, Stack, Text } from '@mantine/core' +import { redirect, useFetcher } from 'react-router' +import { getBase58Decoder, getBase58Encoder, type ReadonlyUint8Array } from 'gill' +import type { Route } from './+types/user-solana-wallet' +import { useWallet } from '@solana/wallet-adapter-react' +import { solanaAuth } from '~/lib/solana-auth/solana-auth' +import type { SolanaAuthMessage, SolanaAuthMessageSigned } from '~/lib/solana-auth/solana-auth-message' +import { getUserBySolanaIdentity } from '~/features/auth/data-access/get-user-by-solana-identity' +import { getUser } from '~/features/auth/data-access/get-user' +import { getSolanaVerificationType, SolanaVerificationType } from './get-solana-verification-type' +import { userUpdateWithIdentity } from '~/lib/core/user-update-with-identity' +import { userCreateWithIdentity } from '~/lib/core/user-create-with-identity' +import { commitSession, getSession } from '~/lib/sessions.server' +import { IdentityProvider } from '@prisma/client' + +function parsePayload(payload: string = ''): SolanaAuthMessageSigned { + try { + return JSON.parse(payload) + } catch { + throw new Error(`Invalid payload`) + } +} + +export async function action({ request }: Route.LoaderArgs) { + const formData = await request.formData() + const action = formData.get('action')?.toString() + const payload = formData.get('payload')?.toString() + const publicKey = formData.get('publicKey')?.toString() + + if (!publicKey) { + return { success: false, message: `No public key` } + } + const actor = await getUser(request) + const owner = await getUserBySolanaIdentity({ providerId: publicKey }) + + // This determines the type of verification we are performing + const verification = getSolanaVerificationType({ + actorId: actor?.id ?? undefined, + ownerId: owner?.id ?? undefined, + enabledTypes: [ + SolanaVerificationType.Login, + SolanaVerificationType.Link, + SolanaVerificationType.Register, + SolanaVerificationType.Verify, + ], + }) + if (verification.type === SolanaVerificationType.Error) { + return { success: false, message: verification.message } + } + + console.log( + `user-solana-wallet [${action}] -> publicKey: ${publicKey} -> owner: ${owner ? owner.username : 'NONE'} -> type: ${verification.type}`, + ) + + switch (formData.get('action')) { + case 'sign-message-create': + return { + success: true, + message: await solanaAuth.createMessage({ method: 'solana:signMessage', publicKey }), + type: 'solana-auth-message', + } + case 'sign-message-verify': + const parsed = parsePayload(payload) + const result = await solanaAuth.verifyMessage(parsed) + if (!result) { + throw new Error('Invalid signature') + } + console.log(`sign message -> verify`, 'message', parsed, 'signature', parsed.signature, 'result', result) + if (verification.type === SolanaVerificationType.Link) { + // We should link the wallet to the actor. + if (!actor) { + throw new Error('No actor found') + } + await userUpdateWithIdentity(actor.id, { + provider: IdentityProvider.Solana, + providerId: publicKey, + name: publicKey, + }) + } + if (verification.type === SolanaVerificationType.Login) { + // We should set the cookie. + if (!owner) { + throw new Error('No owner found') + } + const session = await getSession(request.headers.get('Cookie')) + session.set('user', owner) + return redirect('/profile', { + headers: { + 'Set-Cookie': await commitSession(session), + }, + }) + } + if (verification.type === SolanaVerificationType.Verify) { + // We don't need to do anything? 🤷‍♂️ + } + if (verification.type === SolanaVerificationType.Register) { + // We should register a new user. + const user = await userCreateWithIdentity({ + provider: IdentityProvider.Solana, + providerId: publicKey, + name: publicKey, + }) + const session = await getSession(request.headers.get('Cookie')) + session.set('user', user) + return redirect('/profile', { + headers: { + 'Set-Cookie': await commitSession(session), + }, + }) + } + return { + success: true, + message: result, + type: 'solana-auth-result', + } + case 'sign-transaction-create': + return { + success: true, + message: await solanaAuth.createMessage({ method: 'solana:signTransaction', publicKey }), + type: 'solana-auth-message', + } + default: + return { + success: false, + message: `Unknown action ${action}`, + } + } +} + +export default function UserSolanaWallet() { + const wallet = useWallet() + const publicKey = wallet.publicKey?.toString() ?? '' + const fetcher = useFetcher() + + async function handleSubmit(data: Record) { + return await fetcher.submit(data, { method: 'post' }) + } + + async function handleCreate(action: 'sign-message-create' | 'sign-transaction-create') { + if (!publicKey.length) { + console.warn(`No public key, please connect your wallet`) + return + } + await handleSubmit({ action, publicKey }) + } + + async function handleVerify( + action: 'sign-message-verify' | 'sign-transaction-verify', + payload: SolanaAuthMessageSigned, + ) { + if (!publicKey.length) { + console.warn(`No public key, please connect your wallet`) + return + } + await handleSubmit({ action, publicKey, payload: JSON.stringify(payload) }) + } + + return ( + + + {publicKey.length ? ( + + Connected to + + {publicKey} + + + ) : null} + + + + + {fetcher.data?.type === 'solana-auth-message' ? ( +
+ handleVerify('sign-message-verify', payload)} + /> +
{JSON.stringify(fetcher.data.message, null, 2)}
+
+ ) : null} +
+
+ ) +} + +function SignComponent({ + message, + sign, +}: { + message: SolanaAuthMessage + sign: (payload: SolanaAuthMessageSigned) => Promise +}) { + const { signMessage } = useWallet() + + return ( +
+ {signMessage ? ( + + ) : ( +
No wallet
+ )} +
+ ) +} + +export interface CreateSignatureWallet { + message: SolanaAuthMessage + signMessage: (message: Uint8Array) => Promise +} + +export function bs58Encode(data: Uint8Array) { + return getBase58Decoder().decode(data) +} + +export function bs58Decode(data: string): ReadonlyUint8Array { + return getBase58Encoder().encode(data) +} + +export async function createSignatureWallet({ + message, + signMessage, +}: CreateSignatureWallet): Promise { + const encoded = encodeMessage(message.message.text) + const signature = await signMessage(encoded) + + return { ...message, signature: bs58Encode(signature) } +} + +export function encodeMessage(message: string): Uint8Array { + return new TextEncoder().encode(message) +} diff --git a/app/features/user/admin-user-detail.tsx b/app/features/user/admin-user-detail.tsx index 42e5edf..847abc8 100644 --- a/app/features/user/admin-user-detail.tsx +++ b/app/features/user/admin-user-detail.tsx @@ -6,8 +6,8 @@ import { appMeta } from '~/lib/app-meta' import { UiPage } from '~/ui/ui-page' import type { Route } from './+types/admin-user-detail' import { userFindById } from './data-access/user-find-by-id' -import { UserUiItem } from './ui/user-ui-avatar' import { UserUiFormUpdate } from './ui/user-ui-form-update' +import { UserUiItem } from '~/features/user/ui/user-ui-item' export async function loader({ params: { id } }: Route.LoaderArgs) { const item = await userFindById(id) diff --git a/app/features/user/ui/user-ui-avatar.tsx b/app/features/user/ui/user-ui-avatar.tsx index 43fc5a4..7fa34b2 100644 --- a/app/features/user/ui/user-ui-avatar.tsx +++ b/app/features/user/ui/user-ui-avatar.tsx @@ -1,27 +1,7 @@ -import { Avatar, type AvatarProps, Group, type GroupProps, Text, type TextProps } from '@mantine/core' +import { Avatar, type AvatarProps } from '@mantine/core' import type { User } from '~/lib/db.server' -export function UserUiItem({ - user, - avatarProps, - textProps, - ...props -}: GroupProps & { - user: User - avatarProps?: AvatarProps - textProps?: TextProps -}) { - return ( - - - - {user.username} - - - ) -} - -export function UserUiAvatar({ user, ...props }: AvatarProps & { user: User }) { +export function UserUiAvatar({ user, ...props }: AvatarProps & { user: Pick }) { return ( {user.username.charAt(0)} diff --git a/app/features/user/ui/user-ui-item.tsx b/app/features/user/ui/user-ui-item.tsx new file mode 100644 index 0000000..4e2ca9d --- /dev/null +++ b/app/features/user/ui/user-ui-item.tsx @@ -0,0 +1,23 @@ +import { type AvatarProps, Group, type GroupProps, Text, type TextProps } from '@mantine/core' +import type { User } from '~/lib/db.server' +import { UserUiAvatar } from '~/features/user/ui/user-ui-avatar' + +export function UserUiItem({ + user, + avatarProps, + textProps, + ...props +}: GroupProps & { + user: User + avatarProps?: AvatarProps + textProps?: TextProps +}) { + return ( + + + + {user.username} + + + ) +} diff --git a/app/features/user/ui/user-ui-table.tsx b/app/features/user/ui/user-ui-table.tsx index e67d74c..8c4260b 100644 --- a/app/features/user/ui/user-ui-table.tsx +++ b/app/features/user/ui/user-ui-table.tsx @@ -2,7 +2,8 @@ import { Anchor, Table, type TableProps, Text } from '@mantine/core' import { Link } from 'react-router' import type { User } from '~/lib/db.server' import { UiDeleteIcon } from '~/ui/ui-delete-icon' -import { UserUiItem } from './user-ui-avatar' + +import { UserUiItem } from '~/features/user/ui/user-ui-item' export function UserUiTable({ items, diff --git a/app/lib/authenticator.server.ts b/app/lib/authenticator.server.ts index 057afdf..d29cadb 100644 --- a/app/lib/authenticator.server.ts +++ b/app/lib/authenticator.server.ts @@ -2,7 +2,7 @@ import { Authenticator } from 'remix-auth' import { FormStrategy } from 'remix-auth-form' import { authUserLogin } from '~/features/auth/data-access/auth-user-login' import { type User } from '~/lib/db.server' -import { googleStrategy } from './strategies/google-strategy'; +import { googleStrategy } from './strategies/google-strategy' export const authenticator = new Authenticator() @@ -13,7 +13,5 @@ const userPassStrategy = new FormStrategy(async ({ form }) => { }) }) -authenticator.use(userPassStrategy, 'user-pass',) +authenticator.use(userPassStrategy, 'user-pass') authenticator.use(googleStrategy, 'google') - - diff --git a/app/lib/compute-user-avatar-url.ts b/app/lib/compute-user-avatar-url.ts index 8169749..51cd2e2 100644 --- a/app/lib/compute-user-avatar-url.ts +++ b/app/lib/compute-user-avatar-url.ts @@ -4,6 +4,10 @@ export function computeUserAvatarUrl(user: Pick) return user.avatarUrl ? user.avatarUrl : defaultUserAvatarUrl(user) } +export function computeUserViewUrl(user: Pick) { + return `/u/${user.username}` +} + export function defaultUserAvatarUrl(user: Pick) { return `https://api.dicebear.com/9.x/initials/svg?seed=${user.username}&backgroundType=gradientLinear` } diff --git a/app/lib/core/user-find-by-id.ts b/app/lib/core/user-find-by-id.ts index f5ca7f2..2d26631 100644 --- a/app/lib/core/user-find-by-id.ts +++ b/app/lib/core/user-find-by-id.ts @@ -1,5 +1,5 @@ -import { db } from "~/lib/db.server"; +import { db } from '~/lib/db.server' export async function userFindById(id: string) { return await db.user.findFirst({ where: { id }, include: { identities: true } }) -} \ No newline at end of file +} diff --git a/app/lib/core/user-find-by-username.ts b/app/lib/core/user-find-by-username.ts index 4644850..26a0c5a 100644 --- a/app/lib/core/user-find-by-username.ts +++ b/app/lib/core/user-find-by-username.ts @@ -1,5 +1,11 @@ -import { db, type User } from "~/lib/db.server"; +import { db } from '~/lib/db.server' -export async function userFindByUsername(username: string): Promise { - return await db.user.findFirst({ where: { username } }) -} \ No newline at end of file +export async function userFindByUsername(username: string) { + const found = await db.user.findFirst({ where: { username }, include: { identities: true } }) + if (!found) { + throw new Error('User not found') + } + return found +} + +export type UserFindByUsernameResult = Awaited> diff --git a/app/lib/core/user-update-profile.ts b/app/lib/core/user-update-profile.ts index f12c509..64845e0 100644 --- a/app/lib/core/user-update-profile.ts +++ b/app/lib/core/user-update-profile.ts @@ -1,4 +1,4 @@ -import { db, type User, type UserUpdateInput, UserUpdateInputSchema } from "~/lib/db.server"; +import { db, type User, type UserUpdateInput, UserUpdateInputSchema } from '~/lib/db.server' export type UserUpdateProfileInput = Pick @@ -14,16 +14,17 @@ export async function userUpdateProfile(id: string, input: UserUpdateProfileInpu throw new Error('User not found') } - try { return db.user.update({ - where: { id }, data: { - ...data, admin: found.admin, password: found.password - } + where: { id }, + data: { + ...data, + admin: found.admin, + password: found.password, + }, }) } catch (error) { console.error(error) throw new Error('Failed to update user') } } - diff --git a/app/lib/create-prisma-client.server.ts b/app/lib/create-prisma-client.server.ts index a723183..0570243 100644 --- a/app/lib/create-prisma-client.server.ts +++ b/app/lib/create-prisma-client.server.ts @@ -1,5 +1,5 @@ import { PrismaClient } from '@prisma/client' -import { computeUserAvatarUrl, defaultUserAvatarUrl } from '~/lib/compute-user-avatar-url' +import { computeUserAvatarUrl, computeUserViewUrl, defaultUserAvatarUrl } from '~/lib/compute-user-avatar-url' export function createPrismaClientServer() { return new PrismaClient().$extends({ @@ -19,6 +19,7 @@ export function createPrismaClientServer() { result: { user: { avatarUrl: { compute: computeUserAvatarUrl }, + viewUrl: { compute: computeUserViewUrl }, }, }, }) diff --git a/app/lib/db.server.ts b/app/lib/db.server.ts index eec12eb..67881e8 100644 --- a/app/lib/db.server.ts +++ b/app/lib/db.server.ts @@ -1,4 +1,4 @@ -import { Prisma, type User } from '@prisma/client' +import { type IdentityProvider, Prisma, type User } from '@prisma/client' import { createPrismaClientServer } from '~/lib/create-prisma-client.server' let db: AppPrismaClient @@ -24,5 +24,5 @@ export type AppPrismaClient = ReturnType export type UserCreateInput = Prisma.UserCreateInput export type UserUpdateInput = Prisma.UserUpdateInput -export { db, db as prisma, type User } +export { db, db as prisma, type IdentityProvider, type User } export * from './generated/zod' diff --git a/app/lib/generated/zod/index.ts b/app/lib/generated/zod/index.ts index f93af9f..cda06c9 100644 --- a/app/lib/generated/zod/index.ts +++ b/app/lib/generated/zod/index.ts @@ -1,5 +1,5 @@ -import { z } from 'zod'; -import { Prisma } from '@prisma/client'; +import { z } from 'zod' +import { Prisma } from '@prisma/client' ///////////////////////////////////////// // HELPER FUNCTIONS @@ -8,13 +8,19 @@ import { Prisma } from '@prisma/client'; // JSON //------------------------------------------------------ -export type NullableJsonInput = Prisma.JsonValue | null | 'JsonNull' | 'DbNull' | Prisma.NullTypes.DbNull | Prisma.NullTypes.JsonNull; +export type NullableJsonInput = + | Prisma.JsonValue + | null + | 'JsonNull' + | 'DbNull' + | Prisma.NullTypes.DbNull + | Prisma.NullTypes.JsonNull export const transformJsonNull = (v?: NullableJsonInput) => { - if (!v || v === 'DbNull') return Prisma.DbNull; - if (v === 'JsonNull') return Prisma.JsonNull; - return v; -}; + if (!v || v === 'DbNull') return Prisma.DbNull + if (v === 'JsonNull') return Prisma.JsonNull + return v +} export const JsonValueSchema: z.ZodType = z.lazy(() => z.union([ @@ -24,17 +30,17 @@ export const JsonValueSchema: z.ZodType = z.lazy(() => z.literal(null), z.record(z.lazy(() => JsonValueSchema.optional())), z.array(z.lazy(() => JsonValueSchema)), - ]) -); + ]), +) -export type JsonValueType = z.infer; +export type JsonValueType = z.infer export const NullableJsonValue = z .union([JsonValueSchema, z.literal('DbNull'), z.literal('JsonNull')]) .nullable() - .transform((v) => transformJsonNull(v)); + .transform((v) => transformJsonNull(v)) -export type NullableJsonValueType = z.infer; +export type NullableJsonValueType = z.infer export const InputJsonValueSchema: z.ZodType = z.lazy(() => z.union([ @@ -44,33 +50,71 @@ export const InputJsonValueSchema: z.ZodType = z.lazy(() z.object({ toJSON: z.function(z.tuple([]), z.any()) }), z.record(z.lazy(() => z.union([InputJsonValueSchema, z.literal(null)]))), z.array(z.lazy(() => z.union([InputJsonValueSchema, z.literal(null)]))), - ]) -); - -export type InputJsonValueType = z.infer; + ]), +) +export type InputJsonValueType = z.infer ///////////////////////////////////////// // ENUMS ///////////////////////////////////////// -export const TransactionIsolationLevelSchema = z.enum(['ReadUncommitted','ReadCommitted','RepeatableRead','Serializable']); +export const TransactionIsolationLevelSchema = z.enum([ + 'ReadUncommitted', + 'ReadCommitted', + 'RepeatableRead', + 'Serializable', +]) -export const UserScalarFieldEnumSchema = z.enum(['id','createdAt','updatedAt','username','password','name','avatarUrl','admin']); +export const UserScalarFieldEnumSchema = z.enum([ + 'id', + 'createdAt', + 'updatedAt', + 'username', + 'password', + 'name', + 'avatarUrl', + 'admin', +]) -export const IdentityScalarFieldEnumSchema = z.enum(['id','createdAt','updatedAt','provider','providerId','address','name','accessToken','refreshToken','profile','verified','ownerId']); +export const IdentityScalarFieldEnumSchema = z.enum([ + 'id', + 'createdAt', + 'updatedAt', + 'provider', + 'providerId', + 'address', + 'name', + 'accessToken', + 'refreshToken', + 'profile', + 'verified', + 'ownerId', +]) -export const SortOrderSchema = z.enum(['asc','desc']); +export const SortOrderSchema = z.enum(['asc', 'desc']) -export const NullableJsonNullValueInputSchema = z.enum(['DbNull','JsonNull',]).transform((value) => value === 'JsonNull' ? Prisma.JsonNull : value === 'DbNull' ? Prisma.DbNull : value); +export const NullableJsonNullValueInputSchema = z + .enum(['DbNull', 'JsonNull']) + .transform((value) => (value === 'JsonNull' ? Prisma.JsonNull : value === 'DbNull' ? Prisma.DbNull : value)) -export const QueryModeSchema = z.enum(['default','insensitive']); +export const QueryModeSchema = z.enum(['default', 'insensitive']) -export const NullsOrderSchema = z.enum(['first','last']); +export const NullsOrderSchema = z.enum(['first', 'last']) -export const JsonNullValueFilterSchema = z.enum(['DbNull','JsonNull','AnyNull',]).transform((value) => value === 'JsonNull' ? Prisma.JsonNull : value === 'DbNull' ? Prisma.JsonNull : value === 'AnyNull' ? Prisma.AnyNull : value); +export const JsonNullValueFilterSchema = z + .enum(['DbNull', 'JsonNull', 'AnyNull']) + .transform((value) => + value === 'JsonNull' + ? Prisma.JsonNull + : value === 'DbNull' + ? Prisma.JsonNull + : value === 'AnyNull' + ? Prisma.AnyNull + : value, + ) -export const IdentityProviderSchema = z.enum(['Discord','Github','Google','Solana','Telegram','X']); +export const IdentityProviderSchema = z.enum(['Discord', 'Github', 'Google', 'Solana', 'Telegram', 'X']) export type IdentityProviderType = `${z.infer}` @@ -123,1351 +167,2140 @@ export type Identity = z.infer // USER //------------------------------------------------------ -export const UserIncludeSchema: z.ZodType = z.object({ - identities: z.union([z.boolean(),z.lazy(() => IdentityFindManyArgsSchema)]).optional(), - _count: z.union([z.boolean(),z.lazy(() => UserCountOutputTypeArgsSchema)]).optional(), -}).strict() - -export const UserArgsSchema: z.ZodType = z.object({ - select: z.lazy(() => UserSelectSchema).optional(), - include: z.lazy(() => UserIncludeSchema).optional(), -}).strict(); - -export const UserCountOutputTypeArgsSchema: z.ZodType = z.object({ - select: z.lazy(() => UserCountOutputTypeSelectSchema).nullish(), -}).strict(); - -export const UserCountOutputTypeSelectSchema: z.ZodType = z.object({ - identities: z.boolean().optional(), -}).strict(); - -export const UserSelectSchema: z.ZodType = z.object({ - id: z.boolean().optional(), - createdAt: z.boolean().optional(), - updatedAt: z.boolean().optional(), - username: z.boolean().optional(), - password: z.boolean().optional(), - name: z.boolean().optional(), - avatarUrl: z.boolean().optional(), - admin: z.boolean().optional(), - identities: z.union([z.boolean(),z.lazy(() => IdentityFindManyArgsSchema)]).optional(), - _count: z.union([z.boolean(),z.lazy(() => UserCountOutputTypeArgsSchema)]).optional(), -}).strict() +export const UserIncludeSchema: z.ZodType = z + .object({ + identities: z.union([z.boolean(), z.lazy(() => IdentityFindManyArgsSchema)]).optional(), + _count: z.union([z.boolean(), z.lazy(() => UserCountOutputTypeArgsSchema)]).optional(), + }) + .strict() + +export const UserArgsSchema: z.ZodType = z + .object({ + select: z.lazy(() => UserSelectSchema).optional(), + include: z.lazy(() => UserIncludeSchema).optional(), + }) + .strict() + +export const UserCountOutputTypeArgsSchema: z.ZodType = z + .object({ + select: z.lazy(() => UserCountOutputTypeSelectSchema).nullish(), + }) + .strict() + +export const UserCountOutputTypeSelectSchema: z.ZodType = z + .object({ + identities: z.boolean().optional(), + }) + .strict() + +export const UserSelectSchema: z.ZodType = z + .object({ + id: z.boolean().optional(), + createdAt: z.boolean().optional(), + updatedAt: z.boolean().optional(), + username: z.boolean().optional(), + password: z.boolean().optional(), + name: z.boolean().optional(), + avatarUrl: z.boolean().optional(), + admin: z.boolean().optional(), + identities: z.union([z.boolean(), z.lazy(() => IdentityFindManyArgsSchema)]).optional(), + _count: z.union([z.boolean(), z.lazy(() => UserCountOutputTypeArgsSchema)]).optional(), + }) + .strict() // IDENTITY //------------------------------------------------------ -export const IdentityIncludeSchema: z.ZodType = z.object({ - owner: z.union([z.boolean(),z.lazy(() => UserArgsSchema)]).optional(), -}).strict() - -export const IdentityArgsSchema: z.ZodType = z.object({ - select: z.lazy(() => IdentitySelectSchema).optional(), - include: z.lazy(() => IdentityIncludeSchema).optional(), -}).strict(); - -export const IdentitySelectSchema: z.ZodType = z.object({ - id: z.boolean().optional(), - createdAt: z.boolean().optional(), - updatedAt: z.boolean().optional(), - provider: z.boolean().optional(), - providerId: z.boolean().optional(), - address: z.boolean().optional(), - name: z.boolean().optional(), - accessToken: z.boolean().optional(), - refreshToken: z.boolean().optional(), - profile: z.boolean().optional(), - verified: z.boolean().optional(), - ownerId: z.boolean().optional(), - owner: z.union([z.boolean(),z.lazy(() => UserArgsSchema)]).optional(), -}).strict() - +export const IdentityIncludeSchema: z.ZodType = z + .object({ + owner: z.union([z.boolean(), z.lazy(() => UserArgsSchema)]).optional(), + }) + .strict() + +export const IdentityArgsSchema: z.ZodType = z + .object({ + select: z.lazy(() => IdentitySelectSchema).optional(), + include: z.lazy(() => IdentityIncludeSchema).optional(), + }) + .strict() + +export const IdentitySelectSchema: z.ZodType = z + .object({ + id: z.boolean().optional(), + createdAt: z.boolean().optional(), + updatedAt: z.boolean().optional(), + provider: z.boolean().optional(), + providerId: z.boolean().optional(), + address: z.boolean().optional(), + name: z.boolean().optional(), + accessToken: z.boolean().optional(), + refreshToken: z.boolean().optional(), + profile: z.boolean().optional(), + verified: z.boolean().optional(), + ownerId: z.boolean().optional(), + owner: z.union([z.boolean(), z.lazy(() => UserArgsSchema)]).optional(), + }) + .strict() ///////////////////////////////////////// // INPUT TYPES ///////////////////////////////////////// -export const UserWhereInputSchema: z.ZodType = z.object({ - AND: z.union([ z.lazy(() => UserWhereInputSchema),z.lazy(() => UserWhereInputSchema).array() ]).optional(), - OR: z.lazy(() => UserWhereInputSchema).array().optional(), - NOT: z.union([ z.lazy(() => UserWhereInputSchema),z.lazy(() => UserWhereInputSchema).array() ]).optional(), - id: z.union([ z.lazy(() => StringFilterSchema),z.string() ]).optional(), - createdAt: z.union([ z.lazy(() => DateTimeFilterSchema),z.coerce.date() ]).optional(), - updatedAt: z.union([ z.lazy(() => DateTimeFilterSchema),z.coerce.date() ]).optional(), - username: z.union([ z.lazy(() => StringFilterSchema),z.string() ]).optional(), - password: z.union([ z.lazy(() => StringNullableFilterSchema),z.string() ]).optional().nullable(), - name: z.union([ z.lazy(() => StringNullableFilterSchema),z.string() ]).optional().nullable(), - avatarUrl: z.union([ z.lazy(() => StringNullableFilterSchema),z.string() ]).optional().nullable(), - admin: z.union([ z.lazy(() => BoolFilterSchema),z.boolean() ]).optional(), - identities: z.lazy(() => IdentityListRelationFilterSchema).optional() -}).strict(); - -export const UserOrderByWithRelationInputSchema: z.ZodType = z.object({ - id: z.lazy(() => SortOrderSchema).optional(), - createdAt: z.lazy(() => SortOrderSchema).optional(), - updatedAt: z.lazy(() => SortOrderSchema).optional(), - username: z.lazy(() => SortOrderSchema).optional(), - password: z.union([ z.lazy(() => SortOrderSchema),z.lazy(() => SortOrderInputSchema) ]).optional(), - name: z.union([ z.lazy(() => SortOrderSchema),z.lazy(() => SortOrderInputSchema) ]).optional(), - avatarUrl: z.union([ z.lazy(() => SortOrderSchema),z.lazy(() => SortOrderInputSchema) ]).optional(), - admin: z.lazy(() => SortOrderSchema).optional(), - identities: z.lazy(() => IdentityOrderByRelationAggregateInputSchema).optional() -}).strict(); - -export const UserWhereUniqueInputSchema: z.ZodType = z.union([ - z.object({ - id: z.string().cuid(), - username: z.string() - }), - z.object({ - id: z.string().cuid(), - }), - z.object({ +export const UserWhereInputSchema: z.ZodType = z + .object({ + AND: z.union([z.lazy(() => UserWhereInputSchema), z.lazy(() => UserWhereInputSchema).array()]).optional(), + OR: z + .lazy(() => UserWhereInputSchema) + .array() + .optional(), + NOT: z.union([z.lazy(() => UserWhereInputSchema), z.lazy(() => UserWhereInputSchema).array()]).optional(), + id: z.union([z.lazy(() => StringFilterSchema), z.string()]).optional(), + createdAt: z.union([z.lazy(() => DateTimeFilterSchema), z.coerce.date()]).optional(), + updatedAt: z.union([z.lazy(() => DateTimeFilterSchema), z.coerce.date()]).optional(), + username: z.union([z.lazy(() => StringFilterSchema), z.string()]).optional(), + password: z + .union([z.lazy(() => StringNullableFilterSchema), z.string()]) + .optional() + .nullable(), + name: z + .union([z.lazy(() => StringNullableFilterSchema), z.string()]) + .optional() + .nullable(), + avatarUrl: z + .union([z.lazy(() => StringNullableFilterSchema), z.string()]) + .optional() + .nullable(), + admin: z.union([z.lazy(() => BoolFilterSchema), z.boolean()]).optional(), + identities: z.lazy(() => IdentityListRelationFilterSchema).optional(), + }) + .strict() + +export const UserOrderByWithRelationInputSchema: z.ZodType = z + .object({ + id: z.lazy(() => SortOrderSchema).optional(), + createdAt: z.lazy(() => SortOrderSchema).optional(), + updatedAt: z.lazy(() => SortOrderSchema).optional(), + username: z.lazy(() => SortOrderSchema).optional(), + password: z.union([z.lazy(() => SortOrderSchema), z.lazy(() => SortOrderInputSchema)]).optional(), + name: z.union([z.lazy(() => SortOrderSchema), z.lazy(() => SortOrderInputSchema)]).optional(), + avatarUrl: z.union([z.lazy(() => SortOrderSchema), z.lazy(() => SortOrderInputSchema)]).optional(), + admin: z.lazy(() => SortOrderSchema).optional(), + identities: z.lazy(() => IdentityOrderByRelationAggregateInputSchema).optional(), + }) + .strict() + +export const UserWhereUniqueInputSchema: z.ZodType = z + .union([ + z.object({ + id: z.string().cuid(), + username: z.string(), + }), + z.object({ + id: z.string().cuid(), + }), + z.object({ + username: z.string(), + }), + ]) + .and( + z + .object({ + id: z.string().cuid().optional(), + username: z.string().optional(), + AND: z.union([z.lazy(() => UserWhereInputSchema), z.lazy(() => UserWhereInputSchema).array()]).optional(), + OR: z + .lazy(() => UserWhereInputSchema) + .array() + .optional(), + NOT: z.union([z.lazy(() => UserWhereInputSchema), z.lazy(() => UserWhereInputSchema).array()]).optional(), + createdAt: z.union([z.lazy(() => DateTimeFilterSchema), z.coerce.date()]).optional(), + updatedAt: z.union([z.lazy(() => DateTimeFilterSchema), z.coerce.date()]).optional(), + password: z + .union([z.lazy(() => StringNullableFilterSchema), z.string()]) + .optional() + .nullable(), + name: z + .union([z.lazy(() => StringNullableFilterSchema), z.string()]) + .optional() + .nullable(), + avatarUrl: z + .union([z.lazy(() => StringNullableFilterSchema), z.string()]) + .optional() + .nullable(), + admin: z.union([z.lazy(() => BoolFilterSchema), z.boolean()]).optional(), + identities: z.lazy(() => IdentityListRelationFilterSchema).optional(), + }) + .strict(), + ) + +export const UserOrderByWithAggregationInputSchema: z.ZodType = z + .object({ + id: z.lazy(() => SortOrderSchema).optional(), + createdAt: z.lazy(() => SortOrderSchema).optional(), + updatedAt: z.lazy(() => SortOrderSchema).optional(), + username: z.lazy(() => SortOrderSchema).optional(), + password: z.union([z.lazy(() => SortOrderSchema), z.lazy(() => SortOrderInputSchema)]).optional(), + name: z.union([z.lazy(() => SortOrderSchema), z.lazy(() => SortOrderInputSchema)]).optional(), + avatarUrl: z.union([z.lazy(() => SortOrderSchema), z.lazy(() => SortOrderInputSchema)]).optional(), + admin: z.lazy(() => SortOrderSchema).optional(), + _count: z.lazy(() => UserCountOrderByAggregateInputSchema).optional(), + _max: z.lazy(() => UserMaxOrderByAggregateInputSchema).optional(), + _min: z.lazy(() => UserMinOrderByAggregateInputSchema).optional(), + }) + .strict() + +export const UserScalarWhereWithAggregatesInputSchema: z.ZodType = z + .object({ + AND: z + .union([ + z.lazy(() => UserScalarWhereWithAggregatesInputSchema), + z.lazy(() => UserScalarWhereWithAggregatesInputSchema).array(), + ]) + .optional(), + OR: z + .lazy(() => UserScalarWhereWithAggregatesInputSchema) + .array() + .optional(), + NOT: z + .union([ + z.lazy(() => UserScalarWhereWithAggregatesInputSchema), + z.lazy(() => UserScalarWhereWithAggregatesInputSchema).array(), + ]) + .optional(), + id: z.union([z.lazy(() => StringWithAggregatesFilterSchema), z.string()]).optional(), + createdAt: z.union([z.lazy(() => DateTimeWithAggregatesFilterSchema), z.coerce.date()]).optional(), + updatedAt: z.union([z.lazy(() => DateTimeWithAggregatesFilterSchema), z.coerce.date()]).optional(), + username: z.union([z.lazy(() => StringWithAggregatesFilterSchema), z.string()]).optional(), + password: z + .union([z.lazy(() => StringNullableWithAggregatesFilterSchema), z.string()]) + .optional() + .nullable(), + name: z + .union([z.lazy(() => StringNullableWithAggregatesFilterSchema), z.string()]) + .optional() + .nullable(), + avatarUrl: z + .union([z.lazy(() => StringNullableWithAggregatesFilterSchema), z.string()]) + .optional() + .nullable(), + admin: z.union([z.lazy(() => BoolWithAggregatesFilterSchema), z.boolean()]).optional(), + }) + .strict() + +export const IdentityWhereInputSchema: z.ZodType = z + .object({ + AND: z.union([z.lazy(() => IdentityWhereInputSchema), z.lazy(() => IdentityWhereInputSchema).array()]).optional(), + OR: z + .lazy(() => IdentityWhereInputSchema) + .array() + .optional(), + NOT: z.union([z.lazy(() => IdentityWhereInputSchema), z.lazy(() => IdentityWhereInputSchema).array()]).optional(), + id: z.union([z.lazy(() => StringFilterSchema), z.string()]).optional(), + createdAt: z.union([z.lazy(() => DateTimeFilterSchema), z.coerce.date()]).optional(), + updatedAt: z.union([z.lazy(() => DateTimeFilterSchema), z.coerce.date()]).optional(), + provider: z + .union([z.lazy(() => EnumIdentityProviderFilterSchema), z.lazy(() => IdentityProviderSchema)]) + .optional(), + providerId: z.union([z.lazy(() => StringFilterSchema), z.string()]).optional(), + address: z + .union([z.lazy(() => StringNullableFilterSchema), z.string()]) + .optional() + .nullable(), + name: z + .union([z.lazy(() => StringNullableFilterSchema), z.string()]) + .optional() + .nullable(), + accessToken: z + .union([z.lazy(() => StringNullableFilterSchema), z.string()]) + .optional() + .nullable(), + refreshToken: z + .union([z.lazy(() => StringNullableFilterSchema), z.string()]) + .optional() + .nullable(), + profile: z.lazy(() => JsonNullableFilterSchema).optional(), + verified: z.union([z.lazy(() => BoolFilterSchema), z.boolean()]).optional(), + ownerId: z.union([z.lazy(() => StringFilterSchema), z.string()]).optional(), + owner: z.union([z.lazy(() => UserScalarRelationFilterSchema), z.lazy(() => UserWhereInputSchema)]).optional(), + }) + .strict() + +export const IdentityOrderByWithRelationInputSchema: z.ZodType = z + .object({ + id: z.lazy(() => SortOrderSchema).optional(), + createdAt: z.lazy(() => SortOrderSchema).optional(), + updatedAt: z.lazy(() => SortOrderSchema).optional(), + provider: z.lazy(() => SortOrderSchema).optional(), + providerId: z.lazy(() => SortOrderSchema).optional(), + address: z.union([z.lazy(() => SortOrderSchema), z.lazy(() => SortOrderInputSchema)]).optional(), + name: z.union([z.lazy(() => SortOrderSchema), z.lazy(() => SortOrderInputSchema)]).optional(), + accessToken: z.union([z.lazy(() => SortOrderSchema), z.lazy(() => SortOrderInputSchema)]).optional(), + refreshToken: z.union([z.lazy(() => SortOrderSchema), z.lazy(() => SortOrderInputSchema)]).optional(), + profile: z.union([z.lazy(() => SortOrderSchema), z.lazy(() => SortOrderInputSchema)]).optional(), + verified: z.lazy(() => SortOrderSchema).optional(), + ownerId: z.lazy(() => SortOrderSchema).optional(), + owner: z.lazy(() => UserOrderByWithRelationInputSchema).optional(), + }) + .strict() + +export const IdentityWhereUniqueInputSchema: z.ZodType = z + .union([ + z.object({ + id: z.string().cuid(), + provider_providerId: z.lazy(() => IdentityProviderProviderIdCompoundUniqueInputSchema), + }), + z.object({ + id: z.string().cuid(), + }), + z.object({ + provider_providerId: z.lazy(() => IdentityProviderProviderIdCompoundUniqueInputSchema), + }), + ]) + .and( + z + .object({ + id: z.string().cuid().optional(), + provider_providerId: z.lazy(() => IdentityProviderProviderIdCompoundUniqueInputSchema).optional(), + AND: z + .union([z.lazy(() => IdentityWhereInputSchema), z.lazy(() => IdentityWhereInputSchema).array()]) + .optional(), + OR: z + .lazy(() => IdentityWhereInputSchema) + .array() + .optional(), + NOT: z + .union([z.lazy(() => IdentityWhereInputSchema), z.lazy(() => IdentityWhereInputSchema).array()]) + .optional(), + createdAt: z.union([z.lazy(() => DateTimeFilterSchema), z.coerce.date()]).optional(), + updatedAt: z.union([z.lazy(() => DateTimeFilterSchema), z.coerce.date()]).optional(), + provider: z + .union([z.lazy(() => EnumIdentityProviderFilterSchema), z.lazy(() => IdentityProviderSchema)]) + .optional(), + providerId: z.union([z.lazy(() => StringFilterSchema), z.string()]).optional(), + address: z + .union([z.lazy(() => StringNullableFilterSchema), z.string()]) + .optional() + .nullable(), + name: z + .union([z.lazy(() => StringNullableFilterSchema), z.string()]) + .optional() + .nullable(), + accessToken: z + .union([z.lazy(() => StringNullableFilterSchema), z.string()]) + .optional() + .nullable(), + refreshToken: z + .union([z.lazy(() => StringNullableFilterSchema), z.string()]) + .optional() + .nullable(), + profile: z.lazy(() => JsonNullableFilterSchema).optional(), + verified: z.union([z.lazy(() => BoolFilterSchema), z.boolean()]).optional(), + ownerId: z.union([z.lazy(() => StringFilterSchema), z.string()]).optional(), + owner: z.union([z.lazy(() => UserScalarRelationFilterSchema), z.lazy(() => UserWhereInputSchema)]).optional(), + }) + .strict(), + ) + +export const IdentityOrderByWithAggregationInputSchema: z.ZodType = z + .object({ + id: z.lazy(() => SortOrderSchema).optional(), + createdAt: z.lazy(() => SortOrderSchema).optional(), + updatedAt: z.lazy(() => SortOrderSchema).optional(), + provider: z.lazy(() => SortOrderSchema).optional(), + providerId: z.lazy(() => SortOrderSchema).optional(), + address: z.union([z.lazy(() => SortOrderSchema), z.lazy(() => SortOrderInputSchema)]).optional(), + name: z.union([z.lazy(() => SortOrderSchema), z.lazy(() => SortOrderInputSchema)]).optional(), + accessToken: z.union([z.lazy(() => SortOrderSchema), z.lazy(() => SortOrderInputSchema)]).optional(), + refreshToken: z.union([z.lazy(() => SortOrderSchema), z.lazy(() => SortOrderInputSchema)]).optional(), + profile: z.union([z.lazy(() => SortOrderSchema), z.lazy(() => SortOrderInputSchema)]).optional(), + verified: z.lazy(() => SortOrderSchema).optional(), + ownerId: z.lazy(() => SortOrderSchema).optional(), + _count: z.lazy(() => IdentityCountOrderByAggregateInputSchema).optional(), + _max: z.lazy(() => IdentityMaxOrderByAggregateInputSchema).optional(), + _min: z.lazy(() => IdentityMinOrderByAggregateInputSchema).optional(), + }) + .strict() + +export const IdentityScalarWhereWithAggregatesInputSchema: z.ZodType = z + .object({ + AND: z + .union([ + z.lazy(() => IdentityScalarWhereWithAggregatesInputSchema), + z.lazy(() => IdentityScalarWhereWithAggregatesInputSchema).array(), + ]) + .optional(), + OR: z + .lazy(() => IdentityScalarWhereWithAggregatesInputSchema) + .array() + .optional(), + NOT: z + .union([ + z.lazy(() => IdentityScalarWhereWithAggregatesInputSchema), + z.lazy(() => IdentityScalarWhereWithAggregatesInputSchema).array(), + ]) + .optional(), + id: z.union([z.lazy(() => StringWithAggregatesFilterSchema), z.string()]).optional(), + createdAt: z.union([z.lazy(() => DateTimeWithAggregatesFilterSchema), z.coerce.date()]).optional(), + updatedAt: z.union([z.lazy(() => DateTimeWithAggregatesFilterSchema), z.coerce.date()]).optional(), + provider: z + .union([z.lazy(() => EnumIdentityProviderWithAggregatesFilterSchema), z.lazy(() => IdentityProviderSchema)]) + .optional(), + providerId: z.union([z.lazy(() => StringWithAggregatesFilterSchema), z.string()]).optional(), + address: z + .union([z.lazy(() => StringNullableWithAggregatesFilterSchema), z.string()]) + .optional() + .nullable(), + name: z + .union([z.lazy(() => StringNullableWithAggregatesFilterSchema), z.string()]) + .optional() + .nullable(), + accessToken: z + .union([z.lazy(() => StringNullableWithAggregatesFilterSchema), z.string()]) + .optional() + .nullable(), + refreshToken: z + .union([z.lazy(() => StringNullableWithAggregatesFilterSchema), z.string()]) + .optional() + .nullable(), + profile: z.lazy(() => JsonNullableWithAggregatesFilterSchema).optional(), + verified: z.union([z.lazy(() => BoolWithAggregatesFilterSchema), z.boolean()]).optional(), + ownerId: z.union([z.lazy(() => StringWithAggregatesFilterSchema), z.string()]).optional(), + }) + .strict() + +export const UserCreateInputSchema: z.ZodType = z + .object({ + id: z.string().cuid().optional(), + createdAt: z.coerce.date().optional(), + updatedAt: z.coerce.date().optional(), username: z.string(), - }), -]) -.and(z.object({ - id: z.string().cuid().optional(), - username: z.string().optional(), - AND: z.union([ z.lazy(() => UserWhereInputSchema),z.lazy(() => UserWhereInputSchema).array() ]).optional(), - OR: z.lazy(() => UserWhereInputSchema).array().optional(), - NOT: z.union([ z.lazy(() => UserWhereInputSchema),z.lazy(() => UserWhereInputSchema).array() ]).optional(), - createdAt: z.union([ z.lazy(() => DateTimeFilterSchema),z.coerce.date() ]).optional(), - updatedAt: z.union([ z.lazy(() => DateTimeFilterSchema),z.coerce.date() ]).optional(), - password: z.union([ z.lazy(() => StringNullableFilterSchema),z.string() ]).optional().nullable(), - name: z.union([ z.lazy(() => StringNullableFilterSchema),z.string() ]).optional().nullable(), - avatarUrl: z.union([ z.lazy(() => StringNullableFilterSchema),z.string() ]).optional().nullable(), - admin: z.union([ z.lazy(() => BoolFilterSchema),z.boolean() ]).optional(), - identities: z.lazy(() => IdentityListRelationFilterSchema).optional() -}).strict()); - -export const UserOrderByWithAggregationInputSchema: z.ZodType = z.object({ - id: z.lazy(() => SortOrderSchema).optional(), - createdAt: z.lazy(() => SortOrderSchema).optional(), - updatedAt: z.lazy(() => SortOrderSchema).optional(), - username: z.lazy(() => SortOrderSchema).optional(), - password: z.union([ z.lazy(() => SortOrderSchema),z.lazy(() => SortOrderInputSchema) ]).optional(), - name: z.union([ z.lazy(() => SortOrderSchema),z.lazy(() => SortOrderInputSchema) ]).optional(), - avatarUrl: z.union([ z.lazy(() => SortOrderSchema),z.lazy(() => SortOrderInputSchema) ]).optional(), - admin: z.lazy(() => SortOrderSchema).optional(), - _count: z.lazy(() => UserCountOrderByAggregateInputSchema).optional(), - _max: z.lazy(() => UserMaxOrderByAggregateInputSchema).optional(), - _min: z.lazy(() => UserMinOrderByAggregateInputSchema).optional() -}).strict(); - -export const UserScalarWhereWithAggregatesInputSchema: z.ZodType = z.object({ - AND: z.union([ z.lazy(() => UserScalarWhereWithAggregatesInputSchema),z.lazy(() => UserScalarWhereWithAggregatesInputSchema).array() ]).optional(), - OR: z.lazy(() => UserScalarWhereWithAggregatesInputSchema).array().optional(), - NOT: z.union([ z.lazy(() => UserScalarWhereWithAggregatesInputSchema),z.lazy(() => UserScalarWhereWithAggregatesInputSchema).array() ]).optional(), - id: z.union([ z.lazy(() => StringWithAggregatesFilterSchema),z.string() ]).optional(), - createdAt: z.union([ z.lazy(() => DateTimeWithAggregatesFilterSchema),z.coerce.date() ]).optional(), - updatedAt: z.union([ z.lazy(() => DateTimeWithAggregatesFilterSchema),z.coerce.date() ]).optional(), - username: z.union([ z.lazy(() => StringWithAggregatesFilterSchema),z.string() ]).optional(), - password: z.union([ z.lazy(() => StringNullableWithAggregatesFilterSchema),z.string() ]).optional().nullable(), - name: z.union([ z.lazy(() => StringNullableWithAggregatesFilterSchema),z.string() ]).optional().nullable(), - avatarUrl: z.union([ z.lazy(() => StringNullableWithAggregatesFilterSchema),z.string() ]).optional().nullable(), - admin: z.union([ z.lazy(() => BoolWithAggregatesFilterSchema),z.boolean() ]).optional(), -}).strict(); - -export const IdentityWhereInputSchema: z.ZodType = z.object({ - AND: z.union([ z.lazy(() => IdentityWhereInputSchema),z.lazy(() => IdentityWhereInputSchema).array() ]).optional(), - OR: z.lazy(() => IdentityWhereInputSchema).array().optional(), - NOT: z.union([ z.lazy(() => IdentityWhereInputSchema),z.lazy(() => IdentityWhereInputSchema).array() ]).optional(), - id: z.union([ z.lazy(() => StringFilterSchema),z.string() ]).optional(), - createdAt: z.union([ z.lazy(() => DateTimeFilterSchema),z.coerce.date() ]).optional(), - updatedAt: z.union([ z.lazy(() => DateTimeFilterSchema),z.coerce.date() ]).optional(), - provider: z.union([ z.lazy(() => EnumIdentityProviderFilterSchema),z.lazy(() => IdentityProviderSchema) ]).optional(), - providerId: z.union([ z.lazy(() => StringFilterSchema),z.string() ]).optional(), - address: z.union([ z.lazy(() => StringNullableFilterSchema),z.string() ]).optional().nullable(), - name: z.union([ z.lazy(() => StringNullableFilterSchema),z.string() ]).optional().nullable(), - accessToken: z.union([ z.lazy(() => StringNullableFilterSchema),z.string() ]).optional().nullable(), - refreshToken: z.union([ z.lazy(() => StringNullableFilterSchema),z.string() ]).optional().nullable(), - profile: z.lazy(() => JsonNullableFilterSchema).optional(), - verified: z.union([ z.lazy(() => BoolFilterSchema),z.boolean() ]).optional(), - ownerId: z.union([ z.lazy(() => StringFilterSchema),z.string() ]).optional(), - owner: z.union([ z.lazy(() => UserScalarRelationFilterSchema),z.lazy(() => UserWhereInputSchema) ]).optional(), -}).strict(); - -export const IdentityOrderByWithRelationInputSchema: z.ZodType = z.object({ - id: z.lazy(() => SortOrderSchema).optional(), - createdAt: z.lazy(() => SortOrderSchema).optional(), - updatedAt: z.lazy(() => SortOrderSchema).optional(), - provider: z.lazy(() => SortOrderSchema).optional(), - providerId: z.lazy(() => SortOrderSchema).optional(), - address: z.union([ z.lazy(() => SortOrderSchema),z.lazy(() => SortOrderInputSchema) ]).optional(), - name: z.union([ z.lazy(() => SortOrderSchema),z.lazy(() => SortOrderInputSchema) ]).optional(), - accessToken: z.union([ z.lazy(() => SortOrderSchema),z.lazy(() => SortOrderInputSchema) ]).optional(), - refreshToken: z.union([ z.lazy(() => SortOrderSchema),z.lazy(() => SortOrderInputSchema) ]).optional(), - profile: z.union([ z.lazy(() => SortOrderSchema),z.lazy(() => SortOrderInputSchema) ]).optional(), - verified: z.lazy(() => SortOrderSchema).optional(), - ownerId: z.lazy(() => SortOrderSchema).optional(), - owner: z.lazy(() => UserOrderByWithRelationInputSchema).optional() -}).strict(); - -export const IdentityWhereUniqueInputSchema: z.ZodType = z.union([ - z.object({ - id: z.string().cuid(), - provider_providerId: z.lazy(() => IdentityProviderProviderIdCompoundUniqueInputSchema) - }), - z.object({ - id: z.string().cuid(), - }), - z.object({ - provider_providerId: z.lazy(() => IdentityProviderProviderIdCompoundUniqueInputSchema), - }), -]) -.and(z.object({ - id: z.string().cuid().optional(), - provider_providerId: z.lazy(() => IdentityProviderProviderIdCompoundUniqueInputSchema).optional(), - AND: z.union([ z.lazy(() => IdentityWhereInputSchema),z.lazy(() => IdentityWhereInputSchema).array() ]).optional(), - OR: z.lazy(() => IdentityWhereInputSchema).array().optional(), - NOT: z.union([ z.lazy(() => IdentityWhereInputSchema),z.lazy(() => IdentityWhereInputSchema).array() ]).optional(), - createdAt: z.union([ z.lazy(() => DateTimeFilterSchema),z.coerce.date() ]).optional(), - updatedAt: z.union([ z.lazy(() => DateTimeFilterSchema),z.coerce.date() ]).optional(), - provider: z.union([ z.lazy(() => EnumIdentityProviderFilterSchema),z.lazy(() => IdentityProviderSchema) ]).optional(), - providerId: z.union([ z.lazy(() => StringFilterSchema),z.string() ]).optional(), - address: z.union([ z.lazy(() => StringNullableFilterSchema),z.string() ]).optional().nullable(), - name: z.union([ z.lazy(() => StringNullableFilterSchema),z.string() ]).optional().nullable(), - accessToken: z.union([ z.lazy(() => StringNullableFilterSchema),z.string() ]).optional().nullable(), - refreshToken: z.union([ z.lazy(() => StringNullableFilterSchema),z.string() ]).optional().nullable(), - profile: z.lazy(() => JsonNullableFilterSchema).optional(), - verified: z.union([ z.lazy(() => BoolFilterSchema),z.boolean() ]).optional(), - ownerId: z.union([ z.lazy(() => StringFilterSchema),z.string() ]).optional(), - owner: z.union([ z.lazy(() => UserScalarRelationFilterSchema),z.lazy(() => UserWhereInputSchema) ]).optional(), -}).strict()); - -export const IdentityOrderByWithAggregationInputSchema: z.ZodType = z.object({ - id: z.lazy(() => SortOrderSchema).optional(), - createdAt: z.lazy(() => SortOrderSchema).optional(), - updatedAt: z.lazy(() => SortOrderSchema).optional(), - provider: z.lazy(() => SortOrderSchema).optional(), - providerId: z.lazy(() => SortOrderSchema).optional(), - address: z.union([ z.lazy(() => SortOrderSchema),z.lazy(() => SortOrderInputSchema) ]).optional(), - name: z.union([ z.lazy(() => SortOrderSchema),z.lazy(() => SortOrderInputSchema) ]).optional(), - accessToken: z.union([ z.lazy(() => SortOrderSchema),z.lazy(() => SortOrderInputSchema) ]).optional(), - refreshToken: z.union([ z.lazy(() => SortOrderSchema),z.lazy(() => SortOrderInputSchema) ]).optional(), - profile: z.union([ z.lazy(() => SortOrderSchema),z.lazy(() => SortOrderInputSchema) ]).optional(), - verified: z.lazy(() => SortOrderSchema).optional(), - ownerId: z.lazy(() => SortOrderSchema).optional(), - _count: z.lazy(() => IdentityCountOrderByAggregateInputSchema).optional(), - _max: z.lazy(() => IdentityMaxOrderByAggregateInputSchema).optional(), - _min: z.lazy(() => IdentityMinOrderByAggregateInputSchema).optional() -}).strict(); - -export const IdentityScalarWhereWithAggregatesInputSchema: z.ZodType = z.object({ - AND: z.union([ z.lazy(() => IdentityScalarWhereWithAggregatesInputSchema),z.lazy(() => IdentityScalarWhereWithAggregatesInputSchema).array() ]).optional(), - OR: z.lazy(() => IdentityScalarWhereWithAggregatesInputSchema).array().optional(), - NOT: z.union([ z.lazy(() => IdentityScalarWhereWithAggregatesInputSchema),z.lazy(() => IdentityScalarWhereWithAggregatesInputSchema).array() ]).optional(), - id: z.union([ z.lazy(() => StringWithAggregatesFilterSchema),z.string() ]).optional(), - createdAt: z.union([ z.lazy(() => DateTimeWithAggregatesFilterSchema),z.coerce.date() ]).optional(), - updatedAt: z.union([ z.lazy(() => DateTimeWithAggregatesFilterSchema),z.coerce.date() ]).optional(), - provider: z.union([ z.lazy(() => EnumIdentityProviderWithAggregatesFilterSchema),z.lazy(() => IdentityProviderSchema) ]).optional(), - providerId: z.union([ z.lazy(() => StringWithAggregatesFilterSchema),z.string() ]).optional(), - address: z.union([ z.lazy(() => StringNullableWithAggregatesFilterSchema),z.string() ]).optional().nullable(), - name: z.union([ z.lazy(() => StringNullableWithAggregatesFilterSchema),z.string() ]).optional().nullable(), - accessToken: z.union([ z.lazy(() => StringNullableWithAggregatesFilterSchema),z.string() ]).optional().nullable(), - refreshToken: z.union([ z.lazy(() => StringNullableWithAggregatesFilterSchema),z.string() ]).optional().nullable(), - profile: z.lazy(() => JsonNullableWithAggregatesFilterSchema).optional(), - verified: z.union([ z.lazy(() => BoolWithAggregatesFilterSchema),z.boolean() ]).optional(), - ownerId: z.union([ z.lazy(() => StringWithAggregatesFilterSchema),z.string() ]).optional(), -}).strict(); - -export const UserCreateInputSchema: z.ZodType = z.object({ - id: z.string().cuid().optional(), - createdAt: z.coerce.date().optional(), - updatedAt: z.coerce.date().optional(), - username: z.string(), - password: z.string().optional().nullable(), - name: z.string().optional().nullable(), - avatarUrl: z.string().optional().nullable(), - admin: z.boolean().optional(), - identities: z.lazy(() => IdentityCreateNestedManyWithoutOwnerInputSchema).optional() -}).strict(); - -export const UserUncheckedCreateInputSchema: z.ZodType = z.object({ - id: z.string().cuid().optional(), - createdAt: z.coerce.date().optional(), - updatedAt: z.coerce.date().optional(), - username: z.string(), - password: z.string().optional().nullable(), - name: z.string().optional().nullable(), - avatarUrl: z.string().optional().nullable(), - admin: z.boolean().optional(), - identities: z.lazy(() => IdentityUncheckedCreateNestedManyWithoutOwnerInputSchema).optional() -}).strict(); - -export const UserUpdateInputSchema: z.ZodType = z.object({ - id: z.union([ z.string().cuid(),z.lazy(() => StringFieldUpdateOperationsInputSchema) ]).optional(), - createdAt: z.union([ z.coerce.date(),z.lazy(() => DateTimeFieldUpdateOperationsInputSchema) ]).optional(), - updatedAt: z.union([ z.coerce.date(),z.lazy(() => DateTimeFieldUpdateOperationsInputSchema) ]).optional(), - username: z.union([ z.string(),z.lazy(() => StringFieldUpdateOperationsInputSchema) ]).optional(), - password: z.union([ z.string(),z.lazy(() => NullableStringFieldUpdateOperationsInputSchema) ]).optional().nullable(), - name: z.union([ z.string(),z.lazy(() => NullableStringFieldUpdateOperationsInputSchema) ]).optional().nullable(), - avatarUrl: z.union([ z.string(),z.lazy(() => NullableStringFieldUpdateOperationsInputSchema) ]).optional().nullable(), - admin: z.union([ z.boolean(),z.lazy(() => BoolFieldUpdateOperationsInputSchema) ]).optional(), - identities: z.lazy(() => IdentityUpdateManyWithoutOwnerNestedInputSchema).optional() -}).strict(); - -export const UserUncheckedUpdateInputSchema: z.ZodType = z.object({ - id: z.union([ z.string().cuid(),z.lazy(() => StringFieldUpdateOperationsInputSchema) ]).optional(), - createdAt: z.union([ z.coerce.date(),z.lazy(() => DateTimeFieldUpdateOperationsInputSchema) ]).optional(), - updatedAt: z.union([ z.coerce.date(),z.lazy(() => DateTimeFieldUpdateOperationsInputSchema) ]).optional(), - username: z.union([ z.string(),z.lazy(() => StringFieldUpdateOperationsInputSchema) ]).optional(), - password: z.union([ z.string(),z.lazy(() => NullableStringFieldUpdateOperationsInputSchema) ]).optional().nullable(), - name: z.union([ z.string(),z.lazy(() => NullableStringFieldUpdateOperationsInputSchema) ]).optional().nullable(), - avatarUrl: z.union([ z.string(),z.lazy(() => NullableStringFieldUpdateOperationsInputSchema) ]).optional().nullable(), - admin: z.union([ z.boolean(),z.lazy(() => BoolFieldUpdateOperationsInputSchema) ]).optional(), - identities: z.lazy(() => IdentityUncheckedUpdateManyWithoutOwnerNestedInputSchema).optional() -}).strict(); - -export const UserCreateManyInputSchema: z.ZodType = z.object({ - id: z.string().cuid().optional(), - createdAt: z.coerce.date().optional(), - updatedAt: z.coerce.date().optional(), - username: z.string(), - password: z.string().optional().nullable(), - name: z.string().optional().nullable(), - avatarUrl: z.string().optional().nullable(), - admin: z.boolean().optional() -}).strict(); - -export const UserUpdateManyMutationInputSchema: z.ZodType = z.object({ - id: z.union([ z.string().cuid(),z.lazy(() => StringFieldUpdateOperationsInputSchema) ]).optional(), - createdAt: z.union([ z.coerce.date(),z.lazy(() => DateTimeFieldUpdateOperationsInputSchema) ]).optional(), - updatedAt: z.union([ z.coerce.date(),z.lazy(() => DateTimeFieldUpdateOperationsInputSchema) ]).optional(), - username: z.union([ z.string(),z.lazy(() => StringFieldUpdateOperationsInputSchema) ]).optional(), - password: z.union([ z.string(),z.lazy(() => NullableStringFieldUpdateOperationsInputSchema) ]).optional().nullable(), - name: z.union([ z.string(),z.lazy(() => NullableStringFieldUpdateOperationsInputSchema) ]).optional().nullable(), - avatarUrl: z.union([ z.string(),z.lazy(() => NullableStringFieldUpdateOperationsInputSchema) ]).optional().nullable(), - admin: z.union([ z.boolean(),z.lazy(() => BoolFieldUpdateOperationsInputSchema) ]).optional(), -}).strict(); - -export const UserUncheckedUpdateManyInputSchema: z.ZodType = z.object({ - id: z.union([ z.string().cuid(),z.lazy(() => StringFieldUpdateOperationsInputSchema) ]).optional(), - createdAt: z.union([ z.coerce.date(),z.lazy(() => DateTimeFieldUpdateOperationsInputSchema) ]).optional(), - updatedAt: z.union([ z.coerce.date(),z.lazy(() => DateTimeFieldUpdateOperationsInputSchema) ]).optional(), - username: z.union([ z.string(),z.lazy(() => StringFieldUpdateOperationsInputSchema) ]).optional(), - password: z.union([ z.string(),z.lazy(() => NullableStringFieldUpdateOperationsInputSchema) ]).optional().nullable(), - name: z.union([ z.string(),z.lazy(() => NullableStringFieldUpdateOperationsInputSchema) ]).optional().nullable(), - avatarUrl: z.union([ z.string(),z.lazy(() => NullableStringFieldUpdateOperationsInputSchema) ]).optional().nullable(), - admin: z.union([ z.boolean(),z.lazy(() => BoolFieldUpdateOperationsInputSchema) ]).optional(), -}).strict(); - -export const IdentityCreateInputSchema: z.ZodType = z.object({ - id: z.string().cuid().optional(), - createdAt: z.coerce.date().optional(), - updatedAt: z.coerce.date().optional(), - provider: z.lazy(() => IdentityProviderSchema), - providerId: z.string(), - address: z.string().optional().nullable(), - name: z.string().optional().nullable(), - accessToken: z.string().optional().nullable(), - refreshToken: z.string().optional().nullable(), - profile: z.union([ z.lazy(() => NullableJsonNullValueInputSchema),InputJsonValueSchema ]).optional(), - verified: z.boolean().optional(), - owner: z.lazy(() => UserCreateNestedOneWithoutIdentitiesInputSchema) -}).strict(); - -export const IdentityUncheckedCreateInputSchema: z.ZodType = z.object({ - id: z.string().cuid().optional(), - createdAt: z.coerce.date().optional(), - updatedAt: z.coerce.date().optional(), - provider: z.lazy(() => IdentityProviderSchema), - providerId: z.string(), - address: z.string().optional().nullable(), - name: z.string().optional().nullable(), - accessToken: z.string().optional().nullable(), - refreshToken: z.string().optional().nullable(), - profile: z.union([ z.lazy(() => NullableJsonNullValueInputSchema),InputJsonValueSchema ]).optional(), - verified: z.boolean().optional(), - ownerId: z.string() -}).strict(); - -export const IdentityUpdateInputSchema: z.ZodType = z.object({ - id: z.union([ z.string().cuid(),z.lazy(() => StringFieldUpdateOperationsInputSchema) ]).optional(), - createdAt: z.union([ z.coerce.date(),z.lazy(() => DateTimeFieldUpdateOperationsInputSchema) ]).optional(), - updatedAt: z.union([ z.coerce.date(),z.lazy(() => DateTimeFieldUpdateOperationsInputSchema) ]).optional(), - provider: z.union([ z.lazy(() => IdentityProviderSchema),z.lazy(() => EnumIdentityProviderFieldUpdateOperationsInputSchema) ]).optional(), - providerId: z.union([ z.string(),z.lazy(() => StringFieldUpdateOperationsInputSchema) ]).optional(), - address: z.union([ z.string(),z.lazy(() => NullableStringFieldUpdateOperationsInputSchema) ]).optional().nullable(), - name: z.union([ z.string(),z.lazy(() => NullableStringFieldUpdateOperationsInputSchema) ]).optional().nullable(), - accessToken: z.union([ z.string(),z.lazy(() => NullableStringFieldUpdateOperationsInputSchema) ]).optional().nullable(), - refreshToken: z.union([ z.string(),z.lazy(() => NullableStringFieldUpdateOperationsInputSchema) ]).optional().nullable(), - profile: z.union([ z.lazy(() => NullableJsonNullValueInputSchema),InputJsonValueSchema ]).optional(), - verified: z.union([ z.boolean(),z.lazy(() => BoolFieldUpdateOperationsInputSchema) ]).optional(), - owner: z.lazy(() => UserUpdateOneRequiredWithoutIdentitiesNestedInputSchema).optional() -}).strict(); - -export const IdentityUncheckedUpdateInputSchema: z.ZodType = z.object({ - id: z.union([ z.string().cuid(),z.lazy(() => StringFieldUpdateOperationsInputSchema) ]).optional(), - createdAt: z.union([ z.coerce.date(),z.lazy(() => DateTimeFieldUpdateOperationsInputSchema) ]).optional(), - updatedAt: z.union([ z.coerce.date(),z.lazy(() => DateTimeFieldUpdateOperationsInputSchema) ]).optional(), - provider: z.union([ z.lazy(() => IdentityProviderSchema),z.lazy(() => EnumIdentityProviderFieldUpdateOperationsInputSchema) ]).optional(), - providerId: z.union([ z.string(),z.lazy(() => StringFieldUpdateOperationsInputSchema) ]).optional(), - address: z.union([ z.string(),z.lazy(() => NullableStringFieldUpdateOperationsInputSchema) ]).optional().nullable(), - name: z.union([ z.string(),z.lazy(() => NullableStringFieldUpdateOperationsInputSchema) ]).optional().nullable(), - accessToken: z.union([ z.string(),z.lazy(() => NullableStringFieldUpdateOperationsInputSchema) ]).optional().nullable(), - refreshToken: z.union([ z.string(),z.lazy(() => NullableStringFieldUpdateOperationsInputSchema) ]).optional().nullable(), - profile: z.union([ z.lazy(() => NullableJsonNullValueInputSchema),InputJsonValueSchema ]).optional(), - verified: z.union([ z.boolean(),z.lazy(() => BoolFieldUpdateOperationsInputSchema) ]).optional(), - ownerId: z.union([ z.string(),z.lazy(() => StringFieldUpdateOperationsInputSchema) ]).optional(), -}).strict(); - -export const IdentityCreateManyInputSchema: z.ZodType = z.object({ - id: z.string().cuid().optional(), - createdAt: z.coerce.date().optional(), - updatedAt: z.coerce.date().optional(), - provider: z.lazy(() => IdentityProviderSchema), - providerId: z.string(), - address: z.string().optional().nullable(), - name: z.string().optional().nullable(), - accessToken: z.string().optional().nullable(), - refreshToken: z.string().optional().nullable(), - profile: z.union([ z.lazy(() => NullableJsonNullValueInputSchema),InputJsonValueSchema ]).optional(), - verified: z.boolean().optional(), - ownerId: z.string() -}).strict(); - -export const IdentityUpdateManyMutationInputSchema: z.ZodType = z.object({ - id: z.union([ z.string().cuid(),z.lazy(() => StringFieldUpdateOperationsInputSchema) ]).optional(), - createdAt: z.union([ z.coerce.date(),z.lazy(() => DateTimeFieldUpdateOperationsInputSchema) ]).optional(), - updatedAt: z.union([ z.coerce.date(),z.lazy(() => DateTimeFieldUpdateOperationsInputSchema) ]).optional(), - provider: z.union([ z.lazy(() => IdentityProviderSchema),z.lazy(() => EnumIdentityProviderFieldUpdateOperationsInputSchema) ]).optional(), - providerId: z.union([ z.string(),z.lazy(() => StringFieldUpdateOperationsInputSchema) ]).optional(), - address: z.union([ z.string(),z.lazy(() => NullableStringFieldUpdateOperationsInputSchema) ]).optional().nullable(), - name: z.union([ z.string(),z.lazy(() => NullableStringFieldUpdateOperationsInputSchema) ]).optional().nullable(), - accessToken: z.union([ z.string(),z.lazy(() => NullableStringFieldUpdateOperationsInputSchema) ]).optional().nullable(), - refreshToken: z.union([ z.string(),z.lazy(() => NullableStringFieldUpdateOperationsInputSchema) ]).optional().nullable(), - profile: z.union([ z.lazy(() => NullableJsonNullValueInputSchema),InputJsonValueSchema ]).optional(), - verified: z.union([ z.boolean(),z.lazy(() => BoolFieldUpdateOperationsInputSchema) ]).optional(), -}).strict(); - -export const IdentityUncheckedUpdateManyInputSchema: z.ZodType = z.object({ - id: z.union([ z.string().cuid(),z.lazy(() => StringFieldUpdateOperationsInputSchema) ]).optional(), - createdAt: z.union([ z.coerce.date(),z.lazy(() => DateTimeFieldUpdateOperationsInputSchema) ]).optional(), - updatedAt: z.union([ z.coerce.date(),z.lazy(() => DateTimeFieldUpdateOperationsInputSchema) ]).optional(), - provider: z.union([ z.lazy(() => IdentityProviderSchema),z.lazy(() => EnumIdentityProviderFieldUpdateOperationsInputSchema) ]).optional(), - providerId: z.union([ z.string(),z.lazy(() => StringFieldUpdateOperationsInputSchema) ]).optional(), - address: z.union([ z.string(),z.lazy(() => NullableStringFieldUpdateOperationsInputSchema) ]).optional().nullable(), - name: z.union([ z.string(),z.lazy(() => NullableStringFieldUpdateOperationsInputSchema) ]).optional().nullable(), - accessToken: z.union([ z.string(),z.lazy(() => NullableStringFieldUpdateOperationsInputSchema) ]).optional().nullable(), - refreshToken: z.union([ z.string(),z.lazy(() => NullableStringFieldUpdateOperationsInputSchema) ]).optional().nullable(), - profile: z.union([ z.lazy(() => NullableJsonNullValueInputSchema),InputJsonValueSchema ]).optional(), - verified: z.union([ z.boolean(),z.lazy(() => BoolFieldUpdateOperationsInputSchema) ]).optional(), - ownerId: z.union([ z.string(),z.lazy(() => StringFieldUpdateOperationsInputSchema) ]).optional(), -}).strict(); - -export const StringFilterSchema: z.ZodType = z.object({ - equals: z.string().optional(), - in: z.string().array().optional(), - notIn: z.string().array().optional(), - lt: z.string().optional(), - lte: z.string().optional(), - gt: z.string().optional(), - gte: z.string().optional(), - contains: z.string().optional(), - startsWith: z.string().optional(), - endsWith: z.string().optional(), - mode: z.lazy(() => QueryModeSchema).optional(), - not: z.union([ z.string(),z.lazy(() => NestedStringFilterSchema) ]).optional(), -}).strict(); - -export const DateTimeFilterSchema: z.ZodType = z.object({ - equals: z.coerce.date().optional(), - in: z.coerce.date().array().optional(), - notIn: z.coerce.date().array().optional(), - lt: z.coerce.date().optional(), - lte: z.coerce.date().optional(), - gt: z.coerce.date().optional(), - gte: z.coerce.date().optional(), - not: z.union([ z.coerce.date(),z.lazy(() => NestedDateTimeFilterSchema) ]).optional(), -}).strict(); - -export const StringNullableFilterSchema: z.ZodType = z.object({ - equals: z.string().optional().nullable(), - in: z.string().array().optional().nullable(), - notIn: z.string().array().optional().nullable(), - lt: z.string().optional(), - lte: z.string().optional(), - gt: z.string().optional(), - gte: z.string().optional(), - contains: z.string().optional(), - startsWith: z.string().optional(), - endsWith: z.string().optional(), - mode: z.lazy(() => QueryModeSchema).optional(), - not: z.union([ z.string(),z.lazy(() => NestedStringNullableFilterSchema) ]).optional().nullable(), -}).strict(); - -export const BoolFilterSchema: z.ZodType = z.object({ - equals: z.boolean().optional(), - not: z.union([ z.boolean(),z.lazy(() => NestedBoolFilterSchema) ]).optional(), -}).strict(); - -export const IdentityListRelationFilterSchema: z.ZodType = z.object({ - every: z.lazy(() => IdentityWhereInputSchema).optional(), - some: z.lazy(() => IdentityWhereInputSchema).optional(), - none: z.lazy(() => IdentityWhereInputSchema).optional() -}).strict(); - -export const SortOrderInputSchema: z.ZodType = z.object({ - sort: z.lazy(() => SortOrderSchema), - nulls: z.lazy(() => NullsOrderSchema).optional() -}).strict(); - -export const IdentityOrderByRelationAggregateInputSchema: z.ZodType = z.object({ - _count: z.lazy(() => SortOrderSchema).optional() -}).strict(); - -export const UserCountOrderByAggregateInputSchema: z.ZodType = z.object({ - id: z.lazy(() => SortOrderSchema).optional(), - createdAt: z.lazy(() => SortOrderSchema).optional(), - updatedAt: z.lazy(() => SortOrderSchema).optional(), - username: z.lazy(() => SortOrderSchema).optional(), - password: z.lazy(() => SortOrderSchema).optional(), - name: z.lazy(() => SortOrderSchema).optional(), - avatarUrl: z.lazy(() => SortOrderSchema).optional(), - admin: z.lazy(() => SortOrderSchema).optional() -}).strict(); - -export const UserMaxOrderByAggregateInputSchema: z.ZodType = z.object({ - id: z.lazy(() => SortOrderSchema).optional(), - createdAt: z.lazy(() => SortOrderSchema).optional(), - updatedAt: z.lazy(() => SortOrderSchema).optional(), - username: z.lazy(() => SortOrderSchema).optional(), - password: z.lazy(() => SortOrderSchema).optional(), - name: z.lazy(() => SortOrderSchema).optional(), - avatarUrl: z.lazy(() => SortOrderSchema).optional(), - admin: z.lazy(() => SortOrderSchema).optional() -}).strict(); - -export const UserMinOrderByAggregateInputSchema: z.ZodType = z.object({ - id: z.lazy(() => SortOrderSchema).optional(), - createdAt: z.lazy(() => SortOrderSchema).optional(), - updatedAt: z.lazy(() => SortOrderSchema).optional(), - username: z.lazy(() => SortOrderSchema).optional(), - password: z.lazy(() => SortOrderSchema).optional(), - name: z.lazy(() => SortOrderSchema).optional(), - avatarUrl: z.lazy(() => SortOrderSchema).optional(), - admin: z.lazy(() => SortOrderSchema).optional() -}).strict(); - -export const StringWithAggregatesFilterSchema: z.ZodType = z.object({ - equals: z.string().optional(), - in: z.string().array().optional(), - notIn: z.string().array().optional(), - lt: z.string().optional(), - lte: z.string().optional(), - gt: z.string().optional(), - gte: z.string().optional(), - contains: z.string().optional(), - startsWith: z.string().optional(), - endsWith: z.string().optional(), - mode: z.lazy(() => QueryModeSchema).optional(), - not: z.union([ z.string(),z.lazy(() => NestedStringWithAggregatesFilterSchema) ]).optional(), - _count: z.lazy(() => NestedIntFilterSchema).optional(), - _min: z.lazy(() => NestedStringFilterSchema).optional(), - _max: z.lazy(() => NestedStringFilterSchema).optional() -}).strict(); - -export const DateTimeWithAggregatesFilterSchema: z.ZodType = z.object({ - equals: z.coerce.date().optional(), - in: z.coerce.date().array().optional(), - notIn: z.coerce.date().array().optional(), - lt: z.coerce.date().optional(), - lte: z.coerce.date().optional(), - gt: z.coerce.date().optional(), - gte: z.coerce.date().optional(), - not: z.union([ z.coerce.date(),z.lazy(() => NestedDateTimeWithAggregatesFilterSchema) ]).optional(), - _count: z.lazy(() => NestedIntFilterSchema).optional(), - _min: z.lazy(() => NestedDateTimeFilterSchema).optional(), - _max: z.lazy(() => NestedDateTimeFilterSchema).optional() -}).strict(); - -export const StringNullableWithAggregatesFilterSchema: z.ZodType = z.object({ - equals: z.string().optional().nullable(), - in: z.string().array().optional().nullable(), - notIn: z.string().array().optional().nullable(), - lt: z.string().optional(), - lte: z.string().optional(), - gt: z.string().optional(), - gte: z.string().optional(), - contains: z.string().optional(), - startsWith: z.string().optional(), - endsWith: z.string().optional(), - mode: z.lazy(() => QueryModeSchema).optional(), - not: z.union([ z.string(),z.lazy(() => NestedStringNullableWithAggregatesFilterSchema) ]).optional().nullable(), - _count: z.lazy(() => NestedIntNullableFilterSchema).optional(), - _min: z.lazy(() => NestedStringNullableFilterSchema).optional(), - _max: z.lazy(() => NestedStringNullableFilterSchema).optional() -}).strict(); - -export const BoolWithAggregatesFilterSchema: z.ZodType = z.object({ - equals: z.boolean().optional(), - not: z.union([ z.boolean(),z.lazy(() => NestedBoolWithAggregatesFilterSchema) ]).optional(), - _count: z.lazy(() => NestedIntFilterSchema).optional(), - _min: z.lazy(() => NestedBoolFilterSchema).optional(), - _max: z.lazy(() => NestedBoolFilterSchema).optional() -}).strict(); - -export const EnumIdentityProviderFilterSchema: z.ZodType = z.object({ - equals: z.lazy(() => IdentityProviderSchema).optional(), - in: z.lazy(() => IdentityProviderSchema).array().optional(), - notIn: z.lazy(() => IdentityProviderSchema).array().optional(), - not: z.union([ z.lazy(() => IdentityProviderSchema),z.lazy(() => NestedEnumIdentityProviderFilterSchema) ]).optional(), -}).strict(); - -export const JsonNullableFilterSchema: z.ZodType = z.object({ - equals: InputJsonValueSchema.optional(), - path: z.string().array().optional(), - mode: z.lazy(() => QueryModeSchema).optional(), - string_contains: z.string().optional(), - string_starts_with: z.string().optional(), - string_ends_with: z.string().optional(), - array_starts_with: InputJsonValueSchema.optional().nullable(), - array_ends_with: InputJsonValueSchema.optional().nullable(), - array_contains: InputJsonValueSchema.optional().nullable(), - lt: InputJsonValueSchema.optional(), - lte: InputJsonValueSchema.optional(), - gt: InputJsonValueSchema.optional(), - gte: InputJsonValueSchema.optional(), - not: InputJsonValueSchema.optional() -}).strict(); - -export const UserScalarRelationFilterSchema: z.ZodType = z.object({ - is: z.lazy(() => UserWhereInputSchema).optional(), - isNot: z.lazy(() => UserWhereInputSchema).optional() -}).strict(); - -export const IdentityProviderProviderIdCompoundUniqueInputSchema: z.ZodType = z.object({ - provider: z.lazy(() => IdentityProviderSchema), - providerId: z.string() -}).strict(); - -export const IdentityCountOrderByAggregateInputSchema: z.ZodType = z.object({ - id: z.lazy(() => SortOrderSchema).optional(), - createdAt: z.lazy(() => SortOrderSchema).optional(), - updatedAt: z.lazy(() => SortOrderSchema).optional(), - provider: z.lazy(() => SortOrderSchema).optional(), - providerId: z.lazy(() => SortOrderSchema).optional(), - address: z.lazy(() => SortOrderSchema).optional(), - name: z.lazy(() => SortOrderSchema).optional(), - accessToken: z.lazy(() => SortOrderSchema).optional(), - refreshToken: z.lazy(() => SortOrderSchema).optional(), - profile: z.lazy(() => SortOrderSchema).optional(), - verified: z.lazy(() => SortOrderSchema).optional(), - ownerId: z.lazy(() => SortOrderSchema).optional() -}).strict(); - -export const IdentityMaxOrderByAggregateInputSchema: z.ZodType = z.object({ - id: z.lazy(() => SortOrderSchema).optional(), - createdAt: z.lazy(() => SortOrderSchema).optional(), - updatedAt: z.lazy(() => SortOrderSchema).optional(), - provider: z.lazy(() => SortOrderSchema).optional(), - providerId: z.lazy(() => SortOrderSchema).optional(), - address: z.lazy(() => SortOrderSchema).optional(), - name: z.lazy(() => SortOrderSchema).optional(), - accessToken: z.lazy(() => SortOrderSchema).optional(), - refreshToken: z.lazy(() => SortOrderSchema).optional(), - verified: z.lazy(() => SortOrderSchema).optional(), - ownerId: z.lazy(() => SortOrderSchema).optional() -}).strict(); - -export const IdentityMinOrderByAggregateInputSchema: z.ZodType = z.object({ - id: z.lazy(() => SortOrderSchema).optional(), - createdAt: z.lazy(() => SortOrderSchema).optional(), - updatedAt: z.lazy(() => SortOrderSchema).optional(), - provider: z.lazy(() => SortOrderSchema).optional(), - providerId: z.lazy(() => SortOrderSchema).optional(), - address: z.lazy(() => SortOrderSchema).optional(), - name: z.lazy(() => SortOrderSchema).optional(), - accessToken: z.lazy(() => SortOrderSchema).optional(), - refreshToken: z.lazy(() => SortOrderSchema).optional(), - verified: z.lazy(() => SortOrderSchema).optional(), - ownerId: z.lazy(() => SortOrderSchema).optional() -}).strict(); - -export const EnumIdentityProviderWithAggregatesFilterSchema: z.ZodType = z.object({ - equals: z.lazy(() => IdentityProviderSchema).optional(), - in: z.lazy(() => IdentityProviderSchema).array().optional(), - notIn: z.lazy(() => IdentityProviderSchema).array().optional(), - not: z.union([ z.lazy(() => IdentityProviderSchema),z.lazy(() => NestedEnumIdentityProviderWithAggregatesFilterSchema) ]).optional(), - _count: z.lazy(() => NestedIntFilterSchema).optional(), - _min: z.lazy(() => NestedEnumIdentityProviderFilterSchema).optional(), - _max: z.lazy(() => NestedEnumIdentityProviderFilterSchema).optional() -}).strict(); - -export const JsonNullableWithAggregatesFilterSchema: z.ZodType = z.object({ - equals: InputJsonValueSchema.optional(), - path: z.string().array().optional(), - mode: z.lazy(() => QueryModeSchema).optional(), - string_contains: z.string().optional(), - string_starts_with: z.string().optional(), - string_ends_with: z.string().optional(), - array_starts_with: InputJsonValueSchema.optional().nullable(), - array_ends_with: InputJsonValueSchema.optional().nullable(), - array_contains: InputJsonValueSchema.optional().nullable(), - lt: InputJsonValueSchema.optional(), - lte: InputJsonValueSchema.optional(), - gt: InputJsonValueSchema.optional(), - gte: InputJsonValueSchema.optional(), - not: InputJsonValueSchema.optional(), - _count: z.lazy(() => NestedIntNullableFilterSchema).optional(), - _min: z.lazy(() => NestedJsonNullableFilterSchema).optional(), - _max: z.lazy(() => NestedJsonNullableFilterSchema).optional() -}).strict(); - -export const IdentityCreateNestedManyWithoutOwnerInputSchema: z.ZodType = z.object({ - create: z.union([ z.lazy(() => IdentityCreateWithoutOwnerInputSchema),z.lazy(() => IdentityCreateWithoutOwnerInputSchema).array(),z.lazy(() => IdentityUncheckedCreateWithoutOwnerInputSchema),z.lazy(() => IdentityUncheckedCreateWithoutOwnerInputSchema).array() ]).optional(), - connectOrCreate: z.union([ z.lazy(() => IdentityCreateOrConnectWithoutOwnerInputSchema),z.lazy(() => IdentityCreateOrConnectWithoutOwnerInputSchema).array() ]).optional(), - createMany: z.lazy(() => IdentityCreateManyOwnerInputEnvelopeSchema).optional(), - connect: z.union([ z.lazy(() => IdentityWhereUniqueInputSchema),z.lazy(() => IdentityWhereUniqueInputSchema).array() ]).optional(), -}).strict(); - -export const IdentityUncheckedCreateNestedManyWithoutOwnerInputSchema: z.ZodType = z.object({ - create: z.union([ z.lazy(() => IdentityCreateWithoutOwnerInputSchema),z.lazy(() => IdentityCreateWithoutOwnerInputSchema).array(),z.lazy(() => IdentityUncheckedCreateWithoutOwnerInputSchema),z.lazy(() => IdentityUncheckedCreateWithoutOwnerInputSchema).array() ]).optional(), - connectOrCreate: z.union([ z.lazy(() => IdentityCreateOrConnectWithoutOwnerInputSchema),z.lazy(() => IdentityCreateOrConnectWithoutOwnerInputSchema).array() ]).optional(), - createMany: z.lazy(() => IdentityCreateManyOwnerInputEnvelopeSchema).optional(), - connect: z.union([ z.lazy(() => IdentityWhereUniqueInputSchema),z.lazy(() => IdentityWhereUniqueInputSchema).array() ]).optional(), -}).strict(); - -export const StringFieldUpdateOperationsInputSchema: z.ZodType = z.object({ - set: z.string().optional() -}).strict(); - -export const DateTimeFieldUpdateOperationsInputSchema: z.ZodType = z.object({ - set: z.coerce.date().optional() -}).strict(); - -export const NullableStringFieldUpdateOperationsInputSchema: z.ZodType = z.object({ - set: z.string().optional().nullable() -}).strict(); - -export const BoolFieldUpdateOperationsInputSchema: z.ZodType = z.object({ - set: z.boolean().optional() -}).strict(); - -export const IdentityUpdateManyWithoutOwnerNestedInputSchema: z.ZodType = z.object({ - create: z.union([ z.lazy(() => IdentityCreateWithoutOwnerInputSchema),z.lazy(() => IdentityCreateWithoutOwnerInputSchema).array(),z.lazy(() => IdentityUncheckedCreateWithoutOwnerInputSchema),z.lazy(() => IdentityUncheckedCreateWithoutOwnerInputSchema).array() ]).optional(), - connectOrCreate: z.union([ z.lazy(() => IdentityCreateOrConnectWithoutOwnerInputSchema),z.lazy(() => IdentityCreateOrConnectWithoutOwnerInputSchema).array() ]).optional(), - upsert: z.union([ z.lazy(() => IdentityUpsertWithWhereUniqueWithoutOwnerInputSchema),z.lazy(() => IdentityUpsertWithWhereUniqueWithoutOwnerInputSchema).array() ]).optional(), - createMany: z.lazy(() => IdentityCreateManyOwnerInputEnvelopeSchema).optional(), - set: z.union([ z.lazy(() => IdentityWhereUniqueInputSchema),z.lazy(() => IdentityWhereUniqueInputSchema).array() ]).optional(), - disconnect: z.union([ z.lazy(() => IdentityWhereUniqueInputSchema),z.lazy(() => IdentityWhereUniqueInputSchema).array() ]).optional(), - delete: z.union([ z.lazy(() => IdentityWhereUniqueInputSchema),z.lazy(() => IdentityWhereUniqueInputSchema).array() ]).optional(), - connect: z.union([ z.lazy(() => IdentityWhereUniqueInputSchema),z.lazy(() => IdentityWhereUniqueInputSchema).array() ]).optional(), - update: z.union([ z.lazy(() => IdentityUpdateWithWhereUniqueWithoutOwnerInputSchema),z.lazy(() => IdentityUpdateWithWhereUniqueWithoutOwnerInputSchema).array() ]).optional(), - updateMany: z.union([ z.lazy(() => IdentityUpdateManyWithWhereWithoutOwnerInputSchema),z.lazy(() => IdentityUpdateManyWithWhereWithoutOwnerInputSchema).array() ]).optional(), - deleteMany: z.union([ z.lazy(() => IdentityScalarWhereInputSchema),z.lazy(() => IdentityScalarWhereInputSchema).array() ]).optional(), -}).strict(); - -export const IdentityUncheckedUpdateManyWithoutOwnerNestedInputSchema: z.ZodType = z.object({ - create: z.union([ z.lazy(() => IdentityCreateWithoutOwnerInputSchema),z.lazy(() => IdentityCreateWithoutOwnerInputSchema).array(),z.lazy(() => IdentityUncheckedCreateWithoutOwnerInputSchema),z.lazy(() => IdentityUncheckedCreateWithoutOwnerInputSchema).array() ]).optional(), - connectOrCreate: z.union([ z.lazy(() => IdentityCreateOrConnectWithoutOwnerInputSchema),z.lazy(() => IdentityCreateOrConnectWithoutOwnerInputSchema).array() ]).optional(), - upsert: z.union([ z.lazy(() => IdentityUpsertWithWhereUniqueWithoutOwnerInputSchema),z.lazy(() => IdentityUpsertWithWhereUniqueWithoutOwnerInputSchema).array() ]).optional(), - createMany: z.lazy(() => IdentityCreateManyOwnerInputEnvelopeSchema).optional(), - set: z.union([ z.lazy(() => IdentityWhereUniqueInputSchema),z.lazy(() => IdentityWhereUniqueInputSchema).array() ]).optional(), - disconnect: z.union([ z.lazy(() => IdentityWhereUniqueInputSchema),z.lazy(() => IdentityWhereUniqueInputSchema).array() ]).optional(), - delete: z.union([ z.lazy(() => IdentityWhereUniqueInputSchema),z.lazy(() => IdentityWhereUniqueInputSchema).array() ]).optional(), - connect: z.union([ z.lazy(() => IdentityWhereUniqueInputSchema),z.lazy(() => IdentityWhereUniqueInputSchema).array() ]).optional(), - update: z.union([ z.lazy(() => IdentityUpdateWithWhereUniqueWithoutOwnerInputSchema),z.lazy(() => IdentityUpdateWithWhereUniqueWithoutOwnerInputSchema).array() ]).optional(), - updateMany: z.union([ z.lazy(() => IdentityUpdateManyWithWhereWithoutOwnerInputSchema),z.lazy(() => IdentityUpdateManyWithWhereWithoutOwnerInputSchema).array() ]).optional(), - deleteMany: z.union([ z.lazy(() => IdentityScalarWhereInputSchema),z.lazy(() => IdentityScalarWhereInputSchema).array() ]).optional(), -}).strict(); - -export const UserCreateNestedOneWithoutIdentitiesInputSchema: z.ZodType = z.object({ - create: z.union([ z.lazy(() => UserCreateWithoutIdentitiesInputSchema),z.lazy(() => UserUncheckedCreateWithoutIdentitiesInputSchema) ]).optional(), - connectOrCreate: z.lazy(() => UserCreateOrConnectWithoutIdentitiesInputSchema).optional(), - connect: z.lazy(() => UserWhereUniqueInputSchema).optional() -}).strict(); - -export const EnumIdentityProviderFieldUpdateOperationsInputSchema: z.ZodType = z.object({ - set: z.lazy(() => IdentityProviderSchema).optional() -}).strict(); - -export const UserUpdateOneRequiredWithoutIdentitiesNestedInputSchema: z.ZodType = z.object({ - create: z.union([ z.lazy(() => UserCreateWithoutIdentitiesInputSchema),z.lazy(() => UserUncheckedCreateWithoutIdentitiesInputSchema) ]).optional(), - connectOrCreate: z.lazy(() => UserCreateOrConnectWithoutIdentitiesInputSchema).optional(), - upsert: z.lazy(() => UserUpsertWithoutIdentitiesInputSchema).optional(), - connect: z.lazy(() => UserWhereUniqueInputSchema).optional(), - update: z.union([ z.lazy(() => UserUpdateToOneWithWhereWithoutIdentitiesInputSchema),z.lazy(() => UserUpdateWithoutIdentitiesInputSchema),z.lazy(() => UserUncheckedUpdateWithoutIdentitiesInputSchema) ]).optional(), -}).strict(); - -export const NestedStringFilterSchema: z.ZodType = z.object({ - equals: z.string().optional(), - in: z.string().array().optional(), - notIn: z.string().array().optional(), - lt: z.string().optional(), - lte: z.string().optional(), - gt: z.string().optional(), - gte: z.string().optional(), - contains: z.string().optional(), - startsWith: z.string().optional(), - endsWith: z.string().optional(), - not: z.union([ z.string(),z.lazy(() => NestedStringFilterSchema) ]).optional(), -}).strict(); - -export const NestedDateTimeFilterSchema: z.ZodType = z.object({ - equals: z.coerce.date().optional(), - in: z.coerce.date().array().optional(), - notIn: z.coerce.date().array().optional(), - lt: z.coerce.date().optional(), - lte: z.coerce.date().optional(), - gt: z.coerce.date().optional(), - gte: z.coerce.date().optional(), - not: z.union([ z.coerce.date(),z.lazy(() => NestedDateTimeFilterSchema) ]).optional(), -}).strict(); - -export const NestedStringNullableFilterSchema: z.ZodType = z.object({ - equals: z.string().optional().nullable(), - in: z.string().array().optional().nullable(), - notIn: z.string().array().optional().nullable(), - lt: z.string().optional(), - lte: z.string().optional(), - gt: z.string().optional(), - gte: z.string().optional(), - contains: z.string().optional(), - startsWith: z.string().optional(), - endsWith: z.string().optional(), - not: z.union([ z.string(),z.lazy(() => NestedStringNullableFilterSchema) ]).optional().nullable(), -}).strict(); - -export const NestedBoolFilterSchema: z.ZodType = z.object({ - equals: z.boolean().optional(), - not: z.union([ z.boolean(),z.lazy(() => NestedBoolFilterSchema) ]).optional(), -}).strict(); - -export const NestedStringWithAggregatesFilterSchema: z.ZodType = z.object({ - equals: z.string().optional(), - in: z.string().array().optional(), - notIn: z.string().array().optional(), - lt: z.string().optional(), - lte: z.string().optional(), - gt: z.string().optional(), - gte: z.string().optional(), - contains: z.string().optional(), - startsWith: z.string().optional(), - endsWith: z.string().optional(), - not: z.union([ z.string(),z.lazy(() => NestedStringWithAggregatesFilterSchema) ]).optional(), - _count: z.lazy(() => NestedIntFilterSchema).optional(), - _min: z.lazy(() => NestedStringFilterSchema).optional(), - _max: z.lazy(() => NestedStringFilterSchema).optional() -}).strict(); - -export const NestedIntFilterSchema: z.ZodType = z.object({ - equals: z.number().optional(), - in: z.number().array().optional(), - notIn: z.number().array().optional(), - lt: z.number().optional(), - lte: z.number().optional(), - gt: z.number().optional(), - gte: z.number().optional(), - not: z.union([ z.number(),z.lazy(() => NestedIntFilterSchema) ]).optional(), -}).strict(); - -export const NestedDateTimeWithAggregatesFilterSchema: z.ZodType = z.object({ - equals: z.coerce.date().optional(), - in: z.coerce.date().array().optional(), - notIn: z.coerce.date().array().optional(), - lt: z.coerce.date().optional(), - lte: z.coerce.date().optional(), - gt: z.coerce.date().optional(), - gte: z.coerce.date().optional(), - not: z.union([ z.coerce.date(),z.lazy(() => NestedDateTimeWithAggregatesFilterSchema) ]).optional(), - _count: z.lazy(() => NestedIntFilterSchema).optional(), - _min: z.lazy(() => NestedDateTimeFilterSchema).optional(), - _max: z.lazy(() => NestedDateTimeFilterSchema).optional() -}).strict(); - -export const NestedStringNullableWithAggregatesFilterSchema: z.ZodType = z.object({ - equals: z.string().optional().nullable(), - in: z.string().array().optional().nullable(), - notIn: z.string().array().optional().nullable(), - lt: z.string().optional(), - lte: z.string().optional(), - gt: z.string().optional(), - gte: z.string().optional(), - contains: z.string().optional(), - startsWith: z.string().optional(), - endsWith: z.string().optional(), - not: z.union([ z.string(),z.lazy(() => NestedStringNullableWithAggregatesFilterSchema) ]).optional().nullable(), - _count: z.lazy(() => NestedIntNullableFilterSchema).optional(), - _min: z.lazy(() => NestedStringNullableFilterSchema).optional(), - _max: z.lazy(() => NestedStringNullableFilterSchema).optional() -}).strict(); - -export const NestedIntNullableFilterSchema: z.ZodType = z.object({ - equals: z.number().optional().nullable(), - in: z.number().array().optional().nullable(), - notIn: z.number().array().optional().nullable(), - lt: z.number().optional(), - lte: z.number().optional(), - gt: z.number().optional(), - gte: z.number().optional(), - not: z.union([ z.number(),z.lazy(() => NestedIntNullableFilterSchema) ]).optional().nullable(), -}).strict(); - -export const NestedBoolWithAggregatesFilterSchema: z.ZodType = z.object({ - equals: z.boolean().optional(), - not: z.union([ z.boolean(),z.lazy(() => NestedBoolWithAggregatesFilterSchema) ]).optional(), - _count: z.lazy(() => NestedIntFilterSchema).optional(), - _min: z.lazy(() => NestedBoolFilterSchema).optional(), - _max: z.lazy(() => NestedBoolFilterSchema).optional() -}).strict(); - -export const NestedEnumIdentityProviderFilterSchema: z.ZodType = z.object({ - equals: z.lazy(() => IdentityProviderSchema).optional(), - in: z.lazy(() => IdentityProviderSchema).array().optional(), - notIn: z.lazy(() => IdentityProviderSchema).array().optional(), - not: z.union([ z.lazy(() => IdentityProviderSchema),z.lazy(() => NestedEnumIdentityProviderFilterSchema) ]).optional(), -}).strict(); - -export const NestedEnumIdentityProviderWithAggregatesFilterSchema: z.ZodType = z.object({ - equals: z.lazy(() => IdentityProviderSchema).optional(), - in: z.lazy(() => IdentityProviderSchema).array().optional(), - notIn: z.lazy(() => IdentityProviderSchema).array().optional(), - not: z.union([ z.lazy(() => IdentityProviderSchema),z.lazy(() => NestedEnumIdentityProviderWithAggregatesFilterSchema) ]).optional(), - _count: z.lazy(() => NestedIntFilterSchema).optional(), - _min: z.lazy(() => NestedEnumIdentityProviderFilterSchema).optional(), - _max: z.lazy(() => NestedEnumIdentityProviderFilterSchema).optional() -}).strict(); - -export const NestedJsonNullableFilterSchema: z.ZodType = z.object({ - equals: InputJsonValueSchema.optional(), - path: z.string().array().optional(), - mode: z.lazy(() => QueryModeSchema).optional(), - string_contains: z.string().optional(), - string_starts_with: z.string().optional(), - string_ends_with: z.string().optional(), - array_starts_with: InputJsonValueSchema.optional().nullable(), - array_ends_with: InputJsonValueSchema.optional().nullable(), - array_contains: InputJsonValueSchema.optional().nullable(), - lt: InputJsonValueSchema.optional(), - lte: InputJsonValueSchema.optional(), - gt: InputJsonValueSchema.optional(), - gte: InputJsonValueSchema.optional(), - not: InputJsonValueSchema.optional() -}).strict(); - -export const IdentityCreateWithoutOwnerInputSchema: z.ZodType = z.object({ - id: z.string().cuid().optional(), - createdAt: z.coerce.date().optional(), - updatedAt: z.coerce.date().optional(), - provider: z.lazy(() => IdentityProviderSchema), - providerId: z.string(), - address: z.string().optional().nullable(), - name: z.string().optional().nullable(), - accessToken: z.string().optional().nullable(), - refreshToken: z.string().optional().nullable(), - profile: z.union([ z.lazy(() => NullableJsonNullValueInputSchema),InputJsonValueSchema ]).optional(), - verified: z.boolean().optional() -}).strict(); - -export const IdentityUncheckedCreateWithoutOwnerInputSchema: z.ZodType = z.object({ - id: z.string().cuid().optional(), - createdAt: z.coerce.date().optional(), - updatedAt: z.coerce.date().optional(), - provider: z.lazy(() => IdentityProviderSchema), - providerId: z.string(), - address: z.string().optional().nullable(), - name: z.string().optional().nullable(), - accessToken: z.string().optional().nullable(), - refreshToken: z.string().optional().nullable(), - profile: z.union([ z.lazy(() => NullableJsonNullValueInputSchema),InputJsonValueSchema ]).optional(), - verified: z.boolean().optional() -}).strict(); - -export const IdentityCreateOrConnectWithoutOwnerInputSchema: z.ZodType = z.object({ - where: z.lazy(() => IdentityWhereUniqueInputSchema), - create: z.union([ z.lazy(() => IdentityCreateWithoutOwnerInputSchema),z.lazy(() => IdentityUncheckedCreateWithoutOwnerInputSchema) ]), -}).strict(); - -export const IdentityCreateManyOwnerInputEnvelopeSchema: z.ZodType = z.object({ - data: z.union([ z.lazy(() => IdentityCreateManyOwnerInputSchema),z.lazy(() => IdentityCreateManyOwnerInputSchema).array() ]), - skipDuplicates: z.boolean().optional() -}).strict(); - -export const IdentityUpsertWithWhereUniqueWithoutOwnerInputSchema: z.ZodType = z.object({ - where: z.lazy(() => IdentityWhereUniqueInputSchema), - update: z.union([ z.lazy(() => IdentityUpdateWithoutOwnerInputSchema),z.lazy(() => IdentityUncheckedUpdateWithoutOwnerInputSchema) ]), - create: z.union([ z.lazy(() => IdentityCreateWithoutOwnerInputSchema),z.lazy(() => IdentityUncheckedCreateWithoutOwnerInputSchema) ]), -}).strict(); - -export const IdentityUpdateWithWhereUniqueWithoutOwnerInputSchema: z.ZodType = z.object({ - where: z.lazy(() => IdentityWhereUniqueInputSchema), - data: z.union([ z.lazy(() => IdentityUpdateWithoutOwnerInputSchema),z.lazy(() => IdentityUncheckedUpdateWithoutOwnerInputSchema) ]), -}).strict(); - -export const IdentityUpdateManyWithWhereWithoutOwnerInputSchema: z.ZodType = z.object({ - where: z.lazy(() => IdentityScalarWhereInputSchema), - data: z.union([ z.lazy(() => IdentityUpdateManyMutationInputSchema),z.lazy(() => IdentityUncheckedUpdateManyWithoutOwnerInputSchema) ]), -}).strict(); - -export const IdentityScalarWhereInputSchema: z.ZodType = z.object({ - AND: z.union([ z.lazy(() => IdentityScalarWhereInputSchema),z.lazy(() => IdentityScalarWhereInputSchema).array() ]).optional(), - OR: z.lazy(() => IdentityScalarWhereInputSchema).array().optional(), - NOT: z.union([ z.lazy(() => IdentityScalarWhereInputSchema),z.lazy(() => IdentityScalarWhereInputSchema).array() ]).optional(), - id: z.union([ z.lazy(() => StringFilterSchema),z.string() ]).optional(), - createdAt: z.union([ z.lazy(() => DateTimeFilterSchema),z.coerce.date() ]).optional(), - updatedAt: z.union([ z.lazy(() => DateTimeFilterSchema),z.coerce.date() ]).optional(), - provider: z.union([ z.lazy(() => EnumIdentityProviderFilterSchema),z.lazy(() => IdentityProviderSchema) ]).optional(), - providerId: z.union([ z.lazy(() => StringFilterSchema),z.string() ]).optional(), - address: z.union([ z.lazy(() => StringNullableFilterSchema),z.string() ]).optional().nullable(), - name: z.union([ z.lazy(() => StringNullableFilterSchema),z.string() ]).optional().nullable(), - accessToken: z.union([ z.lazy(() => StringNullableFilterSchema),z.string() ]).optional().nullable(), - refreshToken: z.union([ z.lazy(() => StringNullableFilterSchema),z.string() ]).optional().nullable(), - profile: z.lazy(() => JsonNullableFilterSchema).optional(), - verified: z.union([ z.lazy(() => BoolFilterSchema),z.boolean() ]).optional(), - ownerId: z.union([ z.lazy(() => StringFilterSchema),z.string() ]).optional(), -}).strict(); - -export const UserCreateWithoutIdentitiesInputSchema: z.ZodType = z.object({ - id: z.string().cuid().optional(), - createdAt: z.coerce.date().optional(), - updatedAt: z.coerce.date().optional(), - username: z.string(), - password: z.string().optional().nullable(), - name: z.string().optional().nullable(), - avatarUrl: z.string().optional().nullable(), - admin: z.boolean().optional() -}).strict(); - -export const UserUncheckedCreateWithoutIdentitiesInputSchema: z.ZodType = z.object({ - id: z.string().cuid().optional(), - createdAt: z.coerce.date().optional(), - updatedAt: z.coerce.date().optional(), - username: z.string(), - password: z.string().optional().nullable(), - name: z.string().optional().nullable(), - avatarUrl: z.string().optional().nullable(), - admin: z.boolean().optional() -}).strict(); - -export const UserCreateOrConnectWithoutIdentitiesInputSchema: z.ZodType = z.object({ - where: z.lazy(() => UserWhereUniqueInputSchema), - create: z.union([ z.lazy(() => UserCreateWithoutIdentitiesInputSchema),z.lazy(() => UserUncheckedCreateWithoutIdentitiesInputSchema) ]), -}).strict(); - -export const UserUpsertWithoutIdentitiesInputSchema: z.ZodType = z.object({ - update: z.union([ z.lazy(() => UserUpdateWithoutIdentitiesInputSchema),z.lazy(() => UserUncheckedUpdateWithoutIdentitiesInputSchema) ]), - create: z.union([ z.lazy(() => UserCreateWithoutIdentitiesInputSchema),z.lazy(() => UserUncheckedCreateWithoutIdentitiesInputSchema) ]), - where: z.lazy(() => UserWhereInputSchema).optional() -}).strict(); - -export const UserUpdateToOneWithWhereWithoutIdentitiesInputSchema: z.ZodType = z.object({ - where: z.lazy(() => UserWhereInputSchema).optional(), - data: z.union([ z.lazy(() => UserUpdateWithoutIdentitiesInputSchema),z.lazy(() => UserUncheckedUpdateWithoutIdentitiesInputSchema) ]), -}).strict(); - -export const UserUpdateWithoutIdentitiesInputSchema: z.ZodType = z.object({ - id: z.union([ z.string().cuid(),z.lazy(() => StringFieldUpdateOperationsInputSchema) ]).optional(), - createdAt: z.union([ z.coerce.date(),z.lazy(() => DateTimeFieldUpdateOperationsInputSchema) ]).optional(), - updatedAt: z.union([ z.coerce.date(),z.lazy(() => DateTimeFieldUpdateOperationsInputSchema) ]).optional(), - username: z.union([ z.string(),z.lazy(() => StringFieldUpdateOperationsInputSchema) ]).optional(), - password: z.union([ z.string(),z.lazy(() => NullableStringFieldUpdateOperationsInputSchema) ]).optional().nullable(), - name: z.union([ z.string(),z.lazy(() => NullableStringFieldUpdateOperationsInputSchema) ]).optional().nullable(), - avatarUrl: z.union([ z.string(),z.lazy(() => NullableStringFieldUpdateOperationsInputSchema) ]).optional().nullable(), - admin: z.union([ z.boolean(),z.lazy(() => BoolFieldUpdateOperationsInputSchema) ]).optional(), -}).strict(); - -export const UserUncheckedUpdateWithoutIdentitiesInputSchema: z.ZodType = z.object({ - id: z.union([ z.string().cuid(),z.lazy(() => StringFieldUpdateOperationsInputSchema) ]).optional(), - createdAt: z.union([ z.coerce.date(),z.lazy(() => DateTimeFieldUpdateOperationsInputSchema) ]).optional(), - updatedAt: z.union([ z.coerce.date(),z.lazy(() => DateTimeFieldUpdateOperationsInputSchema) ]).optional(), - username: z.union([ z.string(),z.lazy(() => StringFieldUpdateOperationsInputSchema) ]).optional(), - password: z.union([ z.string(),z.lazy(() => NullableStringFieldUpdateOperationsInputSchema) ]).optional().nullable(), - name: z.union([ z.string(),z.lazy(() => NullableStringFieldUpdateOperationsInputSchema) ]).optional().nullable(), - avatarUrl: z.union([ z.string(),z.lazy(() => NullableStringFieldUpdateOperationsInputSchema) ]).optional().nullable(), - admin: z.union([ z.boolean(),z.lazy(() => BoolFieldUpdateOperationsInputSchema) ]).optional(), -}).strict(); - -export const IdentityCreateManyOwnerInputSchema: z.ZodType = z.object({ - id: z.string().cuid().optional(), - createdAt: z.coerce.date().optional(), - updatedAt: z.coerce.date().optional(), - provider: z.lazy(() => IdentityProviderSchema), - providerId: z.string(), - address: z.string().optional().nullable(), - name: z.string().optional().nullable(), - accessToken: z.string().optional().nullable(), - refreshToken: z.string().optional().nullable(), - profile: z.union([ z.lazy(() => NullableJsonNullValueInputSchema),InputJsonValueSchema ]).optional(), - verified: z.boolean().optional() -}).strict(); - -export const IdentityUpdateWithoutOwnerInputSchema: z.ZodType = z.object({ - id: z.union([ z.string().cuid(),z.lazy(() => StringFieldUpdateOperationsInputSchema) ]).optional(), - createdAt: z.union([ z.coerce.date(),z.lazy(() => DateTimeFieldUpdateOperationsInputSchema) ]).optional(), - updatedAt: z.union([ z.coerce.date(),z.lazy(() => DateTimeFieldUpdateOperationsInputSchema) ]).optional(), - provider: z.union([ z.lazy(() => IdentityProviderSchema),z.lazy(() => EnumIdentityProviderFieldUpdateOperationsInputSchema) ]).optional(), - providerId: z.union([ z.string(),z.lazy(() => StringFieldUpdateOperationsInputSchema) ]).optional(), - address: z.union([ z.string(),z.lazy(() => NullableStringFieldUpdateOperationsInputSchema) ]).optional().nullable(), - name: z.union([ z.string(),z.lazy(() => NullableStringFieldUpdateOperationsInputSchema) ]).optional().nullable(), - accessToken: z.union([ z.string(),z.lazy(() => NullableStringFieldUpdateOperationsInputSchema) ]).optional().nullable(), - refreshToken: z.union([ z.string(),z.lazy(() => NullableStringFieldUpdateOperationsInputSchema) ]).optional().nullable(), - profile: z.union([ z.lazy(() => NullableJsonNullValueInputSchema),InputJsonValueSchema ]).optional(), - verified: z.union([ z.boolean(),z.lazy(() => BoolFieldUpdateOperationsInputSchema) ]).optional(), -}).strict(); - -export const IdentityUncheckedUpdateWithoutOwnerInputSchema: z.ZodType = z.object({ - id: z.union([ z.string().cuid(),z.lazy(() => StringFieldUpdateOperationsInputSchema) ]).optional(), - createdAt: z.union([ z.coerce.date(),z.lazy(() => DateTimeFieldUpdateOperationsInputSchema) ]).optional(), - updatedAt: z.union([ z.coerce.date(),z.lazy(() => DateTimeFieldUpdateOperationsInputSchema) ]).optional(), - provider: z.union([ z.lazy(() => IdentityProviderSchema),z.lazy(() => EnumIdentityProviderFieldUpdateOperationsInputSchema) ]).optional(), - providerId: z.union([ z.string(),z.lazy(() => StringFieldUpdateOperationsInputSchema) ]).optional(), - address: z.union([ z.string(),z.lazy(() => NullableStringFieldUpdateOperationsInputSchema) ]).optional().nullable(), - name: z.union([ z.string(),z.lazy(() => NullableStringFieldUpdateOperationsInputSchema) ]).optional().nullable(), - accessToken: z.union([ z.string(),z.lazy(() => NullableStringFieldUpdateOperationsInputSchema) ]).optional().nullable(), - refreshToken: z.union([ z.string(),z.lazy(() => NullableStringFieldUpdateOperationsInputSchema) ]).optional().nullable(), - profile: z.union([ z.lazy(() => NullableJsonNullValueInputSchema),InputJsonValueSchema ]).optional(), - verified: z.union([ z.boolean(),z.lazy(() => BoolFieldUpdateOperationsInputSchema) ]).optional(), -}).strict(); - -export const IdentityUncheckedUpdateManyWithoutOwnerInputSchema: z.ZodType = z.object({ - id: z.union([ z.string().cuid(),z.lazy(() => StringFieldUpdateOperationsInputSchema) ]).optional(), - createdAt: z.union([ z.coerce.date(),z.lazy(() => DateTimeFieldUpdateOperationsInputSchema) ]).optional(), - updatedAt: z.union([ z.coerce.date(),z.lazy(() => DateTimeFieldUpdateOperationsInputSchema) ]).optional(), - provider: z.union([ z.lazy(() => IdentityProviderSchema),z.lazy(() => EnumIdentityProviderFieldUpdateOperationsInputSchema) ]).optional(), - providerId: z.union([ z.string(),z.lazy(() => StringFieldUpdateOperationsInputSchema) ]).optional(), - address: z.union([ z.string(),z.lazy(() => NullableStringFieldUpdateOperationsInputSchema) ]).optional().nullable(), - name: z.union([ z.string(),z.lazy(() => NullableStringFieldUpdateOperationsInputSchema) ]).optional().nullable(), - accessToken: z.union([ z.string(),z.lazy(() => NullableStringFieldUpdateOperationsInputSchema) ]).optional().nullable(), - refreshToken: z.union([ z.string(),z.lazy(() => NullableStringFieldUpdateOperationsInputSchema) ]).optional().nullable(), - profile: z.union([ z.lazy(() => NullableJsonNullValueInputSchema),InputJsonValueSchema ]).optional(), - verified: z.union([ z.boolean(),z.lazy(() => BoolFieldUpdateOperationsInputSchema) ]).optional(), -}).strict(); + password: z.string().optional().nullable(), + name: z.string().optional().nullable(), + avatarUrl: z.string().optional().nullable(), + admin: z.boolean().optional(), + identities: z.lazy(() => IdentityCreateNestedManyWithoutOwnerInputSchema).optional(), + }) + .strict() + +export const UserUncheckedCreateInputSchema: z.ZodType = z + .object({ + id: z.string().cuid().optional(), + createdAt: z.coerce.date().optional(), + updatedAt: z.coerce.date().optional(), + username: z.string(), + password: z.string().optional().nullable(), + name: z.string().optional().nullable(), + avatarUrl: z.string().optional().nullable(), + admin: z.boolean().optional(), + identities: z.lazy(() => IdentityUncheckedCreateNestedManyWithoutOwnerInputSchema).optional(), + }) + .strict() + +export const UserUpdateInputSchema: z.ZodType = z + .object({ + id: z.union([z.string().cuid(), z.lazy(() => StringFieldUpdateOperationsInputSchema)]).optional(), + createdAt: z.union([z.coerce.date(), z.lazy(() => DateTimeFieldUpdateOperationsInputSchema)]).optional(), + updatedAt: z.union([z.coerce.date(), z.lazy(() => DateTimeFieldUpdateOperationsInputSchema)]).optional(), + username: z.union([z.string(), z.lazy(() => StringFieldUpdateOperationsInputSchema)]).optional(), + password: z + .union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputSchema)]) + .optional() + .nullable(), + name: z + .union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputSchema)]) + .optional() + .nullable(), + avatarUrl: z + .union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputSchema)]) + .optional() + .nullable(), + admin: z.union([z.boolean(), z.lazy(() => BoolFieldUpdateOperationsInputSchema)]).optional(), + identities: z.lazy(() => IdentityUpdateManyWithoutOwnerNestedInputSchema).optional(), + }) + .strict() + +export const UserUncheckedUpdateInputSchema: z.ZodType = z + .object({ + id: z.union([z.string().cuid(), z.lazy(() => StringFieldUpdateOperationsInputSchema)]).optional(), + createdAt: z.union([z.coerce.date(), z.lazy(() => DateTimeFieldUpdateOperationsInputSchema)]).optional(), + updatedAt: z.union([z.coerce.date(), z.lazy(() => DateTimeFieldUpdateOperationsInputSchema)]).optional(), + username: z.union([z.string(), z.lazy(() => StringFieldUpdateOperationsInputSchema)]).optional(), + password: z + .union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputSchema)]) + .optional() + .nullable(), + name: z + .union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputSchema)]) + .optional() + .nullable(), + avatarUrl: z + .union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputSchema)]) + .optional() + .nullable(), + admin: z.union([z.boolean(), z.lazy(() => BoolFieldUpdateOperationsInputSchema)]).optional(), + identities: z.lazy(() => IdentityUncheckedUpdateManyWithoutOwnerNestedInputSchema).optional(), + }) + .strict() + +export const UserCreateManyInputSchema: z.ZodType = z + .object({ + id: z.string().cuid().optional(), + createdAt: z.coerce.date().optional(), + updatedAt: z.coerce.date().optional(), + username: z.string(), + password: z.string().optional().nullable(), + name: z.string().optional().nullable(), + avatarUrl: z.string().optional().nullable(), + admin: z.boolean().optional(), + }) + .strict() + +export const UserUpdateManyMutationInputSchema: z.ZodType = z + .object({ + id: z.union([z.string().cuid(), z.lazy(() => StringFieldUpdateOperationsInputSchema)]).optional(), + createdAt: z.union([z.coerce.date(), z.lazy(() => DateTimeFieldUpdateOperationsInputSchema)]).optional(), + updatedAt: z.union([z.coerce.date(), z.lazy(() => DateTimeFieldUpdateOperationsInputSchema)]).optional(), + username: z.union([z.string(), z.lazy(() => StringFieldUpdateOperationsInputSchema)]).optional(), + password: z + .union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputSchema)]) + .optional() + .nullable(), + name: z + .union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputSchema)]) + .optional() + .nullable(), + avatarUrl: z + .union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputSchema)]) + .optional() + .nullable(), + admin: z.union([z.boolean(), z.lazy(() => BoolFieldUpdateOperationsInputSchema)]).optional(), + }) + .strict() + +export const UserUncheckedUpdateManyInputSchema: z.ZodType = z + .object({ + id: z.union([z.string().cuid(), z.lazy(() => StringFieldUpdateOperationsInputSchema)]).optional(), + createdAt: z.union([z.coerce.date(), z.lazy(() => DateTimeFieldUpdateOperationsInputSchema)]).optional(), + updatedAt: z.union([z.coerce.date(), z.lazy(() => DateTimeFieldUpdateOperationsInputSchema)]).optional(), + username: z.union([z.string(), z.lazy(() => StringFieldUpdateOperationsInputSchema)]).optional(), + password: z + .union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputSchema)]) + .optional() + .nullable(), + name: z + .union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputSchema)]) + .optional() + .nullable(), + avatarUrl: z + .union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputSchema)]) + .optional() + .nullable(), + admin: z.union([z.boolean(), z.lazy(() => BoolFieldUpdateOperationsInputSchema)]).optional(), + }) + .strict() + +export const IdentityCreateInputSchema: z.ZodType = z + .object({ + id: z.string().cuid().optional(), + createdAt: z.coerce.date().optional(), + updatedAt: z.coerce.date().optional(), + provider: z.lazy(() => IdentityProviderSchema), + providerId: z.string(), + address: z.string().optional().nullable(), + name: z.string().optional().nullable(), + accessToken: z.string().optional().nullable(), + refreshToken: z.string().optional().nullable(), + profile: z.union([z.lazy(() => NullableJsonNullValueInputSchema), InputJsonValueSchema]).optional(), + verified: z.boolean().optional(), + owner: z.lazy(() => UserCreateNestedOneWithoutIdentitiesInputSchema), + }) + .strict() + +export const IdentityUncheckedCreateInputSchema: z.ZodType = z + .object({ + id: z.string().cuid().optional(), + createdAt: z.coerce.date().optional(), + updatedAt: z.coerce.date().optional(), + provider: z.lazy(() => IdentityProviderSchema), + providerId: z.string(), + address: z.string().optional().nullable(), + name: z.string().optional().nullable(), + accessToken: z.string().optional().nullable(), + refreshToken: z.string().optional().nullable(), + profile: z.union([z.lazy(() => NullableJsonNullValueInputSchema), InputJsonValueSchema]).optional(), + verified: z.boolean().optional(), + ownerId: z.string(), + }) + .strict() + +export const IdentityUpdateInputSchema: z.ZodType = z + .object({ + id: z.union([z.string().cuid(), z.lazy(() => StringFieldUpdateOperationsInputSchema)]).optional(), + createdAt: z.union([z.coerce.date(), z.lazy(() => DateTimeFieldUpdateOperationsInputSchema)]).optional(), + updatedAt: z.union([z.coerce.date(), z.lazy(() => DateTimeFieldUpdateOperationsInputSchema)]).optional(), + provider: z + .union([z.lazy(() => IdentityProviderSchema), z.lazy(() => EnumIdentityProviderFieldUpdateOperationsInputSchema)]) + .optional(), + providerId: z.union([z.string(), z.lazy(() => StringFieldUpdateOperationsInputSchema)]).optional(), + address: z + .union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputSchema)]) + .optional() + .nullable(), + name: z + .union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputSchema)]) + .optional() + .nullable(), + accessToken: z + .union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputSchema)]) + .optional() + .nullable(), + refreshToken: z + .union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputSchema)]) + .optional() + .nullable(), + profile: z.union([z.lazy(() => NullableJsonNullValueInputSchema), InputJsonValueSchema]).optional(), + verified: z.union([z.boolean(), z.lazy(() => BoolFieldUpdateOperationsInputSchema)]).optional(), + owner: z.lazy(() => UserUpdateOneRequiredWithoutIdentitiesNestedInputSchema).optional(), + }) + .strict() + +export const IdentityUncheckedUpdateInputSchema: z.ZodType = z + .object({ + id: z.union([z.string().cuid(), z.lazy(() => StringFieldUpdateOperationsInputSchema)]).optional(), + createdAt: z.union([z.coerce.date(), z.lazy(() => DateTimeFieldUpdateOperationsInputSchema)]).optional(), + updatedAt: z.union([z.coerce.date(), z.lazy(() => DateTimeFieldUpdateOperationsInputSchema)]).optional(), + provider: z + .union([z.lazy(() => IdentityProviderSchema), z.lazy(() => EnumIdentityProviderFieldUpdateOperationsInputSchema)]) + .optional(), + providerId: z.union([z.string(), z.lazy(() => StringFieldUpdateOperationsInputSchema)]).optional(), + address: z + .union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputSchema)]) + .optional() + .nullable(), + name: z + .union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputSchema)]) + .optional() + .nullable(), + accessToken: z + .union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputSchema)]) + .optional() + .nullable(), + refreshToken: z + .union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputSchema)]) + .optional() + .nullable(), + profile: z.union([z.lazy(() => NullableJsonNullValueInputSchema), InputJsonValueSchema]).optional(), + verified: z.union([z.boolean(), z.lazy(() => BoolFieldUpdateOperationsInputSchema)]).optional(), + ownerId: z.union([z.string(), z.lazy(() => StringFieldUpdateOperationsInputSchema)]).optional(), + }) + .strict() + +export const IdentityCreateManyInputSchema: z.ZodType = z + .object({ + id: z.string().cuid().optional(), + createdAt: z.coerce.date().optional(), + updatedAt: z.coerce.date().optional(), + provider: z.lazy(() => IdentityProviderSchema), + providerId: z.string(), + address: z.string().optional().nullable(), + name: z.string().optional().nullable(), + accessToken: z.string().optional().nullable(), + refreshToken: z.string().optional().nullable(), + profile: z.union([z.lazy(() => NullableJsonNullValueInputSchema), InputJsonValueSchema]).optional(), + verified: z.boolean().optional(), + ownerId: z.string(), + }) + .strict() + +export const IdentityUpdateManyMutationInputSchema: z.ZodType = z + .object({ + id: z.union([z.string().cuid(), z.lazy(() => StringFieldUpdateOperationsInputSchema)]).optional(), + createdAt: z.union([z.coerce.date(), z.lazy(() => DateTimeFieldUpdateOperationsInputSchema)]).optional(), + updatedAt: z.union([z.coerce.date(), z.lazy(() => DateTimeFieldUpdateOperationsInputSchema)]).optional(), + provider: z + .union([z.lazy(() => IdentityProviderSchema), z.lazy(() => EnumIdentityProviderFieldUpdateOperationsInputSchema)]) + .optional(), + providerId: z.union([z.string(), z.lazy(() => StringFieldUpdateOperationsInputSchema)]).optional(), + address: z + .union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputSchema)]) + .optional() + .nullable(), + name: z + .union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputSchema)]) + .optional() + .nullable(), + accessToken: z + .union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputSchema)]) + .optional() + .nullable(), + refreshToken: z + .union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputSchema)]) + .optional() + .nullable(), + profile: z.union([z.lazy(() => NullableJsonNullValueInputSchema), InputJsonValueSchema]).optional(), + verified: z.union([z.boolean(), z.lazy(() => BoolFieldUpdateOperationsInputSchema)]).optional(), + }) + .strict() + +export const IdentityUncheckedUpdateManyInputSchema: z.ZodType = z + .object({ + id: z.union([z.string().cuid(), z.lazy(() => StringFieldUpdateOperationsInputSchema)]).optional(), + createdAt: z.union([z.coerce.date(), z.lazy(() => DateTimeFieldUpdateOperationsInputSchema)]).optional(), + updatedAt: z.union([z.coerce.date(), z.lazy(() => DateTimeFieldUpdateOperationsInputSchema)]).optional(), + provider: z + .union([z.lazy(() => IdentityProviderSchema), z.lazy(() => EnumIdentityProviderFieldUpdateOperationsInputSchema)]) + .optional(), + providerId: z.union([z.string(), z.lazy(() => StringFieldUpdateOperationsInputSchema)]).optional(), + address: z + .union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputSchema)]) + .optional() + .nullable(), + name: z + .union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputSchema)]) + .optional() + .nullable(), + accessToken: z + .union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputSchema)]) + .optional() + .nullable(), + refreshToken: z + .union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputSchema)]) + .optional() + .nullable(), + profile: z.union([z.lazy(() => NullableJsonNullValueInputSchema), InputJsonValueSchema]).optional(), + verified: z.union([z.boolean(), z.lazy(() => BoolFieldUpdateOperationsInputSchema)]).optional(), + ownerId: z.union([z.string(), z.lazy(() => StringFieldUpdateOperationsInputSchema)]).optional(), + }) + .strict() + +export const StringFilterSchema: z.ZodType = z + .object({ + equals: z.string().optional(), + in: z.string().array().optional(), + notIn: z.string().array().optional(), + lt: z.string().optional(), + lte: z.string().optional(), + gt: z.string().optional(), + gte: z.string().optional(), + contains: z.string().optional(), + startsWith: z.string().optional(), + endsWith: z.string().optional(), + mode: z.lazy(() => QueryModeSchema).optional(), + not: z.union([z.string(), z.lazy(() => NestedStringFilterSchema)]).optional(), + }) + .strict() + +export const DateTimeFilterSchema: z.ZodType = z + .object({ + equals: z.coerce.date().optional(), + in: z.coerce.date().array().optional(), + notIn: z.coerce.date().array().optional(), + lt: z.coerce.date().optional(), + lte: z.coerce.date().optional(), + gt: z.coerce.date().optional(), + gte: z.coerce.date().optional(), + not: z.union([z.coerce.date(), z.lazy(() => NestedDateTimeFilterSchema)]).optional(), + }) + .strict() + +export const StringNullableFilterSchema: z.ZodType = z + .object({ + equals: z.string().optional().nullable(), + in: z.string().array().optional().nullable(), + notIn: z.string().array().optional().nullable(), + lt: z.string().optional(), + lte: z.string().optional(), + gt: z.string().optional(), + gte: z.string().optional(), + contains: z.string().optional(), + startsWith: z.string().optional(), + endsWith: z.string().optional(), + mode: z.lazy(() => QueryModeSchema).optional(), + not: z + .union([z.string(), z.lazy(() => NestedStringNullableFilterSchema)]) + .optional() + .nullable(), + }) + .strict() + +export const BoolFilterSchema: z.ZodType = z + .object({ + equals: z.boolean().optional(), + not: z.union([z.boolean(), z.lazy(() => NestedBoolFilterSchema)]).optional(), + }) + .strict() + +export const IdentityListRelationFilterSchema: z.ZodType = z + .object({ + every: z.lazy(() => IdentityWhereInputSchema).optional(), + some: z.lazy(() => IdentityWhereInputSchema).optional(), + none: z.lazy(() => IdentityWhereInputSchema).optional(), + }) + .strict() + +export const SortOrderInputSchema: z.ZodType = z + .object({ + sort: z.lazy(() => SortOrderSchema), + nulls: z.lazy(() => NullsOrderSchema).optional(), + }) + .strict() + +export const IdentityOrderByRelationAggregateInputSchema: z.ZodType = z + .object({ + _count: z.lazy(() => SortOrderSchema).optional(), + }) + .strict() + +export const UserCountOrderByAggregateInputSchema: z.ZodType = z + .object({ + id: z.lazy(() => SortOrderSchema).optional(), + createdAt: z.lazy(() => SortOrderSchema).optional(), + updatedAt: z.lazy(() => SortOrderSchema).optional(), + username: z.lazy(() => SortOrderSchema).optional(), + password: z.lazy(() => SortOrderSchema).optional(), + name: z.lazy(() => SortOrderSchema).optional(), + avatarUrl: z.lazy(() => SortOrderSchema).optional(), + admin: z.lazy(() => SortOrderSchema).optional(), + }) + .strict() + +export const UserMaxOrderByAggregateInputSchema: z.ZodType = z + .object({ + id: z.lazy(() => SortOrderSchema).optional(), + createdAt: z.lazy(() => SortOrderSchema).optional(), + updatedAt: z.lazy(() => SortOrderSchema).optional(), + username: z.lazy(() => SortOrderSchema).optional(), + password: z.lazy(() => SortOrderSchema).optional(), + name: z.lazy(() => SortOrderSchema).optional(), + avatarUrl: z.lazy(() => SortOrderSchema).optional(), + admin: z.lazy(() => SortOrderSchema).optional(), + }) + .strict() + +export const UserMinOrderByAggregateInputSchema: z.ZodType = z + .object({ + id: z.lazy(() => SortOrderSchema).optional(), + createdAt: z.lazy(() => SortOrderSchema).optional(), + updatedAt: z.lazy(() => SortOrderSchema).optional(), + username: z.lazy(() => SortOrderSchema).optional(), + password: z.lazy(() => SortOrderSchema).optional(), + name: z.lazy(() => SortOrderSchema).optional(), + avatarUrl: z.lazy(() => SortOrderSchema).optional(), + admin: z.lazy(() => SortOrderSchema).optional(), + }) + .strict() + +export const StringWithAggregatesFilterSchema: z.ZodType = z + .object({ + equals: z.string().optional(), + in: z.string().array().optional(), + notIn: z.string().array().optional(), + lt: z.string().optional(), + lte: z.string().optional(), + gt: z.string().optional(), + gte: z.string().optional(), + contains: z.string().optional(), + startsWith: z.string().optional(), + endsWith: z.string().optional(), + mode: z.lazy(() => QueryModeSchema).optional(), + not: z.union([z.string(), z.lazy(() => NestedStringWithAggregatesFilterSchema)]).optional(), + _count: z.lazy(() => NestedIntFilterSchema).optional(), + _min: z.lazy(() => NestedStringFilterSchema).optional(), + _max: z.lazy(() => NestedStringFilterSchema).optional(), + }) + .strict() + +export const DateTimeWithAggregatesFilterSchema: z.ZodType = z + .object({ + equals: z.coerce.date().optional(), + in: z.coerce.date().array().optional(), + notIn: z.coerce.date().array().optional(), + lt: z.coerce.date().optional(), + lte: z.coerce.date().optional(), + gt: z.coerce.date().optional(), + gte: z.coerce.date().optional(), + not: z.union([z.coerce.date(), z.lazy(() => NestedDateTimeWithAggregatesFilterSchema)]).optional(), + _count: z.lazy(() => NestedIntFilterSchema).optional(), + _min: z.lazy(() => NestedDateTimeFilterSchema).optional(), + _max: z.lazy(() => NestedDateTimeFilterSchema).optional(), + }) + .strict() + +export const StringNullableWithAggregatesFilterSchema: z.ZodType = z + .object({ + equals: z.string().optional().nullable(), + in: z.string().array().optional().nullable(), + notIn: z.string().array().optional().nullable(), + lt: z.string().optional(), + lte: z.string().optional(), + gt: z.string().optional(), + gte: z.string().optional(), + contains: z.string().optional(), + startsWith: z.string().optional(), + endsWith: z.string().optional(), + mode: z.lazy(() => QueryModeSchema).optional(), + not: z + .union([z.string(), z.lazy(() => NestedStringNullableWithAggregatesFilterSchema)]) + .optional() + .nullable(), + _count: z.lazy(() => NestedIntNullableFilterSchema).optional(), + _min: z.lazy(() => NestedStringNullableFilterSchema).optional(), + _max: z.lazy(() => NestedStringNullableFilterSchema).optional(), + }) + .strict() + +export const BoolWithAggregatesFilterSchema: z.ZodType = z + .object({ + equals: z.boolean().optional(), + not: z.union([z.boolean(), z.lazy(() => NestedBoolWithAggregatesFilterSchema)]).optional(), + _count: z.lazy(() => NestedIntFilterSchema).optional(), + _min: z.lazy(() => NestedBoolFilterSchema).optional(), + _max: z.lazy(() => NestedBoolFilterSchema).optional(), + }) + .strict() + +export const EnumIdentityProviderFilterSchema: z.ZodType = z + .object({ + equals: z.lazy(() => IdentityProviderSchema).optional(), + in: z + .lazy(() => IdentityProviderSchema) + .array() + .optional(), + notIn: z + .lazy(() => IdentityProviderSchema) + .array() + .optional(), + not: z + .union([z.lazy(() => IdentityProviderSchema), z.lazy(() => NestedEnumIdentityProviderFilterSchema)]) + .optional(), + }) + .strict() + +export const JsonNullableFilterSchema: z.ZodType = z + .object({ + equals: InputJsonValueSchema.optional(), + path: z.string().array().optional(), + mode: z.lazy(() => QueryModeSchema).optional(), + string_contains: z.string().optional(), + string_starts_with: z.string().optional(), + string_ends_with: z.string().optional(), + array_starts_with: InputJsonValueSchema.optional().nullable(), + array_ends_with: InputJsonValueSchema.optional().nullable(), + array_contains: InputJsonValueSchema.optional().nullable(), + lt: InputJsonValueSchema.optional(), + lte: InputJsonValueSchema.optional(), + gt: InputJsonValueSchema.optional(), + gte: InputJsonValueSchema.optional(), + not: InputJsonValueSchema.optional(), + }) + .strict() + +export const UserScalarRelationFilterSchema: z.ZodType = z + .object({ + is: z.lazy(() => UserWhereInputSchema).optional(), + isNot: z.lazy(() => UserWhereInputSchema).optional(), + }) + .strict() + +export const IdentityProviderProviderIdCompoundUniqueInputSchema: z.ZodType = + z + .object({ + provider: z.lazy(() => IdentityProviderSchema), + providerId: z.string(), + }) + .strict() + +export const IdentityCountOrderByAggregateInputSchema: z.ZodType = z + .object({ + id: z.lazy(() => SortOrderSchema).optional(), + createdAt: z.lazy(() => SortOrderSchema).optional(), + updatedAt: z.lazy(() => SortOrderSchema).optional(), + provider: z.lazy(() => SortOrderSchema).optional(), + providerId: z.lazy(() => SortOrderSchema).optional(), + address: z.lazy(() => SortOrderSchema).optional(), + name: z.lazy(() => SortOrderSchema).optional(), + accessToken: z.lazy(() => SortOrderSchema).optional(), + refreshToken: z.lazy(() => SortOrderSchema).optional(), + profile: z.lazy(() => SortOrderSchema).optional(), + verified: z.lazy(() => SortOrderSchema).optional(), + ownerId: z.lazy(() => SortOrderSchema).optional(), + }) + .strict() + +export const IdentityMaxOrderByAggregateInputSchema: z.ZodType = z + .object({ + id: z.lazy(() => SortOrderSchema).optional(), + createdAt: z.lazy(() => SortOrderSchema).optional(), + updatedAt: z.lazy(() => SortOrderSchema).optional(), + provider: z.lazy(() => SortOrderSchema).optional(), + providerId: z.lazy(() => SortOrderSchema).optional(), + address: z.lazy(() => SortOrderSchema).optional(), + name: z.lazy(() => SortOrderSchema).optional(), + accessToken: z.lazy(() => SortOrderSchema).optional(), + refreshToken: z.lazy(() => SortOrderSchema).optional(), + verified: z.lazy(() => SortOrderSchema).optional(), + ownerId: z.lazy(() => SortOrderSchema).optional(), + }) + .strict() + +export const IdentityMinOrderByAggregateInputSchema: z.ZodType = z + .object({ + id: z.lazy(() => SortOrderSchema).optional(), + createdAt: z.lazy(() => SortOrderSchema).optional(), + updatedAt: z.lazy(() => SortOrderSchema).optional(), + provider: z.lazy(() => SortOrderSchema).optional(), + providerId: z.lazy(() => SortOrderSchema).optional(), + address: z.lazy(() => SortOrderSchema).optional(), + name: z.lazy(() => SortOrderSchema).optional(), + accessToken: z.lazy(() => SortOrderSchema).optional(), + refreshToken: z.lazy(() => SortOrderSchema).optional(), + verified: z.lazy(() => SortOrderSchema).optional(), + ownerId: z.lazy(() => SortOrderSchema).optional(), + }) + .strict() + +export const EnumIdentityProviderWithAggregatesFilterSchema: z.ZodType = + z + .object({ + equals: z.lazy(() => IdentityProviderSchema).optional(), + in: z + .lazy(() => IdentityProviderSchema) + .array() + .optional(), + notIn: z + .lazy(() => IdentityProviderSchema) + .array() + .optional(), + not: z + .union([ + z.lazy(() => IdentityProviderSchema), + z.lazy(() => NestedEnumIdentityProviderWithAggregatesFilterSchema), + ]) + .optional(), + _count: z.lazy(() => NestedIntFilterSchema).optional(), + _min: z.lazy(() => NestedEnumIdentityProviderFilterSchema).optional(), + _max: z.lazy(() => NestedEnumIdentityProviderFilterSchema).optional(), + }) + .strict() + +export const JsonNullableWithAggregatesFilterSchema: z.ZodType = z + .object({ + equals: InputJsonValueSchema.optional(), + path: z.string().array().optional(), + mode: z.lazy(() => QueryModeSchema).optional(), + string_contains: z.string().optional(), + string_starts_with: z.string().optional(), + string_ends_with: z.string().optional(), + array_starts_with: InputJsonValueSchema.optional().nullable(), + array_ends_with: InputJsonValueSchema.optional().nullable(), + array_contains: InputJsonValueSchema.optional().nullable(), + lt: InputJsonValueSchema.optional(), + lte: InputJsonValueSchema.optional(), + gt: InputJsonValueSchema.optional(), + gte: InputJsonValueSchema.optional(), + not: InputJsonValueSchema.optional(), + _count: z.lazy(() => NestedIntNullableFilterSchema).optional(), + _min: z.lazy(() => NestedJsonNullableFilterSchema).optional(), + _max: z.lazy(() => NestedJsonNullableFilterSchema).optional(), + }) + .strict() + +export const IdentityCreateNestedManyWithoutOwnerInputSchema: z.ZodType = + z + .object({ + create: z + .union([ + z.lazy(() => IdentityCreateWithoutOwnerInputSchema), + z.lazy(() => IdentityCreateWithoutOwnerInputSchema).array(), + z.lazy(() => IdentityUncheckedCreateWithoutOwnerInputSchema), + z.lazy(() => IdentityUncheckedCreateWithoutOwnerInputSchema).array(), + ]) + .optional(), + connectOrCreate: z + .union([ + z.lazy(() => IdentityCreateOrConnectWithoutOwnerInputSchema), + z.lazy(() => IdentityCreateOrConnectWithoutOwnerInputSchema).array(), + ]) + .optional(), + createMany: z.lazy(() => IdentityCreateManyOwnerInputEnvelopeSchema).optional(), + connect: z + .union([z.lazy(() => IdentityWhereUniqueInputSchema), z.lazy(() => IdentityWhereUniqueInputSchema).array()]) + .optional(), + }) + .strict() + +export const IdentityUncheckedCreateNestedManyWithoutOwnerInputSchema: z.ZodType = + z + .object({ + create: z + .union([ + z.lazy(() => IdentityCreateWithoutOwnerInputSchema), + z.lazy(() => IdentityCreateWithoutOwnerInputSchema).array(), + z.lazy(() => IdentityUncheckedCreateWithoutOwnerInputSchema), + z.lazy(() => IdentityUncheckedCreateWithoutOwnerInputSchema).array(), + ]) + .optional(), + connectOrCreate: z + .union([ + z.lazy(() => IdentityCreateOrConnectWithoutOwnerInputSchema), + z.lazy(() => IdentityCreateOrConnectWithoutOwnerInputSchema).array(), + ]) + .optional(), + createMany: z.lazy(() => IdentityCreateManyOwnerInputEnvelopeSchema).optional(), + connect: z + .union([z.lazy(() => IdentityWhereUniqueInputSchema), z.lazy(() => IdentityWhereUniqueInputSchema).array()]) + .optional(), + }) + .strict() + +export const StringFieldUpdateOperationsInputSchema: z.ZodType = z + .object({ + set: z.string().optional(), + }) + .strict() + +export const DateTimeFieldUpdateOperationsInputSchema: z.ZodType = z + .object({ + set: z.coerce.date().optional(), + }) + .strict() + +export const NullableStringFieldUpdateOperationsInputSchema: z.ZodType = + z + .object({ + set: z.string().optional().nullable(), + }) + .strict() + +export const BoolFieldUpdateOperationsInputSchema: z.ZodType = z + .object({ + set: z.boolean().optional(), + }) + .strict() + +export const IdentityUpdateManyWithoutOwnerNestedInputSchema: z.ZodType = + z + .object({ + create: z + .union([ + z.lazy(() => IdentityCreateWithoutOwnerInputSchema), + z.lazy(() => IdentityCreateWithoutOwnerInputSchema).array(), + z.lazy(() => IdentityUncheckedCreateWithoutOwnerInputSchema), + z.lazy(() => IdentityUncheckedCreateWithoutOwnerInputSchema).array(), + ]) + .optional(), + connectOrCreate: z + .union([ + z.lazy(() => IdentityCreateOrConnectWithoutOwnerInputSchema), + z.lazy(() => IdentityCreateOrConnectWithoutOwnerInputSchema).array(), + ]) + .optional(), + upsert: z + .union([ + z.lazy(() => IdentityUpsertWithWhereUniqueWithoutOwnerInputSchema), + z.lazy(() => IdentityUpsertWithWhereUniqueWithoutOwnerInputSchema).array(), + ]) + .optional(), + createMany: z.lazy(() => IdentityCreateManyOwnerInputEnvelopeSchema).optional(), + set: z + .union([z.lazy(() => IdentityWhereUniqueInputSchema), z.lazy(() => IdentityWhereUniqueInputSchema).array()]) + .optional(), + disconnect: z + .union([z.lazy(() => IdentityWhereUniqueInputSchema), z.lazy(() => IdentityWhereUniqueInputSchema).array()]) + .optional(), + delete: z + .union([z.lazy(() => IdentityWhereUniqueInputSchema), z.lazy(() => IdentityWhereUniqueInputSchema).array()]) + .optional(), + connect: z + .union([z.lazy(() => IdentityWhereUniqueInputSchema), z.lazy(() => IdentityWhereUniqueInputSchema).array()]) + .optional(), + update: z + .union([ + z.lazy(() => IdentityUpdateWithWhereUniqueWithoutOwnerInputSchema), + z.lazy(() => IdentityUpdateWithWhereUniqueWithoutOwnerInputSchema).array(), + ]) + .optional(), + updateMany: z + .union([ + z.lazy(() => IdentityUpdateManyWithWhereWithoutOwnerInputSchema), + z.lazy(() => IdentityUpdateManyWithWhereWithoutOwnerInputSchema).array(), + ]) + .optional(), + deleteMany: z + .union([z.lazy(() => IdentityScalarWhereInputSchema), z.lazy(() => IdentityScalarWhereInputSchema).array()]) + .optional(), + }) + .strict() + +export const IdentityUncheckedUpdateManyWithoutOwnerNestedInputSchema: z.ZodType = + z + .object({ + create: z + .union([ + z.lazy(() => IdentityCreateWithoutOwnerInputSchema), + z.lazy(() => IdentityCreateWithoutOwnerInputSchema).array(), + z.lazy(() => IdentityUncheckedCreateWithoutOwnerInputSchema), + z.lazy(() => IdentityUncheckedCreateWithoutOwnerInputSchema).array(), + ]) + .optional(), + connectOrCreate: z + .union([ + z.lazy(() => IdentityCreateOrConnectWithoutOwnerInputSchema), + z.lazy(() => IdentityCreateOrConnectWithoutOwnerInputSchema).array(), + ]) + .optional(), + upsert: z + .union([ + z.lazy(() => IdentityUpsertWithWhereUniqueWithoutOwnerInputSchema), + z.lazy(() => IdentityUpsertWithWhereUniqueWithoutOwnerInputSchema).array(), + ]) + .optional(), + createMany: z.lazy(() => IdentityCreateManyOwnerInputEnvelopeSchema).optional(), + set: z + .union([z.lazy(() => IdentityWhereUniqueInputSchema), z.lazy(() => IdentityWhereUniqueInputSchema).array()]) + .optional(), + disconnect: z + .union([z.lazy(() => IdentityWhereUniqueInputSchema), z.lazy(() => IdentityWhereUniqueInputSchema).array()]) + .optional(), + delete: z + .union([z.lazy(() => IdentityWhereUniqueInputSchema), z.lazy(() => IdentityWhereUniqueInputSchema).array()]) + .optional(), + connect: z + .union([z.lazy(() => IdentityWhereUniqueInputSchema), z.lazy(() => IdentityWhereUniqueInputSchema).array()]) + .optional(), + update: z + .union([ + z.lazy(() => IdentityUpdateWithWhereUniqueWithoutOwnerInputSchema), + z.lazy(() => IdentityUpdateWithWhereUniqueWithoutOwnerInputSchema).array(), + ]) + .optional(), + updateMany: z + .union([ + z.lazy(() => IdentityUpdateManyWithWhereWithoutOwnerInputSchema), + z.lazy(() => IdentityUpdateManyWithWhereWithoutOwnerInputSchema).array(), + ]) + .optional(), + deleteMany: z + .union([z.lazy(() => IdentityScalarWhereInputSchema), z.lazy(() => IdentityScalarWhereInputSchema).array()]) + .optional(), + }) + .strict() + +export const UserCreateNestedOneWithoutIdentitiesInputSchema: z.ZodType = + z + .object({ + create: z + .union([ + z.lazy(() => UserCreateWithoutIdentitiesInputSchema), + z.lazy(() => UserUncheckedCreateWithoutIdentitiesInputSchema), + ]) + .optional(), + connectOrCreate: z.lazy(() => UserCreateOrConnectWithoutIdentitiesInputSchema).optional(), + connect: z.lazy(() => UserWhereUniqueInputSchema).optional(), + }) + .strict() + +export const EnumIdentityProviderFieldUpdateOperationsInputSchema: z.ZodType = + z + .object({ + set: z.lazy(() => IdentityProviderSchema).optional(), + }) + .strict() + +export const UserUpdateOneRequiredWithoutIdentitiesNestedInputSchema: z.ZodType = + z + .object({ + create: z + .union([ + z.lazy(() => UserCreateWithoutIdentitiesInputSchema), + z.lazy(() => UserUncheckedCreateWithoutIdentitiesInputSchema), + ]) + .optional(), + connectOrCreate: z.lazy(() => UserCreateOrConnectWithoutIdentitiesInputSchema).optional(), + upsert: z.lazy(() => UserUpsertWithoutIdentitiesInputSchema).optional(), + connect: z.lazy(() => UserWhereUniqueInputSchema).optional(), + update: z + .union([ + z.lazy(() => UserUpdateToOneWithWhereWithoutIdentitiesInputSchema), + z.lazy(() => UserUpdateWithoutIdentitiesInputSchema), + z.lazy(() => UserUncheckedUpdateWithoutIdentitiesInputSchema), + ]) + .optional(), + }) + .strict() + +export const NestedStringFilterSchema: z.ZodType = z + .object({ + equals: z.string().optional(), + in: z.string().array().optional(), + notIn: z.string().array().optional(), + lt: z.string().optional(), + lte: z.string().optional(), + gt: z.string().optional(), + gte: z.string().optional(), + contains: z.string().optional(), + startsWith: z.string().optional(), + endsWith: z.string().optional(), + not: z.union([z.string(), z.lazy(() => NestedStringFilterSchema)]).optional(), + }) + .strict() + +export const NestedDateTimeFilterSchema: z.ZodType = z + .object({ + equals: z.coerce.date().optional(), + in: z.coerce.date().array().optional(), + notIn: z.coerce.date().array().optional(), + lt: z.coerce.date().optional(), + lte: z.coerce.date().optional(), + gt: z.coerce.date().optional(), + gte: z.coerce.date().optional(), + not: z.union([z.coerce.date(), z.lazy(() => NestedDateTimeFilterSchema)]).optional(), + }) + .strict() + +export const NestedStringNullableFilterSchema: z.ZodType = z + .object({ + equals: z.string().optional().nullable(), + in: z.string().array().optional().nullable(), + notIn: z.string().array().optional().nullable(), + lt: z.string().optional(), + lte: z.string().optional(), + gt: z.string().optional(), + gte: z.string().optional(), + contains: z.string().optional(), + startsWith: z.string().optional(), + endsWith: z.string().optional(), + not: z + .union([z.string(), z.lazy(() => NestedStringNullableFilterSchema)]) + .optional() + .nullable(), + }) + .strict() + +export const NestedBoolFilterSchema: z.ZodType = z + .object({ + equals: z.boolean().optional(), + not: z.union([z.boolean(), z.lazy(() => NestedBoolFilterSchema)]).optional(), + }) + .strict() + +export const NestedStringWithAggregatesFilterSchema: z.ZodType = z + .object({ + equals: z.string().optional(), + in: z.string().array().optional(), + notIn: z.string().array().optional(), + lt: z.string().optional(), + lte: z.string().optional(), + gt: z.string().optional(), + gte: z.string().optional(), + contains: z.string().optional(), + startsWith: z.string().optional(), + endsWith: z.string().optional(), + not: z.union([z.string(), z.lazy(() => NestedStringWithAggregatesFilterSchema)]).optional(), + _count: z.lazy(() => NestedIntFilterSchema).optional(), + _min: z.lazy(() => NestedStringFilterSchema).optional(), + _max: z.lazy(() => NestedStringFilterSchema).optional(), + }) + .strict() + +export const NestedIntFilterSchema: z.ZodType = z + .object({ + equals: z.number().optional(), + in: z.number().array().optional(), + notIn: z.number().array().optional(), + lt: z.number().optional(), + lte: z.number().optional(), + gt: z.number().optional(), + gte: z.number().optional(), + not: z.union([z.number(), z.lazy(() => NestedIntFilterSchema)]).optional(), + }) + .strict() + +export const NestedDateTimeWithAggregatesFilterSchema: z.ZodType = z + .object({ + equals: z.coerce.date().optional(), + in: z.coerce.date().array().optional(), + notIn: z.coerce.date().array().optional(), + lt: z.coerce.date().optional(), + lte: z.coerce.date().optional(), + gt: z.coerce.date().optional(), + gte: z.coerce.date().optional(), + not: z.union([z.coerce.date(), z.lazy(() => NestedDateTimeWithAggregatesFilterSchema)]).optional(), + _count: z.lazy(() => NestedIntFilterSchema).optional(), + _min: z.lazy(() => NestedDateTimeFilterSchema).optional(), + _max: z.lazy(() => NestedDateTimeFilterSchema).optional(), + }) + .strict() + +export const NestedStringNullableWithAggregatesFilterSchema: z.ZodType = + z + .object({ + equals: z.string().optional().nullable(), + in: z.string().array().optional().nullable(), + notIn: z.string().array().optional().nullable(), + lt: z.string().optional(), + lte: z.string().optional(), + gt: z.string().optional(), + gte: z.string().optional(), + contains: z.string().optional(), + startsWith: z.string().optional(), + endsWith: z.string().optional(), + not: z + .union([z.string(), z.lazy(() => NestedStringNullableWithAggregatesFilterSchema)]) + .optional() + .nullable(), + _count: z.lazy(() => NestedIntNullableFilterSchema).optional(), + _min: z.lazy(() => NestedStringNullableFilterSchema).optional(), + _max: z.lazy(() => NestedStringNullableFilterSchema).optional(), + }) + .strict() + +export const NestedIntNullableFilterSchema: z.ZodType = z + .object({ + equals: z.number().optional().nullable(), + in: z.number().array().optional().nullable(), + notIn: z.number().array().optional().nullable(), + lt: z.number().optional(), + lte: z.number().optional(), + gt: z.number().optional(), + gte: z.number().optional(), + not: z + .union([z.number(), z.lazy(() => NestedIntNullableFilterSchema)]) + .optional() + .nullable(), + }) + .strict() + +export const NestedBoolWithAggregatesFilterSchema: z.ZodType = z + .object({ + equals: z.boolean().optional(), + not: z.union([z.boolean(), z.lazy(() => NestedBoolWithAggregatesFilterSchema)]).optional(), + _count: z.lazy(() => NestedIntFilterSchema).optional(), + _min: z.lazy(() => NestedBoolFilterSchema).optional(), + _max: z.lazy(() => NestedBoolFilterSchema).optional(), + }) + .strict() + +export const NestedEnumIdentityProviderFilterSchema: z.ZodType = z + .object({ + equals: z.lazy(() => IdentityProviderSchema).optional(), + in: z + .lazy(() => IdentityProviderSchema) + .array() + .optional(), + notIn: z + .lazy(() => IdentityProviderSchema) + .array() + .optional(), + not: z + .union([z.lazy(() => IdentityProviderSchema), z.lazy(() => NestedEnumIdentityProviderFilterSchema)]) + .optional(), + }) + .strict() + +export const NestedEnumIdentityProviderWithAggregatesFilterSchema: z.ZodType = + z + .object({ + equals: z.lazy(() => IdentityProviderSchema).optional(), + in: z + .lazy(() => IdentityProviderSchema) + .array() + .optional(), + notIn: z + .lazy(() => IdentityProviderSchema) + .array() + .optional(), + not: z + .union([ + z.lazy(() => IdentityProviderSchema), + z.lazy(() => NestedEnumIdentityProviderWithAggregatesFilterSchema), + ]) + .optional(), + _count: z.lazy(() => NestedIntFilterSchema).optional(), + _min: z.lazy(() => NestedEnumIdentityProviderFilterSchema).optional(), + _max: z.lazy(() => NestedEnumIdentityProviderFilterSchema).optional(), + }) + .strict() + +export const NestedJsonNullableFilterSchema: z.ZodType = z + .object({ + equals: InputJsonValueSchema.optional(), + path: z.string().array().optional(), + mode: z.lazy(() => QueryModeSchema).optional(), + string_contains: z.string().optional(), + string_starts_with: z.string().optional(), + string_ends_with: z.string().optional(), + array_starts_with: InputJsonValueSchema.optional().nullable(), + array_ends_with: InputJsonValueSchema.optional().nullable(), + array_contains: InputJsonValueSchema.optional().nullable(), + lt: InputJsonValueSchema.optional(), + lte: InputJsonValueSchema.optional(), + gt: InputJsonValueSchema.optional(), + gte: InputJsonValueSchema.optional(), + not: InputJsonValueSchema.optional(), + }) + .strict() + +export const IdentityCreateWithoutOwnerInputSchema: z.ZodType = z + .object({ + id: z.string().cuid().optional(), + createdAt: z.coerce.date().optional(), + updatedAt: z.coerce.date().optional(), + provider: z.lazy(() => IdentityProviderSchema), + providerId: z.string(), + address: z.string().optional().nullable(), + name: z.string().optional().nullable(), + accessToken: z.string().optional().nullable(), + refreshToken: z.string().optional().nullable(), + profile: z.union([z.lazy(() => NullableJsonNullValueInputSchema), InputJsonValueSchema]).optional(), + verified: z.boolean().optional(), + }) + .strict() + +export const IdentityUncheckedCreateWithoutOwnerInputSchema: z.ZodType = + z + .object({ + id: z.string().cuid().optional(), + createdAt: z.coerce.date().optional(), + updatedAt: z.coerce.date().optional(), + provider: z.lazy(() => IdentityProviderSchema), + providerId: z.string(), + address: z.string().optional().nullable(), + name: z.string().optional().nullable(), + accessToken: z.string().optional().nullable(), + refreshToken: z.string().optional().nullable(), + profile: z.union([z.lazy(() => NullableJsonNullValueInputSchema), InputJsonValueSchema]).optional(), + verified: z.boolean().optional(), + }) + .strict() + +export const IdentityCreateOrConnectWithoutOwnerInputSchema: z.ZodType = + z + .object({ + where: z.lazy(() => IdentityWhereUniqueInputSchema), + create: z.union([ + z.lazy(() => IdentityCreateWithoutOwnerInputSchema), + z.lazy(() => IdentityUncheckedCreateWithoutOwnerInputSchema), + ]), + }) + .strict() + +export const IdentityCreateManyOwnerInputEnvelopeSchema: z.ZodType = z + .object({ + data: z.union([ + z.lazy(() => IdentityCreateManyOwnerInputSchema), + z.lazy(() => IdentityCreateManyOwnerInputSchema).array(), + ]), + skipDuplicates: z.boolean().optional(), + }) + .strict() + +export const IdentityUpsertWithWhereUniqueWithoutOwnerInputSchema: z.ZodType = + z + .object({ + where: z.lazy(() => IdentityWhereUniqueInputSchema), + update: z.union([ + z.lazy(() => IdentityUpdateWithoutOwnerInputSchema), + z.lazy(() => IdentityUncheckedUpdateWithoutOwnerInputSchema), + ]), + create: z.union([ + z.lazy(() => IdentityCreateWithoutOwnerInputSchema), + z.lazy(() => IdentityUncheckedCreateWithoutOwnerInputSchema), + ]), + }) + .strict() + +export const IdentityUpdateWithWhereUniqueWithoutOwnerInputSchema: z.ZodType = + z + .object({ + where: z.lazy(() => IdentityWhereUniqueInputSchema), + data: z.union([ + z.lazy(() => IdentityUpdateWithoutOwnerInputSchema), + z.lazy(() => IdentityUncheckedUpdateWithoutOwnerInputSchema), + ]), + }) + .strict() + +export const IdentityUpdateManyWithWhereWithoutOwnerInputSchema: z.ZodType = + z + .object({ + where: z.lazy(() => IdentityScalarWhereInputSchema), + data: z.union([ + z.lazy(() => IdentityUpdateManyMutationInputSchema), + z.lazy(() => IdentityUncheckedUpdateManyWithoutOwnerInputSchema), + ]), + }) + .strict() + +export const IdentityScalarWhereInputSchema: z.ZodType = z + .object({ + AND: z + .union([z.lazy(() => IdentityScalarWhereInputSchema), z.lazy(() => IdentityScalarWhereInputSchema).array()]) + .optional(), + OR: z + .lazy(() => IdentityScalarWhereInputSchema) + .array() + .optional(), + NOT: z + .union([z.lazy(() => IdentityScalarWhereInputSchema), z.lazy(() => IdentityScalarWhereInputSchema).array()]) + .optional(), + id: z.union([z.lazy(() => StringFilterSchema), z.string()]).optional(), + createdAt: z.union([z.lazy(() => DateTimeFilterSchema), z.coerce.date()]).optional(), + updatedAt: z.union([z.lazy(() => DateTimeFilterSchema), z.coerce.date()]).optional(), + provider: z + .union([z.lazy(() => EnumIdentityProviderFilterSchema), z.lazy(() => IdentityProviderSchema)]) + .optional(), + providerId: z.union([z.lazy(() => StringFilterSchema), z.string()]).optional(), + address: z + .union([z.lazy(() => StringNullableFilterSchema), z.string()]) + .optional() + .nullable(), + name: z + .union([z.lazy(() => StringNullableFilterSchema), z.string()]) + .optional() + .nullable(), + accessToken: z + .union([z.lazy(() => StringNullableFilterSchema), z.string()]) + .optional() + .nullable(), + refreshToken: z + .union([z.lazy(() => StringNullableFilterSchema), z.string()]) + .optional() + .nullable(), + profile: z.lazy(() => JsonNullableFilterSchema).optional(), + verified: z.union([z.lazy(() => BoolFilterSchema), z.boolean()]).optional(), + ownerId: z.union([z.lazy(() => StringFilterSchema), z.string()]).optional(), + }) + .strict() + +export const UserCreateWithoutIdentitiesInputSchema: z.ZodType = z + .object({ + id: z.string().cuid().optional(), + createdAt: z.coerce.date().optional(), + updatedAt: z.coerce.date().optional(), + username: z.string(), + password: z.string().optional().nullable(), + name: z.string().optional().nullable(), + avatarUrl: z.string().optional().nullable(), + admin: z.boolean().optional(), + }) + .strict() + +export const UserUncheckedCreateWithoutIdentitiesInputSchema: z.ZodType = + z + .object({ + id: z.string().cuid().optional(), + createdAt: z.coerce.date().optional(), + updatedAt: z.coerce.date().optional(), + username: z.string(), + password: z.string().optional().nullable(), + name: z.string().optional().nullable(), + avatarUrl: z.string().optional().nullable(), + admin: z.boolean().optional(), + }) + .strict() + +export const UserCreateOrConnectWithoutIdentitiesInputSchema: z.ZodType = + z + .object({ + where: z.lazy(() => UserWhereUniqueInputSchema), + create: z.union([ + z.lazy(() => UserCreateWithoutIdentitiesInputSchema), + z.lazy(() => UserUncheckedCreateWithoutIdentitiesInputSchema), + ]), + }) + .strict() + +export const UserUpsertWithoutIdentitiesInputSchema: z.ZodType = z + .object({ + update: z.union([ + z.lazy(() => UserUpdateWithoutIdentitiesInputSchema), + z.lazy(() => UserUncheckedUpdateWithoutIdentitiesInputSchema), + ]), + create: z.union([ + z.lazy(() => UserCreateWithoutIdentitiesInputSchema), + z.lazy(() => UserUncheckedCreateWithoutIdentitiesInputSchema), + ]), + where: z.lazy(() => UserWhereInputSchema).optional(), + }) + .strict() + +export const UserUpdateToOneWithWhereWithoutIdentitiesInputSchema: z.ZodType = + z + .object({ + where: z.lazy(() => UserWhereInputSchema).optional(), + data: z.union([ + z.lazy(() => UserUpdateWithoutIdentitiesInputSchema), + z.lazy(() => UserUncheckedUpdateWithoutIdentitiesInputSchema), + ]), + }) + .strict() + +export const UserUpdateWithoutIdentitiesInputSchema: z.ZodType = z + .object({ + id: z.union([z.string().cuid(), z.lazy(() => StringFieldUpdateOperationsInputSchema)]).optional(), + createdAt: z.union([z.coerce.date(), z.lazy(() => DateTimeFieldUpdateOperationsInputSchema)]).optional(), + updatedAt: z.union([z.coerce.date(), z.lazy(() => DateTimeFieldUpdateOperationsInputSchema)]).optional(), + username: z.union([z.string(), z.lazy(() => StringFieldUpdateOperationsInputSchema)]).optional(), + password: z + .union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputSchema)]) + .optional() + .nullable(), + name: z + .union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputSchema)]) + .optional() + .nullable(), + avatarUrl: z + .union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputSchema)]) + .optional() + .nullable(), + admin: z.union([z.boolean(), z.lazy(() => BoolFieldUpdateOperationsInputSchema)]).optional(), + }) + .strict() + +export const UserUncheckedUpdateWithoutIdentitiesInputSchema: z.ZodType = + z + .object({ + id: z.union([z.string().cuid(), z.lazy(() => StringFieldUpdateOperationsInputSchema)]).optional(), + createdAt: z.union([z.coerce.date(), z.lazy(() => DateTimeFieldUpdateOperationsInputSchema)]).optional(), + updatedAt: z.union([z.coerce.date(), z.lazy(() => DateTimeFieldUpdateOperationsInputSchema)]).optional(), + username: z.union([z.string(), z.lazy(() => StringFieldUpdateOperationsInputSchema)]).optional(), + password: z + .union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputSchema)]) + .optional() + .nullable(), + name: z + .union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputSchema)]) + .optional() + .nullable(), + avatarUrl: z + .union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputSchema)]) + .optional() + .nullable(), + admin: z.union([z.boolean(), z.lazy(() => BoolFieldUpdateOperationsInputSchema)]).optional(), + }) + .strict() + +export const IdentityCreateManyOwnerInputSchema: z.ZodType = z + .object({ + id: z.string().cuid().optional(), + createdAt: z.coerce.date().optional(), + updatedAt: z.coerce.date().optional(), + provider: z.lazy(() => IdentityProviderSchema), + providerId: z.string(), + address: z.string().optional().nullable(), + name: z.string().optional().nullable(), + accessToken: z.string().optional().nullable(), + refreshToken: z.string().optional().nullable(), + profile: z.union([z.lazy(() => NullableJsonNullValueInputSchema), InputJsonValueSchema]).optional(), + verified: z.boolean().optional(), + }) + .strict() + +export const IdentityUpdateWithoutOwnerInputSchema: z.ZodType = z + .object({ + id: z.union([z.string().cuid(), z.lazy(() => StringFieldUpdateOperationsInputSchema)]).optional(), + createdAt: z.union([z.coerce.date(), z.lazy(() => DateTimeFieldUpdateOperationsInputSchema)]).optional(), + updatedAt: z.union([z.coerce.date(), z.lazy(() => DateTimeFieldUpdateOperationsInputSchema)]).optional(), + provider: z + .union([z.lazy(() => IdentityProviderSchema), z.lazy(() => EnumIdentityProviderFieldUpdateOperationsInputSchema)]) + .optional(), + providerId: z.union([z.string(), z.lazy(() => StringFieldUpdateOperationsInputSchema)]).optional(), + address: z + .union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputSchema)]) + .optional() + .nullable(), + name: z + .union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputSchema)]) + .optional() + .nullable(), + accessToken: z + .union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputSchema)]) + .optional() + .nullable(), + refreshToken: z + .union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputSchema)]) + .optional() + .nullable(), + profile: z.union([z.lazy(() => NullableJsonNullValueInputSchema), InputJsonValueSchema]).optional(), + verified: z.union([z.boolean(), z.lazy(() => BoolFieldUpdateOperationsInputSchema)]).optional(), + }) + .strict() + +export const IdentityUncheckedUpdateWithoutOwnerInputSchema: z.ZodType = + z + .object({ + id: z.union([z.string().cuid(), z.lazy(() => StringFieldUpdateOperationsInputSchema)]).optional(), + createdAt: z.union([z.coerce.date(), z.lazy(() => DateTimeFieldUpdateOperationsInputSchema)]).optional(), + updatedAt: z.union([z.coerce.date(), z.lazy(() => DateTimeFieldUpdateOperationsInputSchema)]).optional(), + provider: z + .union([ + z.lazy(() => IdentityProviderSchema), + z.lazy(() => EnumIdentityProviderFieldUpdateOperationsInputSchema), + ]) + .optional(), + providerId: z.union([z.string(), z.lazy(() => StringFieldUpdateOperationsInputSchema)]).optional(), + address: z + .union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputSchema)]) + .optional() + .nullable(), + name: z + .union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputSchema)]) + .optional() + .nullable(), + accessToken: z + .union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputSchema)]) + .optional() + .nullable(), + refreshToken: z + .union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputSchema)]) + .optional() + .nullable(), + profile: z.union([z.lazy(() => NullableJsonNullValueInputSchema), InputJsonValueSchema]).optional(), + verified: z.union([z.boolean(), z.lazy(() => BoolFieldUpdateOperationsInputSchema)]).optional(), + }) + .strict() + +export const IdentityUncheckedUpdateManyWithoutOwnerInputSchema: z.ZodType = + z + .object({ + id: z.union([z.string().cuid(), z.lazy(() => StringFieldUpdateOperationsInputSchema)]).optional(), + createdAt: z.union([z.coerce.date(), z.lazy(() => DateTimeFieldUpdateOperationsInputSchema)]).optional(), + updatedAt: z.union([z.coerce.date(), z.lazy(() => DateTimeFieldUpdateOperationsInputSchema)]).optional(), + provider: z + .union([ + z.lazy(() => IdentityProviderSchema), + z.lazy(() => EnumIdentityProviderFieldUpdateOperationsInputSchema), + ]) + .optional(), + providerId: z.union([z.string(), z.lazy(() => StringFieldUpdateOperationsInputSchema)]).optional(), + address: z + .union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputSchema)]) + .optional() + .nullable(), + name: z + .union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputSchema)]) + .optional() + .nullable(), + accessToken: z + .union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputSchema)]) + .optional() + .nullable(), + refreshToken: z + .union([z.string(), z.lazy(() => NullableStringFieldUpdateOperationsInputSchema)]) + .optional() + .nullable(), + profile: z.union([z.lazy(() => NullableJsonNullValueInputSchema), InputJsonValueSchema]).optional(), + verified: z.union([z.boolean(), z.lazy(() => BoolFieldUpdateOperationsInputSchema)]).optional(), + }) + .strict() ///////////////////////////////////////// // ARGS ///////////////////////////////////////// -export const UserFindFirstArgsSchema: z.ZodType = z.object({ - select: UserSelectSchema.optional(), - include: UserIncludeSchema.optional(), - where: UserWhereInputSchema.optional(), - orderBy: z.union([ UserOrderByWithRelationInputSchema.array(),UserOrderByWithRelationInputSchema ]).optional(), - cursor: UserWhereUniqueInputSchema.optional(), - take: z.number().optional(), - skip: z.number().optional(), - distinct: z.union([ UserScalarFieldEnumSchema,UserScalarFieldEnumSchema.array() ]).optional(), -}).strict() ; - -export const UserFindFirstOrThrowArgsSchema: z.ZodType = z.object({ - select: UserSelectSchema.optional(), - include: UserIncludeSchema.optional(), - where: UserWhereInputSchema.optional(), - orderBy: z.union([ UserOrderByWithRelationInputSchema.array(),UserOrderByWithRelationInputSchema ]).optional(), - cursor: UserWhereUniqueInputSchema.optional(), - take: z.number().optional(), - skip: z.number().optional(), - distinct: z.union([ UserScalarFieldEnumSchema,UserScalarFieldEnumSchema.array() ]).optional(), -}).strict() ; - -export const UserFindManyArgsSchema: z.ZodType = z.object({ - select: UserSelectSchema.optional(), - include: UserIncludeSchema.optional(), - where: UserWhereInputSchema.optional(), - orderBy: z.union([ UserOrderByWithRelationInputSchema.array(),UserOrderByWithRelationInputSchema ]).optional(), - cursor: UserWhereUniqueInputSchema.optional(), - take: z.number().optional(), - skip: z.number().optional(), - distinct: z.union([ UserScalarFieldEnumSchema,UserScalarFieldEnumSchema.array() ]).optional(), -}).strict() ; - -export const UserAggregateArgsSchema: z.ZodType = z.object({ - where: UserWhereInputSchema.optional(), - orderBy: z.union([ UserOrderByWithRelationInputSchema.array(),UserOrderByWithRelationInputSchema ]).optional(), - cursor: UserWhereUniqueInputSchema.optional(), - take: z.number().optional(), - skip: z.number().optional(), -}).strict() ; - -export const UserGroupByArgsSchema: z.ZodType = z.object({ - where: UserWhereInputSchema.optional(), - orderBy: z.union([ UserOrderByWithAggregationInputSchema.array(),UserOrderByWithAggregationInputSchema ]).optional(), - by: UserScalarFieldEnumSchema.array(), - having: UserScalarWhereWithAggregatesInputSchema.optional(), - take: z.number().optional(), - skip: z.number().optional(), -}).strict() ; - -export const UserFindUniqueArgsSchema: z.ZodType = z.object({ - select: UserSelectSchema.optional(), - include: UserIncludeSchema.optional(), - where: UserWhereUniqueInputSchema, -}).strict() ; - -export const UserFindUniqueOrThrowArgsSchema: z.ZodType = z.object({ - select: UserSelectSchema.optional(), - include: UserIncludeSchema.optional(), - where: UserWhereUniqueInputSchema, -}).strict() ; - -export const IdentityFindFirstArgsSchema: z.ZodType = z.object({ - select: IdentitySelectSchema.optional(), - include: IdentityIncludeSchema.optional(), - where: IdentityWhereInputSchema.optional(), - orderBy: z.union([ IdentityOrderByWithRelationInputSchema.array(),IdentityOrderByWithRelationInputSchema ]).optional(), - cursor: IdentityWhereUniqueInputSchema.optional(), - take: z.number().optional(), - skip: z.number().optional(), - distinct: z.union([ IdentityScalarFieldEnumSchema,IdentityScalarFieldEnumSchema.array() ]).optional(), -}).strict() ; - -export const IdentityFindFirstOrThrowArgsSchema: z.ZodType = z.object({ - select: IdentitySelectSchema.optional(), - include: IdentityIncludeSchema.optional(), - where: IdentityWhereInputSchema.optional(), - orderBy: z.union([ IdentityOrderByWithRelationInputSchema.array(),IdentityOrderByWithRelationInputSchema ]).optional(), - cursor: IdentityWhereUniqueInputSchema.optional(), - take: z.number().optional(), - skip: z.number().optional(), - distinct: z.union([ IdentityScalarFieldEnumSchema,IdentityScalarFieldEnumSchema.array() ]).optional(), -}).strict() ; - -export const IdentityFindManyArgsSchema: z.ZodType = z.object({ - select: IdentitySelectSchema.optional(), - include: IdentityIncludeSchema.optional(), - where: IdentityWhereInputSchema.optional(), - orderBy: z.union([ IdentityOrderByWithRelationInputSchema.array(),IdentityOrderByWithRelationInputSchema ]).optional(), - cursor: IdentityWhereUniqueInputSchema.optional(), - take: z.number().optional(), - skip: z.number().optional(), - distinct: z.union([ IdentityScalarFieldEnumSchema,IdentityScalarFieldEnumSchema.array() ]).optional(), -}).strict() ; - -export const IdentityAggregateArgsSchema: z.ZodType = z.object({ - where: IdentityWhereInputSchema.optional(), - orderBy: z.union([ IdentityOrderByWithRelationInputSchema.array(),IdentityOrderByWithRelationInputSchema ]).optional(), - cursor: IdentityWhereUniqueInputSchema.optional(), - take: z.number().optional(), - skip: z.number().optional(), -}).strict() ; - -export const IdentityGroupByArgsSchema: z.ZodType = z.object({ - where: IdentityWhereInputSchema.optional(), - orderBy: z.union([ IdentityOrderByWithAggregationInputSchema.array(),IdentityOrderByWithAggregationInputSchema ]).optional(), - by: IdentityScalarFieldEnumSchema.array(), - having: IdentityScalarWhereWithAggregatesInputSchema.optional(), - take: z.number().optional(), - skip: z.number().optional(), -}).strict() ; - -export const IdentityFindUniqueArgsSchema: z.ZodType = z.object({ - select: IdentitySelectSchema.optional(), - include: IdentityIncludeSchema.optional(), - where: IdentityWhereUniqueInputSchema, -}).strict() ; - -export const IdentityFindUniqueOrThrowArgsSchema: z.ZodType = z.object({ - select: IdentitySelectSchema.optional(), - include: IdentityIncludeSchema.optional(), - where: IdentityWhereUniqueInputSchema, -}).strict() ; - -export const UserCreateArgsSchema: z.ZodType = z.object({ - select: UserSelectSchema.optional(), - include: UserIncludeSchema.optional(), - data: z.union([ UserCreateInputSchema,UserUncheckedCreateInputSchema ]), -}).strict() ; - -export const UserUpsertArgsSchema: z.ZodType = z.object({ - select: UserSelectSchema.optional(), - include: UserIncludeSchema.optional(), - where: UserWhereUniqueInputSchema, - create: z.union([ UserCreateInputSchema,UserUncheckedCreateInputSchema ]), - update: z.union([ UserUpdateInputSchema,UserUncheckedUpdateInputSchema ]), -}).strict() ; - -export const UserCreateManyArgsSchema: z.ZodType = z.object({ - data: z.union([ UserCreateManyInputSchema,UserCreateManyInputSchema.array() ]), - skipDuplicates: z.boolean().optional(), -}).strict() ; - -export const UserCreateManyAndReturnArgsSchema: z.ZodType = z.object({ - data: z.union([ UserCreateManyInputSchema,UserCreateManyInputSchema.array() ]), - skipDuplicates: z.boolean().optional(), -}).strict() ; - -export const UserDeleteArgsSchema: z.ZodType = z.object({ - select: UserSelectSchema.optional(), - include: UserIncludeSchema.optional(), - where: UserWhereUniqueInputSchema, -}).strict() ; - -export const UserUpdateArgsSchema: z.ZodType = z.object({ - select: UserSelectSchema.optional(), - include: UserIncludeSchema.optional(), - data: z.union([ UserUpdateInputSchema,UserUncheckedUpdateInputSchema ]), - where: UserWhereUniqueInputSchema, -}).strict() ; - -export const UserUpdateManyArgsSchema: z.ZodType = z.object({ - data: z.union([ UserUpdateManyMutationInputSchema,UserUncheckedUpdateManyInputSchema ]), - where: UserWhereInputSchema.optional(), - limit: z.number().optional(), -}).strict() ; - -export const UserUpdateManyAndReturnArgsSchema: z.ZodType = z.object({ - data: z.union([ UserUpdateManyMutationInputSchema,UserUncheckedUpdateManyInputSchema ]), - where: UserWhereInputSchema.optional(), - limit: z.number().optional(), -}).strict() ; - -export const UserDeleteManyArgsSchema: z.ZodType = z.object({ - where: UserWhereInputSchema.optional(), - limit: z.number().optional(), -}).strict() ; - -export const IdentityCreateArgsSchema: z.ZodType = z.object({ - select: IdentitySelectSchema.optional(), - include: IdentityIncludeSchema.optional(), - data: z.union([ IdentityCreateInputSchema,IdentityUncheckedCreateInputSchema ]), -}).strict() ; - -export const IdentityUpsertArgsSchema: z.ZodType = z.object({ - select: IdentitySelectSchema.optional(), - include: IdentityIncludeSchema.optional(), - where: IdentityWhereUniqueInputSchema, - create: z.union([ IdentityCreateInputSchema,IdentityUncheckedCreateInputSchema ]), - update: z.union([ IdentityUpdateInputSchema,IdentityUncheckedUpdateInputSchema ]), -}).strict() ; - -export const IdentityCreateManyArgsSchema: z.ZodType = z.object({ - data: z.union([ IdentityCreateManyInputSchema,IdentityCreateManyInputSchema.array() ]), - skipDuplicates: z.boolean().optional(), -}).strict() ; - -export const IdentityCreateManyAndReturnArgsSchema: z.ZodType = z.object({ - data: z.union([ IdentityCreateManyInputSchema,IdentityCreateManyInputSchema.array() ]), - skipDuplicates: z.boolean().optional(), -}).strict() ; - -export const IdentityDeleteArgsSchema: z.ZodType = z.object({ - select: IdentitySelectSchema.optional(), - include: IdentityIncludeSchema.optional(), - where: IdentityWhereUniqueInputSchema, -}).strict() ; - -export const IdentityUpdateArgsSchema: z.ZodType = z.object({ - select: IdentitySelectSchema.optional(), - include: IdentityIncludeSchema.optional(), - data: z.union([ IdentityUpdateInputSchema,IdentityUncheckedUpdateInputSchema ]), - where: IdentityWhereUniqueInputSchema, -}).strict() ; - -export const IdentityUpdateManyArgsSchema: z.ZodType = z.object({ - data: z.union([ IdentityUpdateManyMutationInputSchema,IdentityUncheckedUpdateManyInputSchema ]), - where: IdentityWhereInputSchema.optional(), - limit: z.number().optional(), -}).strict() ; - -export const IdentityUpdateManyAndReturnArgsSchema: z.ZodType = z.object({ - data: z.union([ IdentityUpdateManyMutationInputSchema,IdentityUncheckedUpdateManyInputSchema ]), - where: IdentityWhereInputSchema.optional(), - limit: z.number().optional(), -}).strict() ; - -export const IdentityDeleteManyArgsSchema: z.ZodType = z.object({ - where: IdentityWhereInputSchema.optional(), - limit: z.number().optional(), -}).strict() ; \ No newline at end of file +export const UserFindFirstArgsSchema: z.ZodType = z + .object({ + select: UserSelectSchema.optional(), + include: UserIncludeSchema.optional(), + where: UserWhereInputSchema.optional(), + orderBy: z.union([UserOrderByWithRelationInputSchema.array(), UserOrderByWithRelationInputSchema]).optional(), + cursor: UserWhereUniqueInputSchema.optional(), + take: z.number().optional(), + skip: z.number().optional(), + distinct: z.union([UserScalarFieldEnumSchema, UserScalarFieldEnumSchema.array()]).optional(), + }) + .strict() + +export const UserFindFirstOrThrowArgsSchema: z.ZodType = z + .object({ + select: UserSelectSchema.optional(), + include: UserIncludeSchema.optional(), + where: UserWhereInputSchema.optional(), + orderBy: z.union([UserOrderByWithRelationInputSchema.array(), UserOrderByWithRelationInputSchema]).optional(), + cursor: UserWhereUniqueInputSchema.optional(), + take: z.number().optional(), + skip: z.number().optional(), + distinct: z.union([UserScalarFieldEnumSchema, UserScalarFieldEnumSchema.array()]).optional(), + }) + .strict() + +export const UserFindManyArgsSchema: z.ZodType = z + .object({ + select: UserSelectSchema.optional(), + include: UserIncludeSchema.optional(), + where: UserWhereInputSchema.optional(), + orderBy: z.union([UserOrderByWithRelationInputSchema.array(), UserOrderByWithRelationInputSchema]).optional(), + cursor: UserWhereUniqueInputSchema.optional(), + take: z.number().optional(), + skip: z.number().optional(), + distinct: z.union([UserScalarFieldEnumSchema, UserScalarFieldEnumSchema.array()]).optional(), + }) + .strict() + +export const UserAggregateArgsSchema: z.ZodType = z + .object({ + where: UserWhereInputSchema.optional(), + orderBy: z.union([UserOrderByWithRelationInputSchema.array(), UserOrderByWithRelationInputSchema]).optional(), + cursor: UserWhereUniqueInputSchema.optional(), + take: z.number().optional(), + skip: z.number().optional(), + }) + .strict() + +export const UserGroupByArgsSchema: z.ZodType = z + .object({ + where: UserWhereInputSchema.optional(), + orderBy: z.union([UserOrderByWithAggregationInputSchema.array(), UserOrderByWithAggregationInputSchema]).optional(), + by: UserScalarFieldEnumSchema.array(), + having: UserScalarWhereWithAggregatesInputSchema.optional(), + take: z.number().optional(), + skip: z.number().optional(), + }) + .strict() + +export const UserFindUniqueArgsSchema: z.ZodType = z + .object({ + select: UserSelectSchema.optional(), + include: UserIncludeSchema.optional(), + where: UserWhereUniqueInputSchema, + }) + .strict() + +export const UserFindUniqueOrThrowArgsSchema: z.ZodType = z + .object({ + select: UserSelectSchema.optional(), + include: UserIncludeSchema.optional(), + where: UserWhereUniqueInputSchema, + }) + .strict() + +export const IdentityFindFirstArgsSchema: z.ZodType = z + .object({ + select: IdentitySelectSchema.optional(), + include: IdentityIncludeSchema.optional(), + where: IdentityWhereInputSchema.optional(), + orderBy: z + .union([IdentityOrderByWithRelationInputSchema.array(), IdentityOrderByWithRelationInputSchema]) + .optional(), + cursor: IdentityWhereUniqueInputSchema.optional(), + take: z.number().optional(), + skip: z.number().optional(), + distinct: z.union([IdentityScalarFieldEnumSchema, IdentityScalarFieldEnumSchema.array()]).optional(), + }) + .strict() + +export const IdentityFindFirstOrThrowArgsSchema: z.ZodType = z + .object({ + select: IdentitySelectSchema.optional(), + include: IdentityIncludeSchema.optional(), + where: IdentityWhereInputSchema.optional(), + orderBy: z + .union([IdentityOrderByWithRelationInputSchema.array(), IdentityOrderByWithRelationInputSchema]) + .optional(), + cursor: IdentityWhereUniqueInputSchema.optional(), + take: z.number().optional(), + skip: z.number().optional(), + distinct: z.union([IdentityScalarFieldEnumSchema, IdentityScalarFieldEnumSchema.array()]).optional(), + }) + .strict() + +export const IdentityFindManyArgsSchema: z.ZodType = z + .object({ + select: IdentitySelectSchema.optional(), + include: IdentityIncludeSchema.optional(), + where: IdentityWhereInputSchema.optional(), + orderBy: z + .union([IdentityOrderByWithRelationInputSchema.array(), IdentityOrderByWithRelationInputSchema]) + .optional(), + cursor: IdentityWhereUniqueInputSchema.optional(), + take: z.number().optional(), + skip: z.number().optional(), + distinct: z.union([IdentityScalarFieldEnumSchema, IdentityScalarFieldEnumSchema.array()]).optional(), + }) + .strict() + +export const IdentityAggregateArgsSchema: z.ZodType = z + .object({ + where: IdentityWhereInputSchema.optional(), + orderBy: z + .union([IdentityOrderByWithRelationInputSchema.array(), IdentityOrderByWithRelationInputSchema]) + .optional(), + cursor: IdentityWhereUniqueInputSchema.optional(), + take: z.number().optional(), + skip: z.number().optional(), + }) + .strict() + +export const IdentityGroupByArgsSchema: z.ZodType = z + .object({ + where: IdentityWhereInputSchema.optional(), + orderBy: z + .union([IdentityOrderByWithAggregationInputSchema.array(), IdentityOrderByWithAggregationInputSchema]) + .optional(), + by: IdentityScalarFieldEnumSchema.array(), + having: IdentityScalarWhereWithAggregatesInputSchema.optional(), + take: z.number().optional(), + skip: z.number().optional(), + }) + .strict() + +export const IdentityFindUniqueArgsSchema: z.ZodType = z + .object({ + select: IdentitySelectSchema.optional(), + include: IdentityIncludeSchema.optional(), + where: IdentityWhereUniqueInputSchema, + }) + .strict() + +export const IdentityFindUniqueOrThrowArgsSchema: z.ZodType = z + .object({ + select: IdentitySelectSchema.optional(), + include: IdentityIncludeSchema.optional(), + where: IdentityWhereUniqueInputSchema, + }) + .strict() + +export const UserCreateArgsSchema: z.ZodType = z + .object({ + select: UserSelectSchema.optional(), + include: UserIncludeSchema.optional(), + data: z.union([UserCreateInputSchema, UserUncheckedCreateInputSchema]), + }) + .strict() + +export const UserUpsertArgsSchema: z.ZodType = z + .object({ + select: UserSelectSchema.optional(), + include: UserIncludeSchema.optional(), + where: UserWhereUniqueInputSchema, + create: z.union([UserCreateInputSchema, UserUncheckedCreateInputSchema]), + update: z.union([UserUpdateInputSchema, UserUncheckedUpdateInputSchema]), + }) + .strict() + +export const UserCreateManyArgsSchema: z.ZodType = z + .object({ + data: z.union([UserCreateManyInputSchema, UserCreateManyInputSchema.array()]), + skipDuplicates: z.boolean().optional(), + }) + .strict() + +export const UserCreateManyAndReturnArgsSchema: z.ZodType = z + .object({ + data: z.union([UserCreateManyInputSchema, UserCreateManyInputSchema.array()]), + skipDuplicates: z.boolean().optional(), + }) + .strict() + +export const UserDeleteArgsSchema: z.ZodType = z + .object({ + select: UserSelectSchema.optional(), + include: UserIncludeSchema.optional(), + where: UserWhereUniqueInputSchema, + }) + .strict() + +export const UserUpdateArgsSchema: z.ZodType = z + .object({ + select: UserSelectSchema.optional(), + include: UserIncludeSchema.optional(), + data: z.union([UserUpdateInputSchema, UserUncheckedUpdateInputSchema]), + where: UserWhereUniqueInputSchema, + }) + .strict() + +export const UserUpdateManyArgsSchema: z.ZodType = z + .object({ + data: z.union([UserUpdateManyMutationInputSchema, UserUncheckedUpdateManyInputSchema]), + where: UserWhereInputSchema.optional(), + limit: z.number().optional(), + }) + .strict() + +export const UserUpdateManyAndReturnArgsSchema: z.ZodType = z + .object({ + data: z.union([UserUpdateManyMutationInputSchema, UserUncheckedUpdateManyInputSchema]), + where: UserWhereInputSchema.optional(), + limit: z.number().optional(), + }) + .strict() + +export const UserDeleteManyArgsSchema: z.ZodType = z + .object({ + where: UserWhereInputSchema.optional(), + limit: z.number().optional(), + }) + .strict() + +export const IdentityCreateArgsSchema: z.ZodType = z + .object({ + select: IdentitySelectSchema.optional(), + include: IdentityIncludeSchema.optional(), + data: z.union([IdentityCreateInputSchema, IdentityUncheckedCreateInputSchema]), + }) + .strict() + +export const IdentityUpsertArgsSchema: z.ZodType = z + .object({ + select: IdentitySelectSchema.optional(), + include: IdentityIncludeSchema.optional(), + where: IdentityWhereUniqueInputSchema, + create: z.union([IdentityCreateInputSchema, IdentityUncheckedCreateInputSchema]), + update: z.union([IdentityUpdateInputSchema, IdentityUncheckedUpdateInputSchema]), + }) + .strict() + +export const IdentityCreateManyArgsSchema: z.ZodType = z + .object({ + data: z.union([IdentityCreateManyInputSchema, IdentityCreateManyInputSchema.array()]), + skipDuplicates: z.boolean().optional(), + }) + .strict() + +export const IdentityCreateManyAndReturnArgsSchema: z.ZodType = z + .object({ + data: z.union([IdentityCreateManyInputSchema, IdentityCreateManyInputSchema.array()]), + skipDuplicates: z.boolean().optional(), + }) + .strict() + +export const IdentityDeleteArgsSchema: z.ZodType = z + .object({ + select: IdentitySelectSchema.optional(), + include: IdentityIncludeSchema.optional(), + where: IdentityWhereUniqueInputSchema, + }) + .strict() + +export const IdentityUpdateArgsSchema: z.ZodType = z + .object({ + select: IdentitySelectSchema.optional(), + include: IdentityIncludeSchema.optional(), + data: z.union([IdentityUpdateInputSchema, IdentityUncheckedUpdateInputSchema]), + where: IdentityWhereUniqueInputSchema, + }) + .strict() + +export const IdentityUpdateManyArgsSchema: z.ZodType = z + .object({ + data: z.union([IdentityUpdateManyMutationInputSchema, IdentityUncheckedUpdateManyInputSchema]), + where: IdentityWhereInputSchema.optional(), + limit: z.number().optional(), + }) + .strict() + +export const IdentityUpdateManyAndReturnArgsSchema: z.ZodType = z + .object({ + data: z.union([IdentityUpdateManyMutationInputSchema, IdentityUncheckedUpdateManyInputSchema]), + where: IdentityWhereInputSchema.optional(), + limit: z.number().optional(), + }) + .strict() + +export const IdentityDeleteManyArgsSchema: z.ZodType = z + .object({ + where: IdentityWhereInputSchema.optional(), + limit: z.number().optional(), + }) + .strict() diff --git a/app/lib/pubkey/get-pubkey-config.ts b/app/lib/pubkey/get-pubkey-config.ts index 1eaeb64..1acf3d4 100644 --- a/app/lib/pubkey/get-pubkey-config.ts +++ b/app/lib/pubkey/get-pubkey-config.ts @@ -4,7 +4,7 @@ import { getPubkeySdkAuthority } from '~/lib/pubkey/get-pubkey-sdk-authority' export async function getPubkeyConfig(): Promise { const sdk = getPubkeySdkAuthority() - const config: PubKeyConfig | null = await sdk.configGetNullable() + const config: PubKeyConfig | null = await sdk.configGet({ nullable: true }) if (!config || !config.communityAuthority) { return null diff --git a/app/lib/pubkey/get-pubkey-sdk-authority.ts b/app/lib/pubkey/get-pubkey-sdk-authority.ts index 1000920..b14ab70 100644 --- a/app/lib/pubkey/get-pubkey-sdk-authority.ts +++ b/app/lib/pubkey/get-pubkey-sdk-authority.ts @@ -2,4 +2,4 @@ import { getPubkeySdk } from '~/lib/pubkey/get-pubkey-sdk' export function getPubkeySdkAuthority() { return getPubkeySdk({ feePayer: 'authority' }) -} \ No newline at end of file +} diff --git a/app/lib/pubkey/get-pubkey-sdk-community.ts b/app/lib/pubkey/get-pubkey-sdk-community.ts index 79da8ed..ad071e9 100644 --- a/app/lib/pubkey/get-pubkey-sdk-community.ts +++ b/app/lib/pubkey/get-pubkey-sdk-community.ts @@ -2,4 +2,4 @@ import { getPubkeySdk } from '~/lib/pubkey/get-pubkey-sdk' export function getPubkeySdkCommunity() { return getPubkeySdk({ feePayer: 'community' }) -} \ No newline at end of file +} diff --git a/app/lib/sessions.server.ts b/app/lib/sessions.server.ts index 52eafa2..4218b0c 100644 --- a/app/lib/sessions.server.ts +++ b/app/lib/sessions.server.ts @@ -1,7 +1,7 @@ import { createCookieSessionStorage } from 'react-router' import { createThemeSessionResolver } from 'remix-themes' -const appId = process.env.APP_ID ?? 'samui-stack' +const appId = process.env.APP_ID ?? 'pubkey-protocol-demo' const domain = process.env.DOMAIN ?? 'localhost' const secret = process.env.COOKIE_SECRET ?? '' const secure = process.env.NODE_ENV === 'production' diff --git a/app/lib/solana-auth/create-solana-auth.ts b/app/lib/solana-auth/create-solana-auth.ts new file mode 100644 index 0000000..310ff2f --- /dev/null +++ b/app/lib/solana-auth/create-solana-auth.ts @@ -0,0 +1,16 @@ +import type { SolanaAuthConfig } from './solana-auth-config' +import type { SolanaAuthInstance } from './solana-auth-instance' +import type { SolanaAuthMessageCreateOptions, SolanaAuthMessageSigned } from './solana-auth-message' +import { solanaAuthMethodCreate } from './solana-auth-method-create' +import { solanaAuthMethodVerify } from './solana-auth-method-verify' + +export function createSolanaAuth(config: SolanaAuthConfig): SolanaAuthInstance { + return { + createMessage: async (options: SolanaAuthMessageCreateOptions) => { + return await solanaAuthMethodCreate(config.client, options) + }, + verifyMessage: async (options: SolanaAuthMessageSigned) => { + return await solanaAuthMethodVerify(config.client, options) + }, + } +} diff --git a/app/lib/solana-auth/memo/index.ts b/app/lib/solana-auth/memo/index.ts new file mode 100644 index 0000000..4e3b03f --- /dev/null +++ b/app/lib/solana-auth/memo/index.ts @@ -0,0 +1,109 @@ +/** + * This code was AUTOGENERATED using the codama library. + * Please DO NOT EDIT THIS FILE, instead use visitors + * to add features, then rerun codama to update it. + * + * @see https://github.com/codama-idl/codama + */ + +/** + * This code was AUTOGENERATED using the codama library. + * Please DO NOT EDIT THIS FILE, instead use visitors + * to add features, then rerun codama to update it. + * + * @see https://github.com/codama-idl/codama + */ +import { + AccountRole, + type Address, + type Codec, + combineCodec, + type Decoder, + type Encoder, + getStructDecoder, + getStructEncoder, + getUtf8Decoder, + getUtf8Encoder, + type IAccountMeta, + type IInstruction, + type IInstructionWithAccounts, + type IInstructionWithData, + type TransactionSigner, +} from 'gill' + +export type AddMemoInstruction< + TProgram extends string = typeof MEMO_PROGRAM_ADDRESS, + TRemainingAccounts extends readonly IAccountMeta[] = [], +> = IInstruction & IInstructionWithData & IInstructionWithAccounts + +export type AddMemoInstructionData = { memo: string } + +export type AddMemoInstructionDataArgs = AddMemoInstructionData + +export function getAddMemoInstructionDataEncoder(): Encoder { + return getStructEncoder([['memo', getUtf8Encoder()]]) +} + +export function getAddMemoInstructionDataDecoder(): Decoder { + return getStructDecoder([['memo', getUtf8Decoder()]]) +} + +export function getAddMemoInstructionDataCodec(): Codec { + return combineCodec(getAddMemoInstructionDataEncoder(), getAddMemoInstructionDataDecoder()) +} + +export type AddMemoInput = { + memo: AddMemoInstructionDataArgs['memo'] + signers?: Array +} + +export function getAddMemoInstruction( + input: AddMemoInput, + config?: { programAddress?: TProgramAddress }, +): AddMemoInstruction { + // Program address. + const programAddress = config?.programAddress ?? MEMO_PROGRAM_ADDRESS + + // Original args. + const args = { ...input } + + // Remaining accounts. + const remainingAccounts: IAccountMeta[] = (args.signers ?? []).map((signer) => ({ + address: signer.address, + role: AccountRole.READONLY_SIGNER, + signer, + })) + + const instruction = { + accounts: remainingAccounts, + programAddress, + data: getAddMemoInstructionDataEncoder().encode(args as AddMemoInstructionDataArgs), + } as AddMemoInstruction + + return instruction +} + +export type ParsedAddMemoInstruction = { + programAddress: Address + data: AddMemoInstructionData +} + +export function parseAddMemoInstruction( + instruction: IInstruction & IInstructionWithData, +): ParsedAddMemoInstruction { + return { + programAddress: instruction.programAddress, + data: getAddMemoInstructionDataDecoder().decode(instruction.data), + } +} + +export const MEMO_PROGRAM_ADDRESS = + 'MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr' as Address<'MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr'> + +export enum MemoInstruction { + AddMemo, +} + +export type ParsedMemoInstruction = { + instructionType: MemoInstruction.AddMemo +} & ParsedAddMemoInstruction diff --git a/app/lib/solana-auth/solana-auth-config.ts b/app/lib/solana-auth/solana-auth-config.ts new file mode 100644 index 0000000..24e8532 --- /dev/null +++ b/app/lib/solana-auth/solana-auth-config.ts @@ -0,0 +1,10 @@ +import type { SolanaClient } from 'gill' +import type { SolanaAuthMethod } from './solana-auth-methods' + +export interface SolanaAuthConfig { + // The client to use for the instance. + // TODO: This should be provided by the plugin. For now, we hardcode it to the new @solana/web3.js v2. + client: SolanaClient + // The methods that the instance will support. + methods: SolanaAuthMethod[] +} diff --git a/app/lib/solana-auth/solana-auth-instance.ts b/app/lib/solana-auth/solana-auth-instance.ts new file mode 100644 index 0000000..22730ab --- /dev/null +++ b/app/lib/solana-auth/solana-auth-instance.ts @@ -0,0 +1,10 @@ +import type { SolanaAuthMessage, SolanaAuthMessageCreateOptions, SolanaAuthMessageSigned } from './solana-auth-message' + +// Public methods that are exposed by the SolanaAuth instance. +export interface SolanaAuthInstance { + // Create a verification message for a user to sign. + createMessage(options: SolanaAuthMessageCreateOptions): Promise + + // Verify the message signed by a user. + verifyMessage(options: SolanaAuthMessageSigned): Promise +} diff --git a/app/lib/solana-auth/solana-auth-message.ts b/app/lib/solana-auth/solana-auth-message.ts new file mode 100644 index 0000000..fb40325 --- /dev/null +++ b/app/lib/solana-auth/solana-auth-message.ts @@ -0,0 +1,25 @@ +import type { SolanaAuthMethod } from './solana-auth-methods' + +export interface SolanaAuthMessage { + method: SolanaAuthMethod + publicKey: string + blockhash: string + nonce: string + message: SolanaAuthMessagePayload +} + +export interface SolanaAuthMessagePayload { + chain: string + text: string + // TODO: Define the properties. +} + +export interface SolanaAuthMessageSigned extends SolanaAuthMessage { + signature: string +} + +export interface SolanaAuthMessageCreateOptions { + method: SolanaAuthMethod + publicKey: string + // TODO: Define the properties. +} diff --git a/app/lib/solana-auth/solana-auth-method-create.ts b/app/lib/solana-auth/solana-auth-method-create.ts new file mode 100644 index 0000000..dff4805 --- /dev/null +++ b/app/lib/solana-auth/solana-auth-method-create.ts @@ -0,0 +1,15 @@ +import type { SolanaAuthMessageCreateOptions } from './solana-auth-message' +import { solanaSignMessage } from './solana-sign-message' +import { solanaSignTransaction } from './solana-sign-transaction' +import type { SolanaClient } from 'gill' + +export function solanaAuthMethodCreate(client: SolanaClient, options: SolanaAuthMessageCreateOptions) { + switch (options.method) { + case 'solana:signMessage': + return solanaSignMessage.create(client, options) + case 'solana:signTransaction': + return solanaSignTransaction.create(client, options) + default: + throw `Method not supported: ${options.method}` + } +} diff --git a/app/lib/solana-auth/solana-auth-method-impl.ts b/app/lib/solana-auth/solana-auth-method-impl.ts new file mode 100644 index 0000000..762d3ad --- /dev/null +++ b/app/lib/solana-auth/solana-auth-method-impl.ts @@ -0,0 +1,9 @@ +import type { SolanaClient } from 'gill' +import type { SolanaAuthMessage, SolanaAuthMessageCreateOptions, SolanaAuthMessageSigned } from './solana-auth-message' +import type { SolanaAuthMethod } from './solana-auth-methods' + +export interface SolanaAuthMethodImpl { + method: SolanaAuthMethod + create: (client: SolanaClient, options: SolanaAuthMessageCreateOptions) => Promise + verify: (client: SolanaClient, options: SolanaAuthMessageSigned) => Promise +} diff --git a/app/lib/solana-auth/solana-auth-method-verify.ts b/app/lib/solana-auth/solana-auth-method-verify.ts new file mode 100644 index 0000000..e7ac7e9 --- /dev/null +++ b/app/lib/solana-auth/solana-auth-method-verify.ts @@ -0,0 +1,15 @@ +import type { SolanaAuthMessageSigned } from './solana-auth-message' +import { solanaSignMessage } from './solana-sign-message' +import { solanaSignTransaction } from './solana-sign-transaction' +import type { SolanaClient } from 'gill' + +export async function solanaAuthMethodVerify(client: SolanaClient, options: SolanaAuthMessageSigned) { + switch (options.method) { + case 'solana:signMessage': + return solanaSignMessage.verify(client, options) + case 'solana:signTransaction': + return solanaSignTransaction.verify(client, options) + default: + throw `Method not supported: ${options.method}` + } +} diff --git a/app/lib/solana-auth/solana-auth-methods.ts b/app/lib/solana-auth/solana-auth-methods.ts new file mode 100644 index 0000000..6bef079 --- /dev/null +++ b/app/lib/solana-auth/solana-auth-methods.ts @@ -0,0 +1,4 @@ +export type SolanaAuthMethodSolanaSignMessage = 'solana:signMessage' +export type SolanaAuthMethodSolanaSignTransaction = 'solana:signTransaction' + +export type SolanaAuthMethod = SolanaAuthMethodSolanaSignMessage | SolanaAuthMethodSolanaSignTransaction diff --git a/app/lib/solana-auth/solana-auth.ts b/app/lib/solana-auth/solana-auth.ts new file mode 100644 index 0000000..2275644 --- /dev/null +++ b/app/lib/solana-auth/solana-auth.ts @@ -0,0 +1,15 @@ +import { createSolanaClient } from 'gill' +import { createSolanaAuth } from './create-solana-auth' + +const client = createSolanaClient({ + urlOrMoniker: 'https://api.devnet.solana.com', +}) + +export const solanaAuth = createSolanaAuth({ + client, + methods: ['solana:signMessage', 'solana:signTransaction'], +}) + +if (!solanaAuth) { + throw new Error('Solana Auth not initialized') +} diff --git a/app/lib/solana-auth/solana-client-helpers.ts b/app/lib/solana-auth/solana-client-helpers.ts new file mode 100644 index 0000000..bcbdeb6 --- /dev/null +++ b/app/lib/solana-auth/solana-client-helpers.ts @@ -0,0 +1,13 @@ +import type { SolanaClient } from 'gill' + +// TODO: This should be internal to the rpc plugin +export async function getLatestBlockhash(client: SolanaClient) { + return client.rpc + .getLatestBlockhash() + .send() + .then((response) => response.value.blockhash.toString()) + .catch((error) => { + console.error(`Error running getLatestBlockhash:`, error) + throw `Error getting latest blockhash: ${error}` + }) +} diff --git a/app/lib/solana-auth/solana-sign-message/index.ts b/app/lib/solana-auth/solana-sign-message/index.ts new file mode 100644 index 0000000..74141e5 --- /dev/null +++ b/app/lib/solana-auth/solana-sign-message/index.ts @@ -0,0 +1,9 @@ +import { solanaSignMessageCreate } from './solana-sign-message-create' +import { solanaSignMessageVerify } from './solana-sign-message-verify' +import type { SolanaAuthMethodImpl } from '../solana-auth-method-impl' + +export const solanaSignMessage: SolanaAuthMethodImpl = { + method: 'solana:signMessage', + create: solanaSignMessageCreate, + verify: solanaSignMessageVerify, +} diff --git a/app/lib/solana-auth/solana-sign-message/solana-sign-message-create.ts b/app/lib/solana-auth/solana-sign-message/solana-sign-message-create.ts new file mode 100644 index 0000000..71aafd9 --- /dev/null +++ b/app/lib/solana-auth/solana-sign-message/solana-sign-message-create.ts @@ -0,0 +1,22 @@ +import type { SolanaClient } from 'gill' +import type { SolanaAuthMessage, SolanaAuthMessageCreateOptions } from '../solana-auth-message' +import { getLatestBlockhash } from '../solana-client-helpers' + +export async function solanaSignMessageCreate( + client: SolanaClient, + options: SolanaAuthMessageCreateOptions, +): Promise { + const blockhash = await getLatestBlockhash(client) + const text = `Sign this transaction to prove you own ${options.publicKey}` + + return { + publicKey: options.publicKey, + method: options.method, + blockhash, + nonce: `Nonce ${Date.now()}`, + message: { + chain: 'solana:devnet', + text, + }, + } +} diff --git a/app/lib/solana-auth/solana-sign-message/solana-sign-message-verify.ts b/app/lib/solana-auth/solana-sign-message/solana-sign-message-verify.ts new file mode 100644 index 0000000..d482fb5 --- /dev/null +++ b/app/lib/solana-auth/solana-sign-message/solana-sign-message-verify.ts @@ -0,0 +1,30 @@ +import { + assertIsAddress, + assertIsSignature, + getBase58Encoder, + getPublicKeyFromAddress, + type SignatureBytes, + type SolanaClient, + verifySignature, +} from 'gill' +import type { SolanaAuthMessageSigned } from '../solana-auth-message' +import { stringToReadonlyUint8Array } from '../string-to-uint8-array' + +export async function solanaSignMessageVerify(client: SolanaClient, options: SolanaAuthMessageSigned) { + assertIsSignature(options.signature) + assertIsAddress(options.publicKey) + + const signature = options.signature + const publicKey = options.publicKey + + const signatureBytes = getBase58Encoder().encode(signature) + const cryptoKey = await getPublicKeyFromAddress(publicKey) + + const message = stringToReadonlyUint8Array(options.message.text) + const verified = await verifySignature(cryptoKey, signatureBytes as SignatureBytes, message) + + if (!verified) { + throw new Error('solanaSignMessageVerify: Invalid signature') + } + return publicKey +} diff --git a/app/lib/solana-auth/solana-sign-transaction/index.ts b/app/lib/solana-auth/solana-sign-transaction/index.ts new file mode 100644 index 0000000..35ba388 --- /dev/null +++ b/app/lib/solana-auth/solana-sign-transaction/index.ts @@ -0,0 +1,9 @@ +import { solanaSignTransactionCreate } from './solana-sign-transaction-create' +import { solanaSignTransactionVerify } from './solana-sign-transaction-verify' +import type { SolanaAuthMethodImpl } from '../solana-auth-method-impl' + +export const solanaSignTransaction: SolanaAuthMethodImpl = { + method: 'solana:signTransaction', + create: solanaSignTransactionCreate, + verify: solanaSignTransactionVerify, +} diff --git a/app/lib/solana-auth/solana-sign-transaction/solana-sign-transaction-create.ts b/app/lib/solana-auth/solana-sign-transaction/solana-sign-transaction-create.ts new file mode 100644 index 0000000..ba12efd --- /dev/null +++ b/app/lib/solana-auth/solana-sign-transaction/solana-sign-transaction-create.ts @@ -0,0 +1,84 @@ +import { + type Address, + address, + appendTransactionMessageInstruction, + assertIsTransactionMessageWithSingleSendingSigner, + compileTransaction, + createTransactionMessage, + getBase58Decoder, + getTransactionEncoder, + pipe, + setTransactionMessageFeePayerSigner, + setTransactionMessageLifetimeUsingBlockhash, + type SignatureBytes, + type SignatureDictionary, + type SolanaClient, + type Transaction, + type TransactionModifyingSignerConfig, + type TransactionPartialSignerConfig, + type TransactionSendingSignerConfig, + type TransactionSigner, +} from 'gill' +import type { SolanaAuthMessage, SolanaAuthMessageCreateOptions } from '../solana-auth-message' +import { getAddMemoInstruction } from '../memo' + +export async function solanaSignTransactionCreate( + client: SolanaClient, + options: SolanaAuthMessageCreateOptions, +): Promise { + // TODO: Implement. + const text = `Sign this transaction to prove you own ${options.publicKey}` + const latestBlockhash = await client.rpc + .getLatestBlockhash() + .send() + .then((response) => response.value) + + const messageSigner = createPartialSigner(address(options.publicKey)) + const message = pipe( + createTransactionMessage({ version: 0 }), + (m) => setTransactionMessageFeePayerSigner(messageSigner, m), + (m) => setTransactionMessageLifetimeUsingBlockhash(latestBlockhash, m), + (m) => appendTransactionMessageInstruction(getAddMemoInstruction({ memo: text }), m), + ) + + const transaction = compileTransaction(message) + const wireTransactionBytes = getTransactionEncoder().encode(transaction) + const base58Transaction = getBase58Decoder().decode(wireTransactionBytes) + + assertIsTransactionMessageWithSingleSendingSigner(message) + + return { + publicKey: options.publicKey, + method: options.method, + blockhash: latestBlockhash.blockhash, + nonce: `Nonce ${Date.now()}`, + message: { + chain: 'solana:devnet', + text: base58Transaction, + }, + } +} + +export function createPartialSigner(address: Address): TransactionSigner { + return { + modifyAndSignTransactions( + transactions: readonly T[], + config: TransactionModifyingSignerConfig | undefined, + ): Promise { + return Promise.resolve([]) + }, + signAndSendTransactions( + transactions: readonly Transaction[], + config: TransactionSendingSignerConfig | undefined, + ): Promise { + return Promise.resolve([]) + }, + signTransactions( + transactions: readonly Transaction[], + config: TransactionPartialSignerConfig | undefined, + ): Promise { + return Promise.resolve([]) + }, + address, + } +} diff --git a/app/lib/solana-auth/solana-sign-transaction/solana-sign-transaction-verify.ts b/app/lib/solana-auth/solana-sign-transaction/solana-sign-transaction-verify.ts new file mode 100644 index 0000000..8dcf641 --- /dev/null +++ b/app/lib/solana-auth/solana-sign-transaction/solana-sign-transaction-verify.ts @@ -0,0 +1,27 @@ +import type { SolanaAuthMessageSigned } from '../solana-auth-message' +import { + address, + getBase58Encoder, + getPublicKeyFromAddress, + getTransactionDecoder, + type SolanaClient, + verifySignature, +} from 'gill' + +export async function solanaSignTransactionVerify(client: SolanaClient, options: SolanaAuthMessageSigned) { + const publicKey = address(options.publicKey) + const base58Transaction = options.signature + const transactionBytes = getBase58Encoder().encode(base58Transaction) + const transaction = getTransactionDecoder().decode(transactionBytes) + const signatureBytes = transaction.signatures[publicKey] + if (!signatureBytes) { + throw new Error(`Signature not found for ${publicKey}`) + } + + const cryptoKey = await getPublicKeyFromAddress(publicKey) + + if (await verifySignature(cryptoKey, signatureBytes, transaction.messageBytes)) { + return publicKey + } + throw new Error(`Invalid signature for ${publicKey}`) +} diff --git a/app/lib/solana-auth/string-to-uint8-array.ts b/app/lib/solana-auth/string-to-uint8-array.ts new file mode 100644 index 0000000..e6df684 --- /dev/null +++ b/app/lib/solana-auth/string-to-uint8-array.ts @@ -0,0 +1,5 @@ +import { getUtf8Encoder, type ReadonlyUint8Array } from 'gill' + +export function stringToReadonlyUint8Array(str: string): ReadonlyUint8Array { + return getUtf8Encoder().encode(str) +} diff --git a/app/lib/solana-auth/uint8-array-to-base58.ts b/app/lib/solana-auth/uint8-array-to-base58.ts new file mode 100644 index 0000000..d90f8c0 --- /dev/null +++ b/app/lib/solana-auth/uint8-array-to-base58.ts @@ -0,0 +1,5 @@ +import { getBase58Decoder } from 'gill' + +export function uint8ArrayToBase58(bytes: Uint8Array): string { + return getBase58Decoder().decode(bytes) +} diff --git a/app/lib/solana/airdrop-accounts.ts b/app/lib/solana/airdrop-accounts.ts index 2b3acff..bd0d025 100644 --- a/app/lib/solana/airdrop-accounts.ts +++ b/app/lib/solana/airdrop-accounts.ts @@ -21,4 +21,4 @@ export async function airdropAccounts( ) console.log(`All accounts airdropped: ${airdroppedAccounts.join(', ')}`) -} \ No newline at end of file +} diff --git a/app/lib/solana/is-valid-solana-pubkey.ts b/app/lib/solana/is-valid-solana-pubkey.ts new file mode 100644 index 0000000..0025021 --- /dev/null +++ b/app/lib/solana/is-valid-solana-pubkey.ts @@ -0,0 +1,9 @@ +import { PublicKey } from '@solana/web3.js' + +export function isValidSolanaPubKey(address: string) { + try { + return !!new PublicKey(address) + } catch { + return false + } +} diff --git a/app/routes.ts b/app/routes.ts index 89f567a..d69e1b0 100644 --- a/app/routes.ts +++ b/app/routes.ts @@ -1,8 +1,10 @@ import { index, layout, prefix, route, type RouteConfig } from '@react-router/dev/routes' import { adminUserRoutes } from './features/user' -import { onboardingRoutes } from './features/onboarding' import { devRoutes } from './features/dev' +import { onboardingRoutes } from './features/onboarding' +import { profileRoutes } from './features/profile' import { pubkeyRoutes } from './features/pubkey' +import { userSolanaRoutes } from './features/solana' export default [ ...prefix('api', [ @@ -24,20 +26,22 @@ export default [ ]), devRoutes, pubkeyRoutes, - layout('features/onboarding/layout-onboarding.tsx', [...onboardingRoutes]), // App routes go here layout('features/app/layout-app.tsx', [ route('dashboard', 'features/app/route-dashboard.tsx'), - route('profile', 'features/profile/profile-feature.tsx'), + route('profile', 'features/profile/profile-feature-manage.tsx'), + userSolanaRoutes, ]), // Auth routes go here - layout('features/auth/layout-auth.tsx', [ - route('login', 'features/auth/route-login.tsx'), - route('logout', 'features/auth/route-logout.tsx'), - ]), + layout('features/auth/layout-auth.tsx', [route('logout', 'features/auth/route-logout.tsx')]), // Homepage routes go here layout('features/homepage/layout-homepage.tsx', [ index('features/homepage/route-index.tsx'), + route('login', 'features/auth/route-login.tsx'), + route('terms', 'features/homepage/route-terms.tsx'), + route('privacy', 'features/homepage/route-privacy.tsx'), route('about', 'features/homepage/route-about.tsx'), + ...profileRoutes, + ...onboardingRoutes, ]), ] satisfies RouteConfig diff --git a/app/ui/icons/sprite.svg b/app/ui/icons/sprite.svg index 6752dc7..cbee046 100644 --- a/app/ui/icons/sprite.svg +++ b/app/ui/icons/sprite.svg @@ -31,11 +31,37 @@ d="M12 .297c-6.63 0-12 5.373-12 12c0 5.303 3.438 9.8 8.205 11.385c.6.113.82-.258.82-.577c0-.285-.01-1.04-.015-2.04c-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729c1.205.084 1.838 1.236 1.838 1.236c1.07 1.835 2.809 1.305 3.495.998c.108-.776.417-1.305.76-1.605c-2.665-.3-5.466-1.332-5.466-5.93c0-1.31.465-2.38 1.235-3.22c-.135-.303-.54-1.523.105-3.176c0 0 1.005-.322 3.3 1.23c.96-.267 1.98-.399 3-.405c1.02.006 2.04.138 3 .405c2.28-1.552 3.285-1.23 3.285-1.23c.645 1.653.24 2.873.12 3.176c.765.84 1.23 1.91 1.23 3.22c0 4.61-2.805 5.625-5.475 5.92c.42.36.81 1.096.81 2.22c0 1.606-.015 2.896-.015 3.286c0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12" > + + + + + + + + + + + + diff --git a/app/ui/icons/types.ts b/app/ui/icons/types.ts index f304a97..89a3dd3 100644 --- a/app/ui/icons/types.ts +++ b/app/ui/icons/types.ts @@ -1,5 +1,15 @@ // This file is generated by icon spritesheet generator -export const iconNames = ['X', 'Telegram', 'Solana', 'Google', 'Github', 'Discord'] as const +export const iconNames = [ + 'X', + 'Telegram', + 'Solana', + 'Google', + 'Github', + 'ExternalLink', + 'Discord', + 'Copy', + 'Check', +] as const export type IconName = (typeof iconNames)[number] diff --git a/app/ui/ui-icon.tsx b/app/ui/ui-icon.tsx index 5824171..d58bf7a 100644 --- a/app/ui/ui-icon.tsx +++ b/app/ui/ui-icon.tsx @@ -4,14 +4,12 @@ import { type IconName, iconNames } from './icons/types' import type { MantineSize } from '@mantine/core' import { LucideMessageCircleQuestion } from 'lucide-react' -export function UiIcon({ - name, - size = 'md', - ...props -}: SVGProps & { +export interface UiIconProps extends SVGProps { name: IconName size?: MantineSize -}) { +} + +export function UiIcon({ name, size = 'md', ...props }: UiIconProps) { const sizePx = getSize(size) if (!iconNames.includes(name)) { diff --git a/app/ui/ui-logo-link.tsx b/app/ui/ui-logo-link.tsx index 5deab94..391d53a 100644 --- a/app/ui/ui-logo-link.tsx +++ b/app/ui/ui-logo-link.tsx @@ -1,11 +1,11 @@ import { Anchor } from '@mantine/core' import { Link } from 'react-router' -import { type AppLogoProps, UiLogo } from './ui-logo' +import { UiLogo, type UiLogoProps } from './ui-logo' -export function UiLogoLink({ to = '/', ...props }: AppLogoProps & { to?: string }) { +export function UiLogoLink({ to = '/', ...props }: UiLogoProps & { to?: string }) { return ( - + ) } diff --git a/app/ui/ui-logo.tsx b/app/ui/ui-logo.tsx index c25da0a..eea6e62 100644 --- a/app/ui/ui-logo.tsx +++ b/app/ui/ui-logo.tsx @@ -1,16 +1,14 @@ -import { Group, Image } from '@mantine/core' +import { Image } from '@mantine/core' import { useUi } from './ui-context' -export interface AppLogoProps { +export interface UiLogoProps { + height?: number size?: number + width?: number } -export function UiLogo({ size = 42 }: AppLogoProps) { +export function UiLogo({ height, size = 42, width }: UiLogoProps) { const { config } = useUi() - return ( - - logo - - ) + return logo } diff --git a/app/ui/ui-profile-avatar.tsx b/app/ui/ui-profile-avatar.tsx new file mode 100644 index 0000000..4267c8d --- /dev/null +++ b/app/ui/ui-profile-avatar.tsx @@ -0,0 +1,33 @@ +import type { User } from '~/lib/db.server' +import { ActionIcon, Avatar, Menu } from '@mantine/core' +import { Link } from 'react-router' +import { LucideLogOut, LucideShieldCheck, LucideUser } from 'lucide-react' + +export function UiProfileAvatar({ user }: { user: User }) { + return ( + + + + + + + + {user.admin ? ( + }> + Admin + + ) : null} + }> + My Profile + + }> + Manage Profile + + + }> + Log out + + + + ) +} \ No newline at end of file diff --git a/app/ui/ui-profile-menu.tsx b/app/ui/ui-profile-menu.tsx index 1186e7b..8a65581 100644 --- a/app/ui/ui-profile-menu.tsx +++ b/app/ui/ui-profile-menu.tsx @@ -1,5 +1,5 @@ -import { Avatar, Button, Menu, Text } from '@mantine/core' -import { LucideLogOut, LucideSettings, LucideShieldCheck, LucideUser } from 'lucide-react' +import { Avatar, Button, Menu } from '@mantine/core' +import { LucideLogOut, LucideShieldCheck, LucideUser } from 'lucide-react' import { Link } from 'react-router' import type { User } from '~/lib/db.server' @@ -17,11 +17,11 @@ export function UiProfileMenu({ user }: { user: User }) { Admin ) : null} - }> - Profile + }> + My Profile - } rightSection={}> - Settings + }> + Manage Profile }> @@ -31,11 +31,3 @@ export function UiProfileMenu({ user }: { user: User }) { ) } - -function ComingSoon() { - return ( - - Coming soon - - ) -} diff --git a/app/ui/ui-sidebar-links-group.module.css b/app/ui/ui-sidebar-links-group.module.css index b414df5..ac287e0 100644 --- a/app/ui/ui-sidebar-links-group.module.css +++ b/app/ui/ui-sidebar-links-group.module.css @@ -11,7 +11,7 @@ color: light-dark(var(--mantine-color-black), var(--mantine-color-dark-0)); } - &[data-active="true"] { + &[data-active='true'] { background-color: light-dark(var(--mantine-color-gray-1), var(--mantine-color-dark-9)); } } @@ -27,7 +27,7 @@ color: light-dark(var(--mantine-color-gray-7), var(--mantine-color-dark-0)); border-left: 1px solid light-dark(var(--mantine-color-gray-3), var(--mantine-color-dark-4)); - &[data-active="true"] { + &[data-active='true'] { background-color: light-dark(var(--mantine-color-gray-0), var(--mantine-color-dark-8)); } diff --git a/app/ui/ui-theme-toggle.tsx b/app/ui/ui-theme-toggle.tsx index f4b910a..89c5319 100644 --- a/app/ui/ui-theme-toggle.tsx +++ b/app/ui/ui-theme-toggle.tsx @@ -3,12 +3,17 @@ import { LucideMoon, LucideSun } from 'lucide-react' import { Theme } from 'remix-themes' import { useThemes } from '~/ui/use-themes' -export function UiThemeToggle(props: ActionIconProps) { +export function UiThemeToggle({ iconSize = 20, ...props }: ActionIconProps & { iconSize?: number }) { const { isDark, setTheme } = useThemes() return ( - setTheme(isDark ? Theme.LIGHT : Theme.DARK)} variant="light" {...props}> - {isDark ? : } + setTheme(isDark ? Theme.LIGHT : Theme.DARK)} + color={isDark ? 'dark' : 'light'} + variant="subtle" + {...props} + > + {isDark ? : } ) } diff --git a/compose.yml b/compose.yml index 22ac08e..7581aec 100644 --- a/compose.yml +++ b/compose.yml @@ -2,10 +2,10 @@ services: postgres: image: postgres:17-alpine ports: - - "5432:5432" + - '5432:5432' environment: - POSTGRES_DB: samui-stack - POSTGRES_USER: samui-stack - POSTGRES_PASSWORD: samui-stack + POSTGRES_DB: pubkey-protocol-demo + POSTGRES_USER: pubkey-protocol-demo + POSTGRES_PASSWORD: pubkey-protocol-demo volumes: - ./tmp/postgres:/var/lib/postgresql/data diff --git a/icons/check.svg b/icons/check.svg new file mode 100644 index 0000000..9d3ea0e --- /dev/null +++ b/icons/check.svg @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/icons/copy.svg b/icons/copy.svg new file mode 100644 index 0000000..49b54ad --- /dev/null +++ b/icons/copy.svg @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/icons/external-link.svg b/icons/external-link.svg new file mode 100644 index 0000000..79895dd --- /dev/null +++ b/icons/external-link.svg @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/lefthook.yml b/lefthook.yml index 07fa266..e58a175 100644 --- a/lefthook.yml +++ b/lefthook.yml @@ -1,11 +1,11 @@ pre-commit: commands: check: - glob: "*.{js,ts,cjs,mjs,d.cts,d.mts,jsx,tsx,json,jsonc}" + glob: '*.{js,ts,cjs,mjs,d.cts,d.mts,jsx,tsx,json,jsonc}' run: npx @biomejs/biome check --write --no-errors-on-unmatched --files-ignore-unknown=true --colors=off {staged_files} stage_fixed: true pre-push: commands: check: - glob: "*.{js,ts,cjs,mjs,d.cts,d.mts,jsx,tsx,json,jsonc}" + glob: '*.{js,ts,cjs,mjs,d.cts,d.mts,jsx,tsx,json,jsonc}' run: npx @biomejs/biome check --no-errors-on-unmatched --files-ignore-unknown=true --colors=off {push_files} diff --git a/package.json b/package.json index 8d2f2b4..0b80cd6 100644 --- a/package.json +++ b/package.json @@ -6,67 +6,69 @@ "build": "react-router build", "dev": "react-router dev", "dev:services": "docker-compose up", - "docker:build": "docker build -t samui-stack-web:latest .", - "docker:run": "docker run --rm --name samui-stack-web -p 3000:3000 --env-file apps/web/.env samui-stack-web:latest", + "docker:build": "docker build -t pubkey-protocol-demo-web:latest .", + "docker:run": "docker run --rm --name pubkey-protocol-demo-web -p 3000:3000 --env-file apps/web/.env pubkey-protocol-demo-web:latest", + "setup": "pnpm prisma migrate deploy && pnpm prisma db push", "start": "prisma migrate deploy && prisma generate && react-router-serve ./build/server/index.js", "typecheck": "react-router typegen && tsc", "validator": "docker run -it -p 8899:8899 -p 8900:8900 --rm --name samui-test-validator ghcr.io/samui-build/samui-test-validator:latest" }, "dependencies": { "@coji/remix-auth-google": "^4.2.0", - "@coral-xyz/anchor": "^0.31.0", - "@mantine/code-highlight": "^7.17.3", - "@mantine/core": "^7.17.3", - "@mantine/dates": "^7.17.3", - "@mantine/form": "^7.17.3", - "@mantine/hooks": "^7.17.3", - "@mantine/modals": "^7.17.3", - "@mantine/notifications": "^7.17.3", - "@metaplex-foundation/mpl-core": "^1.2.0", - "@metaplex-foundation/umi": "^1.1.1", - "@metaplex-foundation/umi-bundle-defaults": "^1.1.1", - "@metaplex-foundation/umi-web3js-adapters": "^1.1.1", - "@prisma/client": "^6.5.0", - "@pubkey-protocol/anchor": "^1.0.2", - "@pubkey-protocol/sdk": "^1.0.2", + "@coral-xyz/anchor": "^0.31.1", + "@mantine/code-highlight": "^8.1.1", + "@mantine/core": "^8.1.1", + "@mantine/dates": "^8.1.1", + "@mantine/form": "^8.1.1", + "@mantine/hooks": "^8.1.1", + "@mantine/modals": "^8.1.1", + "@mantine/notifications": "^8.1.1", + "@metaplex-foundation/mpl-core": "^1.4.0", + "@metaplex-foundation/umi": "^1.2.0", + "@metaplex-foundation/umi-bundle-defaults": "^1.2.0", + "@metaplex-foundation/umi-web3js-adapters": "^1.2.0", + "@prisma/client": "^6.10.1", + "@pubkey-protocol/anchor": "^1.0.5", + "@pubkey-protocol/sdk": "^1.0.5", "@pubkeyapp/wallet-adapter-mantine-ui": "^2.4.3", - "@react-router/node": "^7.5.0", - "@react-router/serve": "^7.5.0", - "@solana/wallet-adapter-base": "^0.9.25", - "@solana/wallet-adapter-react": "^0.15.37", - "@solana/wallet-adapter-react-ui": "^0.9.37", - "@solana/web3.js": "^1.98.0", - "@tanstack/react-query": "^5.74.4", - "arctic": "^3.6.0", + "@react-router/node": "^7.6.2", + "@react-router/serve": "^7.6.2", + "@solana/wallet-adapter-base": "^0.9.27", + "@solana/wallet-adapter-react": "^0.15.39", + "@solana/wallet-adapter-react-ui": "^0.9.39", + "@solana/web3.js": "^1.98.2", + "@tanstack/react-query": "^5.81.0", + "arctic": "^3.7.0", "bcryptjs": "^3.0.2", "dayjs": "^1.11.13", - "isbot": "^5.1.17", - "lucide-react": "^0.487.0", - "prisma": "^6.5.0", - "react": "^19.0.0", - "react-dom": "^19.0.0", - "react-router": "^7.5.0", - "remix-auth": "^4.1.0", + "gill": "^0.10.2", + "isbot": "^5.1.28", + "lucide-react": "^0.522.0", + "prisma": "^6.10.1", + "react": "^19.1.0", + "react-dom": "^19.1.0", + "react-router": "^7.6.2", + "remix-auth": "^4.2.0", "remix-auth-form": "^3.0.0", - "remix-auth-oauth2": "^3.4.0", + "remix-auth-oauth2": "^3.4.1", "remix-themes": "^2.0.4", - "zod": "^3.24.2", + "zod": "^3.25.67", "zod-prisma-types": "^3.2.4" }, "devDependencies": { - "@react-router/dev": "^7.5.0", - "@types/node": "^20", - "@types/react": "^19.0.1", - "@types/react-dom": "^19.0.1", - "esrun": "^3.2.26", - "postcss": "^8.5.3", + "@react-router/dev": "^7.6.2", + "@types/node": "^24.0.3", + "@types/react": "^19.1.8", + "@types/react-dom": "^19.1.6", + "esrun": "^3.2.30", + "postcss": "^8.5.6", "postcss-preset-mantine": "^1.17.0", "postcss-simple-vars": "^7.0.1", "prettier": "^3.5.3", - "react-router-devtools": "^1.1.0", + "react-router-devtools": "^5.0.6", "tslib": "^2.8.1", - "typescript": "^5.7.2", - "vite": "^5.4.11", + "typescript": "^5.8.3", + "vite": "^6.3.5", "vite-plugin-icons-spritesheet": "^3.0.1", "vite-tsconfig-paths": "^5.1.4" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index eeb3a82..cf85c91 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -12,165 +12,168 @@ importers: specifier: ^4.2.0 version: 4.2.0 '@coral-xyz/anchor': - specifier: ^0.31.0 - version: 0.31.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + specifier: ^0.31.1 + version: 0.31.1(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10) '@mantine/code-highlight': - specifier: ^7.17.3 - version: 7.17.4(@mantine/core@7.17.4(@mantine/hooks@7.17.4(react@19.1.0))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@7.17.4(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + specifier: ^8.1.1 + version: 8.1.1(@mantine/core@8.1.1(@mantine/hooks@8.1.1(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.1.1(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@mantine/core': - specifier: ^7.17.3 - version: 7.17.4(@mantine/hooks@7.17.4(react@19.1.0))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + specifier: ^8.1.1 + version: 8.1.1(@mantine/hooks@8.1.1(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@mantine/dates': - specifier: ^7.17.3 - version: 7.17.4(@mantine/core@7.17.4(@mantine/hooks@7.17.4(react@19.1.0))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@7.17.4(react@19.1.0))(dayjs@1.11.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + specifier: ^8.1.1 + version: 8.1.1(@mantine/core@8.1.1(@mantine/hooks@8.1.1(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.1.1(react@19.1.0))(dayjs@1.11.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@mantine/form': - specifier: ^7.17.3 - version: 7.17.4(react@19.1.0) + specifier: ^8.1.1 + version: 8.1.1(react@19.1.0) '@mantine/hooks': - specifier: ^7.17.3 - version: 7.17.4(react@19.1.0) + specifier: ^8.1.1 + version: 8.1.1(react@19.1.0) '@mantine/modals': - specifier: ^7.17.3 - version: 7.17.4(@mantine/core@7.17.4(@mantine/hooks@7.17.4(react@19.1.0))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@7.17.4(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + specifier: ^8.1.1 + version: 8.1.1(@mantine/core@8.1.1(@mantine/hooks@8.1.1(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.1.1(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@mantine/notifications': - specifier: ^7.17.3 - version: 7.17.4(@mantine/core@7.17.4(@mantine/hooks@7.17.4(react@19.1.0))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@7.17.4(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + specifier: ^8.1.1 + version: 8.1.1(@mantine/core@8.1.1(@mantine/hooks@8.1.1(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.1.1(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@metaplex-foundation/mpl-core': - specifier: ^1.2.0 - version: 1.3.0(@metaplex-foundation/umi@1.2.0)(@noble/hashes@1.7.2) + specifier: ^1.4.0 + version: 1.4.0(@metaplex-foundation/umi@1.2.0)(@noble/hashes@1.8.0) '@metaplex-foundation/umi': - specifier: ^1.1.1 + specifier: ^1.2.0 version: 1.2.0 '@metaplex-foundation/umi-bundle-defaults': - specifier: ^1.1.1 - version: 1.2.0(@metaplex-foundation/umi@1.2.0)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + specifier: ^1.2.0 + version: 1.2.0(@metaplex-foundation/umi@1.2.0)(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)) '@metaplex-foundation/umi-web3js-adapters': - specifier: ^1.1.1 - version: 1.2.0(@metaplex-foundation/umi@1.2.0)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + specifier: ^1.2.0 + version: 1.2.0(@metaplex-foundation/umi@1.2.0)(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)) '@prisma/client': - specifier: ^6.5.0 - version: 6.6.0(prisma@6.6.0(typescript@5.8.3))(typescript@5.8.3) + specifier: ^6.10.1 + version: 6.10.1(prisma@6.10.1(typescript@5.8.3))(typescript@5.8.3) '@pubkey-protocol/anchor': - specifier: ^1.0.2 - version: 1.0.2(bufferutil@4.0.9)(utf-8-validate@5.0.10) + specifier: ^1.0.5 + version: 1.0.5(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10) '@pubkey-protocol/sdk': - specifier: ^1.0.2 - version: 1.0.2(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)(utf-8-validate@5.0.10) + specifier: ^1.0.5 + version: 1.0.5(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)(utf-8-validate@5.0.10) '@pubkeyapp/wallet-adapter-mantine-ui': specifier: ^2.4.3 - version: 2.4.3(@mantine/core@7.17.4(@mantine/hooks@7.17.4(react@19.1.0))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@solana/wallet-adapter-base@0.9.25(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)))(@solana/wallet-adapter-react@0.15.37(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bs58@5.0.0)(react-native@0.79.1(@babel/core@7.26.10)(@types/react@19.1.2)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0))(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(react@19.1.0) + version: 2.4.3(@mantine/core@8.1.1(@mantine/hooks@8.1.1(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@solana/wallet-adapter-base@0.9.27(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)))(@solana/wallet-adapter-react@0.15.39(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10))(bs58@5.0.0)(react-native@0.79.1(@babel/core@7.27.4)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0))(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10))(react@19.1.0) '@react-router/node': - specifier: ^7.5.0 - version: 7.5.0(react-router@7.5.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(typescript@5.8.3) + specifier: ^7.6.2 + version: 7.6.2(react-router@7.6.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(typescript@5.8.3) '@react-router/serve': - specifier: ^7.5.0 - version: 7.5.0(react-router@7.5.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(typescript@5.8.3) + specifier: ^7.6.2 + version: 7.6.2(react-router@7.6.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(typescript@5.8.3) '@solana/wallet-adapter-base': - specifier: ^0.9.25 - version: 0.9.25(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + specifier: ^0.9.27 + version: 0.9.27(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)) '@solana/wallet-adapter-react': - specifier: ^0.15.37 - version: 0.15.37(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bs58@5.0.0)(react-native@0.79.1(@babel/core@7.26.10)(@types/react@19.1.2)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0) + specifier: ^0.15.39 + version: 0.15.39(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10))(bs58@5.0.0)(react-native@0.79.1(@babel/core@7.27.4)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0) '@solana/wallet-adapter-react-ui': - specifier: ^0.9.37 - version: 0.9.37(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bs58@5.0.0)(react-dom@19.1.0(react@19.1.0))(react-native@0.79.1(@babel/core@7.26.10)(@types/react@19.1.2)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0) + specifier: ^0.9.39 + version: 0.9.39(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10))(bs58@5.0.0)(react-dom@19.1.0(react@19.1.0))(react-native@0.79.1(@babel/core@7.27.4)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0) '@solana/web3.js': - specifier: ^1.98.0 - version: 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + specifier: ^1.98.2 + version: 1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10) '@tanstack/react-query': - specifier: ^5.74.4 - version: 5.74.4(react@19.1.0) + specifier: ^5.81.0 + version: 5.81.0(react@19.1.0) arctic: - specifier: ^3.6.0 - version: 3.6.0 + specifier: ^3.7.0 + version: 3.7.0 bcryptjs: specifier: ^3.0.2 version: 3.0.2 dayjs: specifier: ^1.11.13 version: 1.11.13 + gill: + specifier: ^0.10.2 + version: 0.10.2(@solana/sysvars@2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10)) isbot: - specifier: ^5.1.17 - version: 5.1.26 + specifier: ^5.1.28 + version: 5.1.28 lucide-react: - specifier: ^0.487.0 - version: 0.487.0(react@19.1.0) + specifier: ^0.522.0 + version: 0.522.0(react@19.1.0) prisma: - specifier: ^6.5.0 - version: 6.6.0(typescript@5.8.3) + specifier: ^6.10.1 + version: 6.10.1(typescript@5.8.3) react: - specifier: ^19.0.0 + specifier: ^19.1.0 version: 19.1.0 react-dom: - specifier: ^19.0.0 + specifier: ^19.1.0 version: 19.1.0(react@19.1.0) react-router: - specifier: ^7.5.0 - version: 7.5.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + specifier: ^7.6.2 + version: 7.6.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0) remix-auth: - specifier: ^4.1.0 + specifier: ^4.2.0 version: 4.2.0 remix-auth-form: specifier: ^3.0.0 version: 3.0.0(remix-auth@4.2.0) remix-auth-oauth2: - specifier: ^3.4.0 - version: 3.4.0(remix-auth@4.2.0) + specifier: ^3.4.1 + version: 3.4.1(remix-auth@4.2.0) remix-themes: specifier: ^2.0.4 - version: 2.0.4(react-router@7.5.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0)) + version: 2.0.4(react-router@7.6.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0)) zod: - specifier: ^3.24.2 - version: 3.24.2 + specifier: ^3.25.67 + version: 3.25.67 zod-prisma-types: specifier: ^3.2.4 - version: 3.2.4(@prisma/client@6.6.0(prisma@6.6.0(typescript@5.8.3))(typescript@5.8.3))(prisma@6.6.0(typescript@5.8.3)) + version: 3.2.4(@prisma/client@6.10.1(prisma@6.10.1(typescript@5.8.3))(typescript@5.8.3))(prisma@6.10.1(typescript@5.8.3)) devDependencies: '@react-router/dev': - specifier: ^7.5.0 - version: 7.5.0(@react-router/serve@7.5.0(react-router@7.5.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(typescript@5.8.3))(@types/node@20.17.30)(babel-plugin-macros@3.1.0)(react-router@7.5.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(typescript@5.8.3)(vite@5.4.18(@types/node@20.17.30)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)) + specifier: ^7.6.2 + version: 7.6.2(@react-router/serve@7.6.2(react-router@7.6.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(typescript@5.8.3))(@types/node@24.0.3)(babel-plugin-macros@3.1.0)(jiti@2.4.2)(react-router@7.6.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(sugarss@4.0.1(postcss@8.5.6))(terser@5.43.1)(typescript@5.8.3)(vite@6.3.5(@types/node@24.0.3)(jiti@2.4.2)(sugarss@4.0.1(postcss@8.5.6))(terser@5.43.1)(yaml@2.8.0))(yaml@2.8.0) '@types/node': - specifier: ^20 - version: 20.17.30 + specifier: ^24.0.3 + version: 24.0.3 '@types/react': - specifier: ^19.0.1 - version: 19.1.2 + specifier: ^19.1.8 + version: 19.1.8 '@types/react-dom': - specifier: ^19.0.1 - version: 19.1.2(@types/react@19.1.2) + specifier: ^19.1.6 + version: 19.1.6(@types/react@19.1.8) esrun: - specifier: ^3.2.26 - version: 3.2.26 + specifier: ^3.2.30 + version: 3.2.30 postcss: - specifier: ^8.5.3 - version: 8.5.3 + specifier: ^8.5.6 + version: 8.5.6 postcss-preset-mantine: specifier: ^1.17.0 - version: 1.17.0(postcss@8.5.3) + version: 1.17.0(postcss@8.5.6) postcss-simple-vars: specifier: ^7.0.1 - version: 7.0.1(postcss@8.5.3) + version: 7.0.1(postcss@8.5.6) prettier: specifier: ^3.5.3 version: 3.5.3 react-router-devtools: - specifier: ^1.1.0 - version: 1.1.10(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react-router@7.5.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0)(vite@5.4.18(@types/node@20.17.30)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)) + specifier: ^5.0.6 + version: 5.0.6(@types/react-dom@19.1.6(@types/react@19.1.8))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react-router@7.6.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0)(vite@6.3.5(@types/node@24.0.3)(jiti@2.4.2)(sugarss@4.0.1(postcss@8.5.6))(terser@5.43.1)(yaml@2.8.0)) tslib: specifier: ^2.8.1 version: 2.8.1 typescript: - specifier: ^5.7.2 + specifier: ^5.8.3 version: 5.8.3 vite: - specifier: ^5.4.11 - version: 5.4.18(@types/node@20.17.30)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0) + specifier: ^6.3.5 + version: 6.3.5(@types/node@24.0.3)(jiti@2.4.2)(sugarss@4.0.1(postcss@8.5.6))(terser@5.43.1)(yaml@2.8.0) vite-plugin-icons-spritesheet: specifier: ^3.0.1 - version: 3.0.1(vite@5.4.18(@types/node@20.17.30)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)) + version: 3.0.1(vite@6.3.5(@types/node@24.0.3)(jiti@2.4.2)(sugarss@4.0.1(postcss@8.5.6))(terser@5.43.1)(yaml@2.8.0)) vite-tsconfig-paths: specifier: ^5.1.4 - version: 5.1.4(typescript@5.8.3)(vite@5.4.18(@types/node@20.17.30)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)) + version: 5.1.4(typescript@5.8.3)(vite@6.3.5(@types/node@24.0.3)(jiti@2.4.2)(sugarss@4.0.1(postcss@8.5.6))(terser@5.43.1)(yaml@2.8.0)) packages: @@ -178,86 +181,86 @@ packages: resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} - '@babel/code-frame@7.26.2': - resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} + '@babel/code-frame@7.27.1': + resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} engines: {node: '>=6.9.0'} - '@babel/compat-data@7.26.8': - resolution: {integrity: sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ==} + '@babel/compat-data@7.27.5': + resolution: {integrity: sha512-KiRAp/VoJaWkkte84TvUd9qjdbZAdiqyvMxrGl1N6vzFogKmaLgoM3L1kgtLicp2HP5fBJS8JrZKLVIZGVJAVg==} engines: {node: '>=6.9.0'} - '@babel/core@7.26.10': - resolution: {integrity: sha512-vMqyb7XCDMPvJFFOaT9kxtiRh42GwlZEg1/uIgtZshS5a/8OaduUfCi7kynKgc3Tw/6Uo2D+db9qBttghhmxwQ==} + '@babel/core@7.27.4': + resolution: {integrity: sha512-bXYxrXFubeYdvB0NhD/NBB3Qi6aZeV20GOWVI47t2dkecCEoneR4NPVcb7abpXDEvejgrUfFtG6vG/zxAKmg+g==} engines: {node: '>=6.9.0'} - '@babel/generator@7.27.0': - resolution: {integrity: sha512-VybsKvpiN1gU1sdMZIp7FcqphVVKEwcuj02x73uvcHE0PTihx1nlBcowYWhDwjpoAXRv43+gDzyggGnn1XZhVw==} + '@babel/generator@7.27.5': + resolution: {integrity: sha512-ZGhA37l0e/g2s1Cnzdix0O3aLYm66eF8aufiVteOgnwxgnRP8GoyMj7VWsgWnQbVKXyge7hqrFh2K2TQM6t1Hw==} engines: {node: '>=6.9.0'} - '@babel/helper-annotate-as-pure@7.25.9': - resolution: {integrity: sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==} + '@babel/helper-annotate-as-pure@7.27.3': + resolution: {integrity: sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==} engines: {node: '>=6.9.0'} - '@babel/helper-compilation-targets@7.27.0': - resolution: {integrity: sha512-LVk7fbXml0H2xH34dFzKQ7TDZ2G4/rVTOrq9V+icbbadjbVxxeFeDsNHv2SrZeWoA+6ZiTyWYWtScEIW07EAcA==} + '@babel/helper-compilation-targets@7.27.2': + resolution: {integrity: sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==} engines: {node: '>=6.9.0'} - '@babel/helper-create-class-features-plugin@7.27.0': - resolution: {integrity: sha512-vSGCvMecvFCd/BdpGlhpXYNhhC4ccxyvQWpbGL4CWbvfEoLFWUZuSuf7s9Aw70flgQF+6vptvgK2IfOnKlRmBg==} + '@babel/helper-create-class-features-plugin@7.27.1': + resolution: {integrity: sha512-QwGAmuvM17btKU5VqXfb+Giw4JcN0hjuufz3DYnpeVDvZLAObloM77bhMXiqry3Iio+Ai4phVRDwl6WU10+r5A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/helper-member-expression-to-functions@7.25.9': - resolution: {integrity: sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ==} + '@babel/helper-member-expression-to-functions@7.27.1': + resolution: {integrity: sha512-E5chM8eWjTp/aNoVpcbfM7mLxu9XGLWYise2eBKGQomAk/Mb4XoxyqXTZbuTohbsl8EKqdlMhnDI2CCLfcs9wA==} engines: {node: '>=6.9.0'} - '@babel/helper-module-imports@7.25.9': - resolution: {integrity: sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==} + '@babel/helper-module-imports@7.27.1': + resolution: {integrity: sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==} engines: {node: '>=6.9.0'} - '@babel/helper-module-transforms@7.26.0': - resolution: {integrity: sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==} + '@babel/helper-module-transforms@7.27.3': + resolution: {integrity: sha512-dSOvYwvyLsWBeIRyOeHXp5vPj5l1I011r52FM1+r1jCERv+aFXYk4whgQccYEGYxK2H3ZAIA8nuPkQ0HaUo3qg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/helper-optimise-call-expression@7.25.9': - resolution: {integrity: sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==} + '@babel/helper-optimise-call-expression@7.27.1': + resolution: {integrity: sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==} engines: {node: '>=6.9.0'} - '@babel/helper-plugin-utils@7.26.5': - resolution: {integrity: sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==} + '@babel/helper-plugin-utils@7.27.1': + resolution: {integrity: sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==} engines: {node: '>=6.9.0'} - '@babel/helper-replace-supers@7.26.5': - resolution: {integrity: sha512-bJ6iIVdYX1YooY2X7w1q6VITt+LnUILtNk7zT78ykuwStx8BauCzxvFqFaHjOpW1bVnSUM1PN1f0p5P21wHxvg==} + '@babel/helper-replace-supers@7.27.1': + resolution: {integrity: sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/helper-skip-transparent-expression-wrappers@7.25.9': - resolution: {integrity: sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==} + '@babel/helper-skip-transparent-expression-wrappers@7.27.1': + resolution: {integrity: sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==} engines: {node: '>=6.9.0'} - '@babel/helper-string-parser@7.25.9': - resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==} + '@babel/helper-string-parser@7.27.1': + resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-identifier@7.25.9': - resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==} + '@babel/helper-validator-identifier@7.27.1': + resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-option@7.25.9': - resolution: {integrity: sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==} + '@babel/helper-validator-option@7.27.1': + resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==} engines: {node: '>=6.9.0'} - '@babel/helpers@7.27.0': - resolution: {integrity: sha512-U5eyP/CTFPuNE3qk+WZMxFkp/4zUzdceQlfzf7DdGdhp+Fezd7HD+i8Y24ZuTMKX3wQBld449jijbGq6OdGNQg==} + '@babel/helpers@7.27.6': + resolution: {integrity: sha512-muE8Tt8M22638HU31A3CgfSUciwz1fhATfoVai05aPXGor//CdWDCbnlY1yvBPo07njuVOCNGCSp/GTt12lIug==} engines: {node: '>=6.9.0'} - '@babel/parser@7.27.0': - resolution: {integrity: sha512-iaepho73/2Pz7w2eMS0Q5f83+0RKI7i4xmiYeBmDzfRVbQtTOG7Ts0S4HzJVsTMGI9keU8rNfuZr8DKfSt7Yyg==} + '@babel/parser@7.27.5': + resolution: {integrity: sha512-OsQd175SxWkGlzbny8J3K8TnnDD0N3lrIUtB92xwyRpzaenGZhxDvxN/JgU00U3CDZNj9tPuDJ5H0WS4Nt3vKg==} engines: {node: '>=6.0.0'} hasBin: true @@ -282,14 +285,14 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-decorators@7.25.9': - resolution: {integrity: sha512-ryzI0McXUPJnRCvMo4lumIKZUzhYUO/ScI+Mz4YVaTLt04DHNSjEUjKVvbzQjZFLuod/cYEc07mJWhzl6v4DPg==} + '@babel/plugin-syntax-decorators@7.27.1': + resolution: {integrity: sha512-YMq8Z87Lhl8EGkmb0MwYkt36QnxC+fzCgrl66ereamPlYToRpIk5nUjKUY3QKLWq8mwUB1BgbeXcTJhZOCDg5A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-import-attributes@7.26.0': - resolution: {integrity: sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==} + '@babel/plugin-syntax-import-attributes@7.27.1': + resolution: {integrity: sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -304,8 +307,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-jsx@7.25.9': - resolution: {integrity: sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==} + '@babel/plugin-syntax-jsx@7.27.1': + resolution: {integrity: sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -352,44 +355,44 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-typescript@7.25.9': - resolution: {integrity: sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ==} + '@babel/plugin-syntax-typescript@7.27.1': + resolution: {integrity: sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-modules-commonjs@7.26.3': - resolution: {integrity: sha512-MgR55l4q9KddUDITEzEFYn5ZsGDXMSsU9E+kh7fjRXTIC3RHqfCo8RPRbyReYJh44HQ/yomFkqbOFohXvDCiIQ==} + '@babel/plugin-transform-modules-commonjs@7.27.1': + resolution: {integrity: sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-typescript@7.27.0': - resolution: {integrity: sha512-fRGGjO2UEGPjvEcyAZXRXAS8AfdaQoq7HnxAbJoAoW10B9xOKesmmndJv+Sym2a+9FHWZ9KbyyLCe9s0Sn5jtg==} + '@babel/plugin-transform-typescript@7.27.1': + resolution: {integrity: sha512-Q5sT5+O4QUebHdbwKedFBEwRLb02zJ7r4A5Gg2hUoLuU3FjdMcyqcywqUrLCaDsFCxzokf7u9kuy7qz51YUuAg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/preset-typescript@7.27.0': - resolution: {integrity: sha512-vxaPFfJtHhgeOVXRKuHpHPAOgymmy8V8I65T1q53R7GCZlefKeCaTyDs3zOPHTTbmquvNlQYC5klEvWsBAtrBQ==} + '@babel/preset-typescript@7.27.1': + resolution: {integrity: sha512-l7WfQfX0WK4M0v2RudjuQK4u99BS6yLHYEmdtVPP7lKV013zr9DygFuWNlnbvQ9LR+LS0Egz/XAvGx5U9MX0fQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/runtime@7.27.0': - resolution: {integrity: sha512-VtPOkrdPHZsKc/clNqyi9WUA8TINkZ4cGk63UUE3u4pmB2k+ZMQRDuIOagv8UVd6j7k0T3+RRIb7beKTebNbcw==} + '@babel/runtime@7.27.6': + resolution: {integrity: sha512-vbavdySgbTTrmFE+EsiqUTzlOr5bzlnJtUv9PynGCAKvfQqjIXbvFdumPM/GxMDfyuGMJaJAU6TO4zc1Jf1i8Q==} engines: {node: '>=6.9.0'} - '@babel/template@7.27.0': - resolution: {integrity: sha512-2ncevenBqXI6qRMukPlXwHKHchC7RyMuu4xv5JBXRfOGVcTy1mXCD12qrp7Jsoxll1EV3+9sE4GugBVRjT2jFA==} + '@babel/template@7.27.2': + resolution: {integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==} engines: {node: '>=6.9.0'} - '@babel/traverse@7.27.0': - resolution: {integrity: sha512-19lYZFzYVQkkHkl4Cy4WrAVcqBkgvV2YM2TU3xG6DIwO7O3ecbDPfW3yM3bjAGcqcQHi+CCtjMR3dIEHxsd6bA==} + '@babel/traverse@7.27.4': + resolution: {integrity: sha512-oNcu2QbHqts9BtOWJosOVJapWjBDSxGCpFvikNR5TGDYDQf3JwpIoMzIKrvfoti93cLfPJEG4tH9SPVeyCGgdA==} engines: {node: '>=6.9.0'} - '@babel/types@7.27.0': - resolution: {integrity: sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg==} + '@babel/types@7.27.6': + resolution: {integrity: sha512-ETyHEk2VHHvl9b9jZP5IHPavHYk57EhanlRRuae9XCpb/j5bDCbPPMOBfCWhnl/7EDJz0jEMCi/RhccCE8r1+Q==} engines: {node: '>=6.9.0'} '@biomejs/cli-darwin-arm64@1.9.4': @@ -411,16 +414,16 @@ packages: resolution: {integrity: sha512-9Mkradf5yS5xiLWrl9WrpjqOrAV+/W2RQHDlbnAZBivoGpOs1ECjoDCkVk4aRG8ZdiFiB8zQEVlxf+8fKkmSfQ==} engines: {node: '>=10'} - '@coral-xyz/anchor-errors@0.31.0': - resolution: {integrity: sha512-SUERksFSQ+4F11hkROIwHq4mcoSMXJxwVWLoklefi4dU679zVWFVcTq6O7otvjY8wlUaRXeE+iYcQWZTw2ll6w==} + '@coral-xyz/anchor-errors@0.31.1': + resolution: {integrity: sha512-NhNEku4F3zzUSBtrYz84FzYWm48+9OvmT1Hhnwr6GnPQry2dsEqH/ti/7ASjjpoFTWRnPXrjAIT1qM6Isop+LQ==} engines: {node: '>=10'} '@coral-xyz/anchor@0.30.1': resolution: {integrity: sha512-gDXFoF5oHgpriXAaLpxyWBHdCs8Awgf/gLHIo6crv7Aqm937CNdY+x+6hoj7QR5vaJV7MxWSQ0NGFzL3kPbWEQ==} engines: {node: '>=11'} - '@coral-xyz/anchor@0.31.0': - resolution: {integrity: sha512-Yb1NwP1s4cWhAw7wL7vOLHSWWw3cD5D9pRCVSeJpdqPaI+w7sfRLScnVJL6ViYMZynB7nAG/5HcUPKUnY0L9rw==} + '@coral-xyz/anchor@0.31.1': + resolution: {integrity: sha512-QUqpoEK+gi2S6nlYc2atgT2r41TT3caWr/cPUEL8n8Md9437trZ68STknq897b82p5mW0XrTBNOzRbmIRJtfsA==} engines: {node: '>=17'} '@coral-xyz/borsh@0.30.1': @@ -429,8 +432,8 @@ packages: peerDependencies: '@solana/web3.js': ^1.68.0 - '@coral-xyz/borsh@0.31.0': - resolution: {integrity: sha512-DwdQ5fuj+rGQCTKRnxnW1W2lvcpBaFc9m9M1TcGGlm+bwCcggmDgbLKLgF+LjIrKnc7Nd+bCACx5RA9YTK2I4Q==} + '@coral-xyz/borsh@0.31.1': + resolution: {integrity: sha512-9N8AU9F0ubriKfNE3g1WF0/4dtlGXoBN/hd1PvbNBamBNwRgHxH4P+o3Zt7rSEloW1HUs6LfZEchlx9fW7POYw==} engines: {node: '>=10'} peerDependencies: '@solana/web3.js': ^1.69.0 @@ -486,434 +489,314 @@ packages: '@emotion/weak-memoize@0.4.0': resolution: {integrity: sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg==} - '@esbuild/aix-ppc64@0.21.5': - resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} - engines: {node: '>=12'} + '@esbuild/aix-ppc64@0.24.2': + resolution: {integrity: sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==} + engines: {node: '>=18'} cpu: [ppc64] os: [aix] - '@esbuild/aix-ppc64@0.25.2': - resolution: {integrity: sha512-wCIboOL2yXZym2cgm6mlA742s9QeJ8DjGVaL39dLN4rRwrOgOyYSnOaFPhKZGLb2ngj4EyfAFjsNJwPXZvseag==} + '@esbuild/aix-ppc64@0.25.5': + resolution: {integrity: sha512-9o3TMmpmftaCMepOdA5k/yDw8SfInyzWWTjYTFCX3kPSDJMROQTb8jg+h9Cnwnmm1vOzvxN7gIfB5V2ewpjtGA==} engines: {node: '>=18'} cpu: [ppc64] os: [aix] - '@esbuild/android-arm64@0.17.19': - resolution: {integrity: sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - - '@esbuild/android-arm64@0.21.5': - resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} - engines: {node: '>=12'} + '@esbuild/android-arm64@0.24.2': + resolution: {integrity: sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==} + engines: {node: '>=18'} cpu: [arm64] os: [android] - '@esbuild/android-arm64@0.25.2': - resolution: {integrity: sha512-5ZAX5xOmTligeBaeNEPnPaeEuah53Id2tX4c2CVP3JaROTH+j4fnfHCkr1PjXMd78hMst+TlkfKcW/DlTq0i4w==} + '@esbuild/android-arm64@0.25.5': + resolution: {integrity: sha512-VGzGhj4lJO+TVGV1v8ntCZWJktV7SGCs3Pn1GRWI1SBFtRALoomm8k5E9Pmwg3HOAal2VDc2F9+PM/rEY6oIDg==} engines: {node: '>=18'} cpu: [arm64] os: [android] - '@esbuild/android-arm@0.17.19': - resolution: {integrity: sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - - '@esbuild/android-arm@0.21.5': - resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} - engines: {node: '>=12'} + '@esbuild/android-arm@0.24.2': + resolution: {integrity: sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==} + engines: {node: '>=18'} cpu: [arm] os: [android] - '@esbuild/android-arm@0.25.2': - resolution: {integrity: sha512-NQhH7jFstVY5x8CKbcfa166GoV0EFkaPkCKBQkdPJFvo5u+nGXLEH/ooniLb3QI8Fk58YAx7nsPLozUWfCBOJA==} + '@esbuild/android-arm@0.25.5': + resolution: {integrity: sha512-AdJKSPeEHgi7/ZhuIPtcQKr5RQdo6OO2IL87JkianiMYMPbCtot9fxPbrMiBADOWWm3T2si9stAiVsGbTQFkbA==} engines: {node: '>=18'} cpu: [arm] os: [android] - '@esbuild/android-x64@0.17.19': - resolution: {integrity: sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - - '@esbuild/android-x64@0.21.5': - resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} - engines: {node: '>=12'} + '@esbuild/android-x64@0.24.2': + resolution: {integrity: sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==} + engines: {node: '>=18'} cpu: [x64] os: [android] - '@esbuild/android-x64@0.25.2': - resolution: {integrity: sha512-Ffcx+nnma8Sge4jzddPHCZVRvIfQ0kMsUsCMcJRHkGJ1cDmhe4SsrYIjLUKn1xpHZybmOqCWwB0zQvsjdEHtkg==} + '@esbuild/android-x64@0.25.5': + resolution: {integrity: sha512-D2GyJT1kjvO//drbRT3Hib9XPwQeWd9vZoBJn+bu/lVsOZ13cqNdDeqIF/xQ5/VmWvMduP6AmXvylO/PIc2isw==} engines: {node: '>=18'} cpu: [x64] os: [android] - '@esbuild/darwin-arm64@0.17.19': - resolution: {integrity: sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - - '@esbuild/darwin-arm64@0.21.5': - resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} - engines: {node: '>=12'} + '@esbuild/darwin-arm64@0.24.2': + resolution: {integrity: sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==} + engines: {node: '>=18'} cpu: [arm64] os: [darwin] - '@esbuild/darwin-arm64@0.25.2': - resolution: {integrity: sha512-MpM6LUVTXAzOvN4KbjzU/q5smzryuoNjlriAIx+06RpecwCkL9JpenNzpKd2YMzLJFOdPqBpuub6eVRP5IgiSA==} + '@esbuild/darwin-arm64@0.25.5': + resolution: {integrity: sha512-GtaBgammVvdF7aPIgH2jxMDdivezgFu6iKpmT+48+F8Hhg5J/sfnDieg0aeG/jfSvkYQU2/pceFPDKlqZzwnfQ==} engines: {node: '>=18'} cpu: [arm64] os: [darwin] - '@esbuild/darwin-x64@0.17.19': - resolution: {integrity: sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - - '@esbuild/darwin-x64@0.21.5': - resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} - engines: {node: '>=12'} + '@esbuild/darwin-x64@0.24.2': + resolution: {integrity: sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==} + engines: {node: '>=18'} cpu: [x64] os: [darwin] - '@esbuild/darwin-x64@0.25.2': - resolution: {integrity: sha512-5eRPrTX7wFyuWe8FqEFPG2cU0+butQQVNcT4sVipqjLYQjjh8a8+vUTfgBKM88ObB85ahsnTwF7PSIt6PG+QkA==} + '@esbuild/darwin-x64@0.25.5': + resolution: {integrity: sha512-1iT4FVL0dJ76/q1wd7XDsXrSW+oLoquptvh4CLR4kITDtqi2e/xwXwdCVH8hVHU43wgJdsq7Gxuzcs6Iq/7bxQ==} engines: {node: '>=18'} cpu: [x64] os: [darwin] - '@esbuild/freebsd-arm64@0.17.19': - resolution: {integrity: sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - - '@esbuild/freebsd-arm64@0.21.5': - resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} - engines: {node: '>=12'} + '@esbuild/freebsd-arm64@0.24.2': + resolution: {integrity: sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==} + engines: {node: '>=18'} cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-arm64@0.25.2': - resolution: {integrity: sha512-mLwm4vXKiQ2UTSX4+ImyiPdiHjiZhIaE9QvC7sw0tZ6HoNMjYAqQpGyui5VRIi5sGd+uWq940gdCbY3VLvsO1w==} + '@esbuild/freebsd-arm64@0.25.5': + resolution: {integrity: sha512-nk4tGP3JThz4La38Uy/gzyXtpkPW8zSAmoUhK9xKKXdBCzKODMc2adkB2+8om9BDYugz+uGV7sLmpTYzvmz6Sw==} engines: {node: '>=18'} cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-x64@0.17.19': - resolution: {integrity: sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - - '@esbuild/freebsd-x64@0.21.5': - resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} - engines: {node: '>=12'} + '@esbuild/freebsd-x64@0.24.2': + resolution: {integrity: sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==} + engines: {node: '>=18'} cpu: [x64] os: [freebsd] - '@esbuild/freebsd-x64@0.25.2': - resolution: {integrity: sha512-6qyyn6TjayJSwGpm8J9QYYGQcRgc90nmfdUb0O7pp1s4lTY+9D0H9O02v5JqGApUyiHOtkz6+1hZNvNtEhbwRQ==} + '@esbuild/freebsd-x64@0.25.5': + resolution: {integrity: sha512-PrikaNjiXdR2laW6OIjlbeuCPrPaAl0IwPIaRv+SMV8CiM8i2LqVUHFC1+8eORgWyY7yhQY+2U2fA55mBzReaw==} engines: {node: '>=18'} cpu: [x64] os: [freebsd] - '@esbuild/linux-arm64@0.17.19': - resolution: {integrity: sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - - '@esbuild/linux-arm64@0.21.5': - resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} - engines: {node: '>=12'} + '@esbuild/linux-arm64@0.24.2': + resolution: {integrity: sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==} + engines: {node: '>=18'} cpu: [arm64] os: [linux] - '@esbuild/linux-arm64@0.25.2': - resolution: {integrity: sha512-gq/sjLsOyMT19I8obBISvhoYiZIAaGF8JpeXu1u8yPv8BE5HlWYobmlsfijFIZ9hIVGYkbdFhEqC0NvM4kNO0g==} + '@esbuild/linux-arm64@0.25.5': + resolution: {integrity: sha512-Z9kfb1v6ZlGbWj8EJk9T6czVEjjq2ntSYLY2cw6pAZl4oKtfgQuS4HOq41M/BcoLPzrUbNd+R4BXFyH//nHxVg==} engines: {node: '>=18'} cpu: [arm64] os: [linux] - '@esbuild/linux-arm@0.17.19': - resolution: {integrity: sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - - '@esbuild/linux-arm@0.21.5': - resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} - engines: {node: '>=12'} + '@esbuild/linux-arm@0.24.2': + resolution: {integrity: sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==} + engines: {node: '>=18'} cpu: [arm] os: [linux] - '@esbuild/linux-arm@0.25.2': - resolution: {integrity: sha512-UHBRgJcmjJv5oeQF8EpTRZs/1knq6loLxTsjc3nxO9eXAPDLcWW55flrMVc97qFPbmZP31ta1AZVUKQzKTzb0g==} + '@esbuild/linux-arm@0.25.5': + resolution: {integrity: sha512-cPzojwW2okgh7ZlRpcBEtsX7WBuqbLrNXqLU89GxWbNt6uIg78ET82qifUy3W6OVww6ZWobWub5oqZOVtwolfw==} engines: {node: '>=18'} cpu: [arm] os: [linux] - '@esbuild/linux-ia32@0.17.19': - resolution: {integrity: sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - - '@esbuild/linux-ia32@0.21.5': - resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} - engines: {node: '>=12'} + '@esbuild/linux-ia32@0.24.2': + resolution: {integrity: sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==} + engines: {node: '>=18'} cpu: [ia32] os: [linux] - '@esbuild/linux-ia32@0.25.2': - resolution: {integrity: sha512-bBYCv9obgW2cBP+2ZWfjYTU+f5cxRoGGQ5SeDbYdFCAZpYWrfjjfYwvUpP8MlKbP0nwZ5gyOU/0aUzZ5HWPuvQ==} + '@esbuild/linux-ia32@0.25.5': + resolution: {integrity: sha512-sQ7l00M8bSv36GLV95BVAdhJ2QsIbCuCjh/uYrWiMQSUuV+LpXwIqhgJDcvMTj+VsQmqAHL2yYaasENvJ7CDKA==} engines: {node: '>=18'} cpu: [ia32] os: [linux] - '@esbuild/linux-loong64@0.17.19': - resolution: {integrity: sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - - '@esbuild/linux-loong64@0.21.5': - resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} - engines: {node: '>=12'} + '@esbuild/linux-loong64@0.24.2': + resolution: {integrity: sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==} + engines: {node: '>=18'} cpu: [loong64] os: [linux] - '@esbuild/linux-loong64@0.25.2': - resolution: {integrity: sha512-SHNGiKtvnU2dBlM5D8CXRFdd+6etgZ9dXfaPCeJtz+37PIUlixvlIhI23L5khKXs3DIzAn9V8v+qb1TRKrgT5w==} + '@esbuild/linux-loong64@0.25.5': + resolution: {integrity: sha512-0ur7ae16hDUC4OL5iEnDb0tZHDxYmuQyhKhsPBV8f99f6Z9KQM02g33f93rNH5A30agMS46u2HP6qTdEt6Q1kg==} engines: {node: '>=18'} cpu: [loong64] os: [linux] - '@esbuild/linux-mips64el@0.17.19': - resolution: {integrity: sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - - '@esbuild/linux-mips64el@0.21.5': - resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} - engines: {node: '>=12'} + '@esbuild/linux-mips64el@0.24.2': + resolution: {integrity: sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==} + engines: {node: '>=18'} cpu: [mips64el] os: [linux] - '@esbuild/linux-mips64el@0.25.2': - resolution: {integrity: sha512-hDDRlzE6rPeoj+5fsADqdUZl1OzqDYow4TB4Y/3PlKBD0ph1e6uPHzIQcv2Z65u2K0kpeByIyAjCmjn1hJgG0Q==} + '@esbuild/linux-mips64el@0.25.5': + resolution: {integrity: sha512-kB/66P1OsHO5zLz0i6X0RxlQ+3cu0mkxS3TKFvkb5lin6uwZ/ttOkP3Z8lfR9mJOBk14ZwZ9182SIIWFGNmqmg==} engines: {node: '>=18'} cpu: [mips64el] os: [linux] - '@esbuild/linux-ppc64@0.17.19': - resolution: {integrity: sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - - '@esbuild/linux-ppc64@0.21.5': - resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} - engines: {node: '>=12'} + '@esbuild/linux-ppc64@0.24.2': + resolution: {integrity: sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==} + engines: {node: '>=18'} cpu: [ppc64] os: [linux] - '@esbuild/linux-ppc64@0.25.2': - resolution: {integrity: sha512-tsHu2RRSWzipmUi9UBDEzc0nLc4HtpZEI5Ba+Omms5456x5WaNuiG3u7xh5AO6sipnJ9r4cRWQB2tUjPyIkc6g==} + '@esbuild/linux-ppc64@0.25.5': + resolution: {integrity: sha512-UZCmJ7r9X2fe2D6jBmkLBMQetXPXIsZjQJCjgwpVDz+YMcS6oFR27alkgGv3Oqkv07bxdvw7fyB71/olceJhkQ==} engines: {node: '>=18'} cpu: [ppc64] os: [linux] - '@esbuild/linux-riscv64@0.17.19': - resolution: {integrity: sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - - '@esbuild/linux-riscv64@0.21.5': - resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} - engines: {node: '>=12'} + '@esbuild/linux-riscv64@0.24.2': + resolution: {integrity: sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==} + engines: {node: '>=18'} cpu: [riscv64] os: [linux] - '@esbuild/linux-riscv64@0.25.2': - resolution: {integrity: sha512-k4LtpgV7NJQOml/10uPU0s4SAXGnowi5qBSjaLWMojNCUICNu7TshqHLAEbkBdAszL5TabfvQ48kK84hyFzjnw==} + '@esbuild/linux-riscv64@0.25.5': + resolution: {integrity: sha512-kTxwu4mLyeOlsVIFPfQo+fQJAV9mh24xL+y+Bm6ej067sYANjyEw1dNHmvoqxJUCMnkBdKpvOn0Ahql6+4VyeA==} engines: {node: '>=18'} cpu: [riscv64] os: [linux] - '@esbuild/linux-s390x@0.17.19': - resolution: {integrity: sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - - '@esbuild/linux-s390x@0.21.5': - resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} - engines: {node: '>=12'} + '@esbuild/linux-s390x@0.24.2': + resolution: {integrity: sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==} + engines: {node: '>=18'} cpu: [s390x] os: [linux] - '@esbuild/linux-s390x@0.25.2': - resolution: {integrity: sha512-GRa4IshOdvKY7M/rDpRR3gkiTNp34M0eLTaC1a08gNrh4u488aPhuZOCpkF6+2wl3zAN7L7XIpOFBhnaE3/Q8Q==} + '@esbuild/linux-s390x@0.25.5': + resolution: {integrity: sha512-K2dSKTKfmdh78uJ3NcWFiqyRrimfdinS5ErLSn3vluHNeHVnBAFWC8a4X5N+7FgVE1EjXS1QDZbpqZBjfrqMTQ==} engines: {node: '>=18'} cpu: [s390x] os: [linux] - '@esbuild/linux-x64@0.17.19': - resolution: {integrity: sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - - '@esbuild/linux-x64@0.21.5': - resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} - engines: {node: '>=12'} + '@esbuild/linux-x64@0.24.2': + resolution: {integrity: sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==} + engines: {node: '>=18'} cpu: [x64] os: [linux] - '@esbuild/linux-x64@0.25.2': - resolution: {integrity: sha512-QInHERlqpTTZ4FRB0fROQWXcYRD64lAoiegezDunLpalZMjcUcld3YzZmVJ2H/Cp0wJRZ8Xtjtj0cEHhYc/uUg==} + '@esbuild/linux-x64@0.25.5': + resolution: {integrity: sha512-uhj8N2obKTE6pSZ+aMUbqq+1nXxNjZIIjCjGLfsWvVpy7gKCOL6rsY1MhRh9zLtUtAI7vpgLMK6DxjO8Qm9lJw==} engines: {node: '>=18'} cpu: [x64] os: [linux] - '@esbuild/netbsd-arm64@0.25.2': - resolution: {integrity: sha512-talAIBoY5M8vHc6EeI2WW9d/CkiO9MQJ0IOWX8hrLhxGbro/vBXJvaQXefW2cP0z0nQVTdQ/eNyGFV1GSKrxfw==} + '@esbuild/netbsd-arm64@0.24.2': + resolution: {integrity: sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==} engines: {node: '>=18'} cpu: [arm64] os: [netbsd] - '@esbuild/netbsd-x64@0.17.19': - resolution: {integrity: sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==} - engines: {node: '>=12'} - cpu: [x64] + '@esbuild/netbsd-arm64@0.25.5': + resolution: {integrity: sha512-pwHtMP9viAy1oHPvgxtOv+OkduK5ugofNTVDilIzBLpoWAM16r7b/mxBvfpuQDpRQFMfuVr5aLcn4yveGvBZvw==} + engines: {node: '>=18'} + cpu: [arm64] os: [netbsd] - '@esbuild/netbsd-x64@0.21.5': - resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} - engines: {node: '>=12'} + '@esbuild/netbsd-x64@0.24.2': + resolution: {integrity: sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==} + engines: {node: '>=18'} cpu: [x64] os: [netbsd] - '@esbuild/netbsd-x64@0.25.2': - resolution: {integrity: sha512-voZT9Z+tpOxrvfKFyfDYPc4DO4rk06qamv1a/fkuzHpiVBMOhpjK+vBmWM8J1eiB3OLSMFYNaOaBNLXGChf5tg==} + '@esbuild/netbsd-x64@0.25.5': + resolution: {integrity: sha512-WOb5fKrvVTRMfWFNCroYWWklbnXH0Q5rZppjq0vQIdlsQKuw6mdSihwSo4RV/YdQ5UCKKvBy7/0ZZYLBZKIbwQ==} engines: {node: '>=18'} cpu: [x64] os: [netbsd] - '@esbuild/openbsd-arm64@0.25.2': - resolution: {integrity: sha512-dcXYOC6NXOqcykeDlwId9kB6OkPUxOEqU+rkrYVqJbK2hagWOMrsTGsMr8+rW02M+d5Op5NNlgMmjzecaRf7Tg==} + '@esbuild/openbsd-arm64@0.24.2': + resolution: {integrity: sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==} engines: {node: '>=18'} cpu: [arm64] os: [openbsd] - '@esbuild/openbsd-x64@0.17.19': - resolution: {integrity: sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==} - engines: {node: '>=12'} - cpu: [x64] + '@esbuild/openbsd-arm64@0.25.5': + resolution: {integrity: sha512-7A208+uQKgTxHd0G0uqZO8UjK2R0DDb4fDmERtARjSHWxqMTye4Erz4zZafx7Di9Cv+lNHYuncAkiGFySoD+Mw==} + engines: {node: '>=18'} + cpu: [arm64] os: [openbsd] - '@esbuild/openbsd-x64@0.21.5': - resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} - engines: {node: '>=12'} + '@esbuild/openbsd-x64@0.24.2': + resolution: {integrity: sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==} + engines: {node: '>=18'} cpu: [x64] os: [openbsd] - '@esbuild/openbsd-x64@0.25.2': - resolution: {integrity: sha512-t/TkWwahkH0Tsgoq1Ju7QfgGhArkGLkF1uYz8nQS/PPFlXbP5YgRpqQR3ARRiC2iXoLTWFxc6DJMSK10dVXluw==} + '@esbuild/openbsd-x64@0.25.5': + resolution: {integrity: sha512-G4hE405ErTWraiZ8UiSoesH8DaCsMm0Cay4fsFWOOUcz8b8rC6uCvnagr+gnioEjWn0wC+o1/TAHt+It+MpIMg==} engines: {node: '>=18'} cpu: [x64] os: [openbsd] - '@esbuild/sunos-x64@0.17.19': - resolution: {integrity: sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - - '@esbuild/sunos-x64@0.21.5': - resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} - engines: {node: '>=12'} + '@esbuild/sunos-x64@0.24.2': + resolution: {integrity: sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==} + engines: {node: '>=18'} cpu: [x64] os: [sunos] - '@esbuild/sunos-x64@0.25.2': - resolution: {integrity: sha512-cfZH1co2+imVdWCjd+D1gf9NjkchVhhdpgb1q5y6Hcv9TP6Zi9ZG/beI3ig8TvwT9lH9dlxLq5MQBBgwuj4xvA==} + '@esbuild/sunos-x64@0.25.5': + resolution: {integrity: sha512-l+azKShMy7FxzY0Rj4RCt5VD/q8mG/e+mDivgspo+yL8zW7qEwctQ6YqKX34DTEleFAvCIUviCFX1SDZRSyMQA==} engines: {node: '>=18'} cpu: [x64] os: [sunos] - '@esbuild/win32-arm64@0.17.19': - resolution: {integrity: sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - - '@esbuild/win32-arm64@0.21.5': - resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} - engines: {node: '>=12'} + '@esbuild/win32-arm64@0.24.2': + resolution: {integrity: sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==} + engines: {node: '>=18'} cpu: [arm64] os: [win32] - '@esbuild/win32-arm64@0.25.2': - resolution: {integrity: sha512-7Loyjh+D/Nx/sOTzV8vfbB3GJuHdOQyrOryFdZvPHLf42Tk9ivBU5Aedi7iyX+x6rbn2Mh68T4qq1SDqJBQO5Q==} + '@esbuild/win32-arm64@0.25.5': + resolution: {integrity: sha512-O2S7SNZzdcFG7eFKgvwUEZ2VG9D/sn/eIiz8XRZ1Q/DO5a3s76Xv0mdBzVM5j5R639lXQmPmSo0iRpHqUUrsxw==} engines: {node: '>=18'} cpu: [arm64] os: [win32] - '@esbuild/win32-ia32@0.17.19': - resolution: {integrity: sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - - '@esbuild/win32-ia32@0.21.5': - resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} - engines: {node: '>=12'} + '@esbuild/win32-ia32@0.24.2': + resolution: {integrity: sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==} + engines: {node: '>=18'} cpu: [ia32] os: [win32] - '@esbuild/win32-ia32@0.25.2': - resolution: {integrity: sha512-WRJgsz9un0nqZJ4MfhabxaD9Ft8KioqU3JMinOTvobbX6MOSUigSBlogP8QB3uxpJDsFS6yN+3FDBdqE5lg9kg==} + '@esbuild/win32-ia32@0.25.5': + resolution: {integrity: sha512-onOJ02pqs9h1iMJ1PQphR+VZv8qBMQ77Klcsqv9CNW2w6yLqoURLcgERAIurY6QE63bbLuqgP9ATqajFLK5AMQ==} engines: {node: '>=18'} cpu: [ia32] os: [win32] - '@esbuild/win32-x64@0.17.19': - resolution: {integrity: sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - - '@esbuild/win32-x64@0.21.5': - resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} - engines: {node: '>=12'} + '@esbuild/win32-x64@0.24.2': + resolution: {integrity: sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==} + engines: {node: '>=18'} cpu: [x64] os: [win32] - '@esbuild/win32-x64@0.25.2': - resolution: {integrity: sha512-kM3HKb16VIXZyIeVrM1ygYmZBKybX8N4p754bw390wGO3Tf2j4L2/WYL+4suWujpgf6GBYs3jv7TyUivdd05JA==} + '@esbuild/win32-x64@0.25.5': + resolution: {integrity: sha512-TXv6YnJ8ZMVdX+SXWVBo/0p8LTcrUYngpWjvm91TMjjBQii7Oz11Lw5lbDV5Y0TzuhSJHwiH4hEtC1I42mMS0g==} engines: {node: '>=18'} cpu: [x64] os: [win32] - '@floating-ui/core@1.6.9': - resolution: {integrity: sha512-uMXCuQ3BItDUbAMhIXw7UPXRfAlOAvZzdK9BWpE60MCn+Svt3aLn9jsPTi/WNGlRUu2uI0v5S7JiIUsbsvh3fw==} + '@floating-ui/core@1.7.1': + resolution: {integrity: sha512-azI0DrjMMfIug/ExbBaeDVJXcY0a7EPvPjb2xAJPa4HeimBX+Z18HK8QQR3jb6356SnDDdxx+hinMLcJEDdOjw==} - '@floating-ui/dom@1.6.13': - resolution: {integrity: sha512-umqzocjDgNRGTuO7Q8CU32dkHkECqI8ZdMZ5Swb6QAM0t5rnlrN3lGo1hdpscRd3WS8T6DKYK4ephgIH9iRh3w==} + '@floating-ui/dom@1.7.1': + resolution: {integrity: sha512-cwsmW/zyw5ltYTUeeYJ60CnQuPqmGwuGVhG9w0PRaRKkAyi38BT5CKrpIbb+jtahSwUl04cWzSx9ZOIxeS6RsQ==} - '@floating-ui/react-dom@2.1.2': - resolution: {integrity: sha512-06okr5cgPzMNBy+Ycse2A6udMi4bqwW/zgBF/rwjcNqWkyr82Mcg8b0vjX8OJpZFy/FKjJmw6wV7t44kK6kW7A==} + '@floating-ui/react-dom@2.1.3': + resolution: {integrity: sha512-huMBfiU9UnQ2oBwIhgzyIiSpVgvlDstU8CX0AF+wS+KzmYMs0J2a3GwuFHV1Lz+jlrQGeC1fF+Nv0QoumyV0bA==} peerDependencies: react: '>=16.8.0' react-dom: '>=16.8.0' @@ -927,6 +810,14 @@ packages: '@floating-ui/utils@0.2.9': resolution: {integrity: sha512-MDWhGtE+eHw5JW7lq4qhc5yRLS11ERl1c7Z6Xd0a58DozHES6EnNNwUWbMiG4J9Cgj053Bhk8zvlhFYKVhULwg==} + '@isaacs/balanced-match@4.0.1': + resolution: {integrity: sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==} + engines: {node: 20 || >=22} + + '@isaacs/brace-expansion@5.0.0': + resolution: {integrity: sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==} + engines: {node: 20 || >=22} + '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} @@ -988,63 +879,63 @@ packages: '@jridgewell/trace-mapping@0.3.25': resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} - '@mantine/code-highlight@7.17.4': - resolution: {integrity: sha512-Ewi4X/4a5Lbty7MmOg5OTOv7QexxuVA5dwUZ79zWEvqB3e/AHzGK//5Nb92x78FvmuEZ9M0rK5eRtWTT/+4zeA==} + '@mantine/code-highlight@8.1.1': + resolution: {integrity: sha512-yCC/458v+szGG+xbRii0wbAEZGMU7pd10UUpi1pcuEVUTKOKnloRF2BiTa3qKIp6ZB8/0UdBUBUJprnIjFbDJA==} peerDependencies: - '@mantine/core': 7.17.4 - '@mantine/hooks': 7.17.4 + '@mantine/core': 8.1.1 + '@mantine/hooks': 8.1.1 react: ^18.x || ^19.x react-dom: ^18.x || ^19.x - '@mantine/core@7.17.4': - resolution: {integrity: sha512-Ea4M/98jxgIWCuxCdM0YIotVYjfLTGQsfIA6zDg0LsClgjo/ZLnnh4zbi+bLNgM+GGjP4ju7gv4MZvaTKuLO8g==} + '@mantine/core@8.1.1': + resolution: {integrity: sha512-fW5phaeraz5F2+rnu3cz9aqzyOdvK8ZKi3fWgfhURVt8lo7+oZOVmqsKnvnxw4clJvj/A51wLCmgN9uhlm0n2g==} peerDependencies: - '@mantine/hooks': 7.17.4 + '@mantine/hooks': 8.1.1 react: ^18.x || ^19.x react-dom: ^18.x || ^19.x - '@mantine/dates@7.17.4': - resolution: {integrity: sha512-6oqcmcJb0Pypju+/z6s9nEVa3B9Pdj5DTrdj/FP/RD7RFx4k7nHi+jFstn4qcso6nghRRROKMHErfqrBybjzKA==} + '@mantine/dates@8.1.1': + resolution: {integrity: sha512-ewFtUQNMvvdVgsITx8QSeptS17/Ygy5K9YMkdV8AwMHuB9S2UZBmBpn0TTfFtEEwsBf8nBtSbYGY/dQFZDP+AA==} peerDependencies: - '@mantine/core': 7.17.4 - '@mantine/hooks': 7.17.4 + '@mantine/core': 8.1.1 + '@mantine/hooks': 8.1.1 dayjs: '>=1.0.0' react: ^18.x || ^19.x react-dom: ^18.x || ^19.x - '@mantine/form@7.17.4': - resolution: {integrity: sha512-faCz44IpvLSv8ekG962SIOtRQc4gfC+zeXasbycWNYMW0k8ge7ch689KIuSYN00gdZat2UOaCbrr+yrTYjeuCQ==} + '@mantine/form@8.1.1': + resolution: {integrity: sha512-9QGiPa51SMjbxA25fOwiWFkayIzZzTeOdhFv6pJgxSe3/4DxI0fmJUzxXnBpXuPAYYyHyeHm1I1gRGreplFGVg==} peerDependencies: react: ^18.x || ^19.x - '@mantine/hooks@7.17.4': - resolution: {integrity: sha512-PBcJxDAfGm8k1/JJmaDcxzRVQ3JSE1iXGktbgGz+qEOJmCxwbbAYe+CtGFFgi1xX2bPZ+7dtRr/+XFhnKtt/aw==} + '@mantine/hooks@8.1.1': + resolution: {integrity: sha512-C+p9pPDPl/IMcVCN44XMa9MbuUOEJS3PG9Wklw9Z+ooJqkBnc7aXs3xTAjIsaUCinR9hMqT19cwiYb+W88leVg==} peerDependencies: react: ^18.x || ^19.x - '@mantine/modals@7.17.4': - resolution: {integrity: sha512-KQYzLCQRBs9bq0svdpSda8fgxmqrwEy4tgvoXpmlr02srsyySvpOxhXmAUZsjPZapG+D97sYi7BscVZKZoIqgA==} + '@mantine/modals@8.1.1': + resolution: {integrity: sha512-XEpaUjALtEG63TnnSgd4DiWtIZ9G6pAEB597VZtPlrbm87lrb5APr2BUkXY0unayVIRteG+TpRSjrii/mStpQA==} peerDependencies: - '@mantine/core': 7.17.4 - '@mantine/hooks': 7.17.4 + '@mantine/core': 8.1.1 + '@mantine/hooks': 8.1.1 react: ^18.x || ^19.x react-dom: ^18.x || ^19.x - '@mantine/notifications@7.17.4': - resolution: {integrity: sha512-YxNmnZSfIG69lPMFItOZZsizYL3DsOLVUSPkkJILG5pW2F798dc4IA5mhRIbdmzDEx0ArWHJ7gsdd3Vmm5ubPg==} + '@mantine/notifications@8.1.1': + resolution: {integrity: sha512-eCPsCVkvb5ce0FIbbBiQPGhmgaXgv+9KXPzr3BEfWiR33BSaPs8Q0NaweyZGpEICerOodeAKVXWTGf1KbfEN/g==} peerDependencies: - '@mantine/core': 7.17.4 - '@mantine/hooks': 7.17.4 + '@mantine/core': 8.1.1 + '@mantine/hooks': 8.1.1 react: ^18.x || ^19.x react-dom: ^18.x || ^19.x - '@mantine/store@7.17.4': - resolution: {integrity: sha512-a/EecHPtYVxhu3oMX9uTymGolmOBWxW8Qs4fLCjiazEJbS1ScI4lS71GK/SuOa2rGuuOJkaotpyritbx3paIRg==} + '@mantine/store@8.1.1': + resolution: {integrity: sha512-VmFhaMT+W0YhX2KyoOc7xYYg9nN1LhG8eTFebOshwSi0I2HIONXtgtLg0wBSi3ZXI22dNicCBS/ukA3X534ZBg==} peerDependencies: react: ^18.x || ^19.x - '@metaplex-foundation/mpl-core@1.3.0': - resolution: {integrity: sha512-+j8A3IcgT/G1WY6NOA9prCrYV0AuVGKIsamlmcUUwbhs5QFX4jglIHLf9oQTFGRWlj+MG8TklSX3S7cmZVsj4w==} + '@metaplex-foundation/mpl-core@1.4.0': + resolution: {integrity: sha512-XRvodR0KJokqcfw+wZjpar3lb6Rmf/8eAUpM4QFpSQTCanexdsrLd/Ol1zfPZ2VDYOgUh641LUHxcnGx0zvLUA==} peerDependencies: '@metaplex-foundation/umi': '>=0.8.2 <= 1.0' '@noble/hashes': ^1.3.1 @@ -1137,16 +1028,16 @@ packages: '@mjackson/node-fetch-server@0.2.0': resolution: {integrity: sha512-EMlH1e30yzmTpGLQjlFmaDAjyOeZhng1/XCd7DExR8PNAnG/G1tyruZxEoUe11ClnwGhGrtsdnyyUx1frSzjng==} - '@msgpack/msgpack@3.1.1': - resolution: {integrity: sha512-DnBpqkMOUGayNVKyTLlkM6ILmU/m/+VUxGkuQlPQVAcvreLz5jn1OlQnWd8uHKL/ZSiljpM12rjRhr51VtvJUQ==} + '@msgpack/msgpack@3.1.2': + resolution: {integrity: sha512-JEW4DEtBzfe8HvUYecLU9e6+XJnKDlUAIve8FvPzF3Kzs6Xo/KuZkZJsDH0wJXl/qEZbeeE7edxDNY3kMs39hQ==} engines: {node: '>= 18'} - '@noble/curves@1.8.2': - resolution: {integrity: sha512-vnI7V6lFNe0tLAuJMu+2sX+FcL14TaCWy1qiczg1VwRmPrpQCdq5ESXQMqUc2tluRNf6irBXrWbl1mGN8uaU/g==} + '@noble/curves@1.9.2': + resolution: {integrity: sha512-HxngEd2XUcg9xi20JkwlLCtYwfoFw4JGkuZpT+WlsPD4gB/cxkvTD8fSsoAnphGZhFdZYKeQIPCuFlWPm1uE0g==} engines: {node: ^14.21.3 || >=16} - '@noble/hashes@1.7.2': - resolution: {integrity: sha512-biZ0NUSxyjLLqo6KxEJ1b+C2NAx0wtDoFvCaXHGgUkeHzf3Xc1xKumFKREuT7f7DARNZ/slvYUwFG6B0f2b6hQ==} + '@noble/hashes@1.8.0': + resolution: {integrity: sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==} engines: {node: ^14.21.3 || >=16} '@nodelib/fs.scandir@2.1.5': @@ -1198,8 +1089,8 @@ packages: resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} - '@prisma/client@6.6.0': - resolution: {integrity: sha512-vfp73YT/BHsWWOAuthKQ/1lBgESSqYqAWZEYyTdGXyFAHpmewwWL2Iz6ErIzkj4aHbuc6/cGSsE6ZY+pBO04Cg==} + '@prisma/client@6.10.1': + resolution: {integrity: sha512-Re4pMlcUsQsUTAYMK7EJ4Bw2kg3WfZAAlr8GjORJaK4VOP6LxRQUQ1TuLnxcF42XqGkWQ36q5CQF1yVadANQ6w==} engines: {node: '>=18.18'} peerDependencies: prisma: '*' @@ -1210,38 +1101,38 @@ packages: typescript: optional: true - '@prisma/config@6.6.0': - resolution: {integrity: sha512-d8FlXRHsx72RbN8nA2QCRORNv5AcUnPXgtPvwhXmYkQSMF/j9cKaJg+9VcUzBRXGy9QBckNzEQDEJZdEOZ+ubA==} + '@prisma/config@6.10.1': + resolution: {integrity: sha512-kz4/bnqrOrzWo8KzYguN0cden4CzLJJ+2VSpKtF8utHS3l1JS0Lhv6BLwpOX6X9yNreTbZQZwewb+/BMPDCIYQ==} - '@prisma/debug@6.6.0': - resolution: {integrity: sha512-DL6n4IKlW5k2LEXzpN60SQ1kP/F6fqaCgU/McgaYsxSf43GZ8lwtmXLke9efS+L1uGmrhtBUP4npV/QKF8s2ZQ==} + '@prisma/debug@6.10.1': + resolution: {integrity: sha512-k2YT53cWxv9OLjW4zSYTZ6Z7j0gPfCzcr2Mj99qsuvlxr8WAKSZ2NcSR0zLf/mP4oxnYG842IMj3utTgcd7CaA==} - '@prisma/dmmf@6.6.0': - resolution: {integrity: sha512-2LoSX0ZVwIiKck5wMCVxeGg9K9z6CULB8xyTbLF3YTvuhOp+fQozelUphaGZA9jN4MF58z6TfUXIMMPVwtxjbQ==} + '@prisma/dmmf@6.10.1': + resolution: {integrity: sha512-6EoSlgYx3OX7nLOcDFFYBD9NfgsUsE7PAz4JIPNyAmd5Vy7DtJO2iPx29iQ0mlyLi29CNA2jpiUcK+Y5356+Sw==} - '@prisma/engines-version@6.6.0-53.f676762280b54cd07c770017ed3711ddde35f37a': - resolution: {integrity: sha512-JzRaQ5Em1fuEcbR3nUsMNYaIYrOT1iMheenjCvzZblJcjv/3JIuxXN7RCNT5i6lRkLodW5ojCGhR7n5yvnNKrw==} + '@prisma/engines-version@6.10.1-1.9b628578b3b7cae625e8c927178f15a170e74a9c': + resolution: {integrity: sha512-ZJFTsEqapiTYVzXya6TUKYDFnSWCNegfUiG5ik9fleQva5Sk3DNyyUi7X1+0ZxWFHwHDr6BZV5Vm+iwP+LlciA==} - '@prisma/engines@6.6.0': - resolution: {integrity: sha512-nC0IV4NHh7500cozD1fBoTwTD1ydJERndreIjpZr/S3mno3P6tm8qnXmIND5SwUkibNeSJMpgl4gAnlqJ/gVlg==} + '@prisma/engines@6.10.1': + resolution: {integrity: sha512-Q07P5rS2iPwk2IQr/rUQJ42tHjpPyFcbiH7PXZlV81Ryr9NYIgdxcUrwgVOWVm5T7ap02C0dNd1dpnNcSWig8A==} - '@prisma/fetch-engine@6.6.0': - resolution: {integrity: sha512-Ohfo8gKp05LFLZaBlPUApM0M7k43a0jmo86YY35u1/4t+vuQH9mRGU7jGwVzGFY3v+9edeb/cowb1oG4buM1yw==} + '@prisma/fetch-engine@6.10.1': + resolution: {integrity: sha512-clmbG/Jgmrc/n6Y77QcBmAUlq9LrwI9Dbgy4pq5jeEARBpRCWJDJ7PWW1P8p0LfFU0i5fsyO7FqRzRB8mkdS4g==} - '@prisma/generator-helper@6.6.0': - resolution: {integrity: sha512-pKxkyb+tCb5vPaMkK6SdHkK5qkQIPDSw1T3BAfl6XWDwDwnP4f5CsJ6/VaBhtvqZ5bqfUQLvT+slaGrJQXiw9g==} + '@prisma/generator-helper@6.10.1': + resolution: {integrity: sha512-BAKK8/kCiiM/1VMJBIEIhF8L9wWtE2YtSfrd9NwYG9DcKmAVjZ7ywIIX7hcjiVF+FTjHio6N6PPtXZ3go/M1LA==} - '@prisma/generator@6.6.0': - resolution: {integrity: sha512-UO1PFYd8Qh0LZoN/9wwAukgoDs8chLqGPho7ZBZejVKv1UpaEJvxgwS+LwlmkQ3Ay0GdsL6mjN8QxEi91xIomQ==} + '@prisma/generator@6.10.1': + resolution: {integrity: sha512-g0mmq9RYHnsf+pqGfz13AMeX0mV0+v/UXjNoOjYeDTEBLtwYRV2GSQWn2g9KxamTXCO6R7n4UNzDezm9GP9WeA==} - '@prisma/get-platform@6.6.0': - resolution: {integrity: sha512-3qCwmnT4Jh5WCGUrkWcc6VZaw0JY7eWN175/pcb5Z6FiLZZ3ygY93UX0WuV41bG51a6JN/oBH0uywJ90Y+V5eA==} + '@prisma/get-platform@6.10.1': + resolution: {integrity: sha512-4CY5ndKylcsce9Mv+VWp5obbR2/86SHOLVV053pwIkhVtT9C9A83yqiqI/5kJM9T1v1u1qco/bYjDKycmei9HA==} - '@pubkey-protocol/anchor@1.0.2': - resolution: {integrity: sha512-wJy1Uw/4SE2ghqBkti5L5PC2Px+NUBvbKoqEBmeB1xiAIBCtGmMI5Lkd4i2rZmoM64Rrf7cnWe4WXEToeV5KuA==} + '@pubkey-protocol/anchor@1.0.5': + resolution: {integrity: sha512-zw0xpGklg1m+5ZjtxbdEwlOMmC+L5OFqPxqg5Gk7FQBg0kCDodpX7IR8TtWnDLzG0ShoC8D5hQhZsHq0wmSk1Q==} - '@pubkey-protocol/sdk@1.0.2': - resolution: {integrity: sha512-cXwxtqtDLFRs4n7Kf/59MJZCtWO7AfYKb2oWjQ9N0Qu2KWDoiA5Jsd4Nh4haW9377GbIm+3bIZGIebj2KU3WmA==} + '@pubkey-protocol/sdk@1.0.5': + resolution: {integrity: sha512-bLVuxnS27T7EU+B8QE/dg/J6idPOSmIVEk9gssyWq6MsDqHJo7OTsDHeZYlTN1J+S1rODm+cNXXOHJEymz3eYQ==} '@pubkeyapp/wallet-adapter-mantine-ui@2.4.3': resolution: {integrity: sha512-U1iKFYg4A2DgCtMgRVi+6EELKx2jUjb+1UFrYK0azBrOpO7lbqTgnOSOAhRClqs2ZS65R2QrsupfUvialacJ3Q==} @@ -1258,8 +1149,8 @@ packages: '@radix-ui/primitive@1.1.2': resolution: {integrity: sha512-XnbHrrprsNqZKQhStrSwgRUQzoCI1glLzdw79xiZPoofhGICeZRSQ3dIxAKH1gb3OHfNf4d6f+vAv3kil2eggA==} - '@radix-ui/react-accordion@1.2.4': - resolution: {integrity: sha512-SGCxlSBaMvEzDROzyZjsVNzu9XY5E28B3k8jOENyrz6csOv/pG1eHyYfLJai1n9tRjwG61coXDhfpgtxKxUv5g==} + '@radix-ui/react-accordion@1.2.11': + resolution: {integrity: sha512-l3W5D54emV2ues7jjeG1xcyN7S3jnK3zE2zHqgn0CmMsy9lNJwmgcrmaxS+7ipw15FAivzKNzH3d5EcGoFKw0A==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -1271,8 +1162,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-arrow@1.1.3': - resolution: {integrity: sha512-2dvVU4jva0qkNZH6HHWuSz5FN5GeU5tymvCgutF8WaXz9WnD1NgUhy73cqzkjkN4Zkn8lfTPv5JIfrC221W+Nw==} + '@radix-ui/react-arrow@1.1.7': + resolution: {integrity: sha512-F+M1tLhO+mlQaOWspE8Wstg+z6PwxwRd8oQ8IXceWz92kfAmalTRf0EjrouQeo7QssEPfCn05B4Ihs1K9WQ/7w==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -1284,8 +1175,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-collapsible@1.1.4': - resolution: {integrity: sha512-u7LCw1EYInQtBNLGjm9nZ89S/4GcvX1UR5XbekEgnQae2Hkpq39ycJ1OhdeN1/JDfVNG91kWaWoest127TaEKQ==} + '@radix-ui/react-collapsible@1.1.11': + resolution: {integrity: sha512-2qrRsVGSCYasSz1RFOorXwl0H7g7J1frQtgpQgYrt+MOidtPAINHn9CPovQXb83r8ahapdx3Tu0fa/pdFFSdPg==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -1297,8 +1188,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-collection@1.1.3': - resolution: {integrity: sha512-mM2pxoQw5HJ49rkzwOs7Y6J4oYH22wS8BfK2/bBxROlI4xuR0c4jEenQP63LlTlDkO6Buj2Vt+QYAYcOgqtrXA==} + '@radix-ui/react-collection@1.1.7': + resolution: {integrity: sha512-Fh9rGN0MoI4ZFUNyfFVNU4y9LUz93u9/0K+yLgA2bwRojxM8JU1DyvvMBabnZPBgMWREAJvU2jjVzq+LrFUglw==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -1337,8 +1228,8 @@ packages: '@types/react': optional: true - '@radix-ui/react-dismissable-layer@1.1.6': - resolution: {integrity: sha512-7gpgMT2gyKym9Jz2ZhlRXSg2y6cNQIK8d/cqBZ0RBCaps8pFryCWXiUKI+uHGFrhMrbGUP7U6PWgiXzIxoyF3Q==} + '@radix-ui/react-dismissable-layer@1.1.10': + resolution: {integrity: sha512-IM1zzRV4W3HtVgftdQiiOmA0AdJlCtMLe00FXaHwgt3rAnNsIyDqshvkIW3hj/iu5hu8ERP7KIYki6NkqDxAwQ==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -1359,8 +1250,8 @@ packages: '@types/react': optional: true - '@radix-ui/react-focus-scope@1.1.3': - resolution: {integrity: sha512-4XaDlq0bPt7oJwR+0k0clCiCO/7lO7NKZTAaJBYxDNQT/vj4ig0/UvctrRscZaFREpRvUTkpKR96ov1e6jptQg==} + '@radix-ui/react-focus-scope@1.1.7': + resolution: {integrity: sha512-t2ODlkXBQyn7jkl6TNaw/MtVEVvIGelJDCG41Okq/KwUsJBwQ4XVZsHAVUkK4mBv3ewiAS3PGuUWuY2BoK4ZUw==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -1381,8 +1272,8 @@ packages: '@types/react': optional: true - '@radix-ui/react-popper@1.2.3': - resolution: {integrity: sha512-iNb9LYUMkne9zIahukgQmHlSBp9XWGeQQ7FvUGNk45ywzOb6kQa+Ca38OphXlWDiKvyneo9S+KSJsLfLt8812A==} + '@radix-ui/react-popper@1.2.7': + resolution: {integrity: sha512-IUFAccz1JyKcf/RjB552PlWwxjeCJB8/4KxT7EhBHOJM+mN7LdW+B3kacJXILm32xawcMMjb2i0cIZpo+f9kiQ==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -1394,8 +1285,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-portal@1.1.5': - resolution: {integrity: sha512-ps/67ZqsFm+Mb6lSPJpfhRLrVL2i2fntgCmGMqqth4eaGUf+knAuuRtWVJrNjUhExgmdRqftSgzpf0DF0n6yXA==} + '@radix-ui/react-portal@1.1.9': + resolution: {integrity: sha512-bpIxvq03if6UNwXZ+HTK71JLh4APvnXntDc6XOX8UVq4XQOVl7lwok0AvIl+b8zgCw3fSaVTZMpAPPagXbKmHQ==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -1407,8 +1298,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-presence@1.1.3': - resolution: {integrity: sha512-IrVLIhskYhH3nLvtcBLQFZr61tBG7wx7O3kEmdzcYwRGAEBmBicGGL7ATzNgruYJ3xBTbuzEEq9OXJM3PAX3tA==} + '@radix-ui/react-presence@1.1.4': + resolution: {integrity: sha512-ueDqRbdc4/bkaQT3GIpLQssRlFgWaL/U2z/S31qRwwLWoxHLgry3SIfCwhxeQNbirEUXFa+lq3RL3oBYXtcmIA==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -1420,8 +1311,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-primitive@2.0.3': - resolution: {integrity: sha512-Pf/t/GkndH7CQ8wE2hbkXA+WyZ83fhQQn5DDmwDiDo6AwN/fhaH8oqZ0jRjMrO2iaMhDi6P1HRx6AZwyMinY1g==} + '@radix-ui/react-primitive@2.1.3': + resolution: {integrity: sha512-m9gTwRkhy2lvCPe6QJp4d3G1TYEUHn/FzJUtq9MjH46an1wJU+GdoGC5VLof8RX8Ft/DlpshApkhswDLZzHIcQ==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -1433,8 +1324,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-select@2.1.7': - resolution: {integrity: sha512-exzGIRtc7S8EIM2KjFg+7lJZsH7O7tpaBaJbBNVDnOZNhtoQ2iV+iSNfi2Wth0m6h3trJkMVvzAehB3c6xj/3Q==} + '@radix-ui/react-select@2.2.5': + resolution: {integrity: sha512-HnMTdXEVuuyzx63ME0ut4+sEMYW6oouHWNGUZc7ddvUWIcfCva/AMoqEW/3wnEllriMWBa0RHspCYnfCWJQYmA==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -1446,8 +1337,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-slot@1.2.0': - resolution: {integrity: sha512-ujc+V6r0HNDviYqIK3rW4ffgYiZ8g5DEHrGJVk4x7kTlLXRDILnKX9vAUYeIsLOoDpDJ0ujpqMkjH4w2ofuo6w==} + '@radix-ui/react-slot@1.2.3': + resolution: {integrity: sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==} peerDependencies: '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc @@ -1464,8 +1355,17 @@ packages: '@types/react': optional: true - '@radix-ui/react-use-controllable-state@1.1.1': - resolution: {integrity: sha512-YnEXIy8/ga01Y1PN0VfaNH//MhA91JlEGVBDxDzROqwrAtG5Yr2QGEPz8A/rJA3C7ZAHryOYGaUv8fLSW2H/mg==} + '@radix-ui/react-use-controllable-state@1.2.2': + resolution: {integrity: sha512-BjasUjixPFdS+NKkypcyyN5Pmg83Olst0+c6vGov0diwTEo6mgdqVR6hxcEgFuh4QrAs7Rc+9KuGJ9TVCj0Zzg==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-use-effect-event@0.0.2': + resolution: {integrity: sha512-Qp8WbZOBe+blgpuUT+lw2xheLP8q0oatc9UpmiemEICxGvFLYmHm9QowVZGHtJlGbS6A6yJ3iViad/2cVjnOiA==} peerDependencies: '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc @@ -1518,8 +1418,8 @@ packages: '@types/react': optional: true - '@radix-ui/react-visually-hidden@1.1.3': - resolution: {integrity: sha512-oXSF3ZQRd5fvomd9hmUCb2EHSZbPp3ZSHAHJJU/DlF9XoFkJBBW8RHU/E8WEH+RbSfJd/QFA0sl8ClJXknBwHQ==} + '@radix-ui/react-visually-hidden@1.2.3': + resolution: {integrity: sha512-pzJq12tEaaIhqjbzpCuv/OypJY/BPavOofm+dbab+MHLajy277+1lLm6JFcGgF5eskJ6mquGirhXY2GD/8u8Ug==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -1588,13 +1488,13 @@ packages: '@types/react': optional: true - '@react-router/dev@7.5.0': - resolution: {integrity: sha512-BSxuuMtm2YSwOzNTz9PJMFQzC33CzS6e6FXI/s/ZkcZIuYkujssQVG5q5nAuriKK17/T1xFLNeSoXVNI/+zCLA==} + '@react-router/dev@7.6.2': + resolution: {integrity: sha512-BuG83Ug2C/P+zMYErTz/KKuXoxbOefh3oR66r13XWG9txwooC9nt2QDt2u8yt7Eo/9BATnx+TmXnOHEWqMyB8w==} engines: {node: '>=20.0.0'} hasBin: true peerDependencies: - '@react-router/serve': ^7.5.0 - react-router: ^7.5.0 + '@react-router/serve': ^7.6.2 + react-router: ^7.6.2 typescript: ^5.1.0 vite: ^5.1.0 || ^6.0.0 wrangler: ^3.28.2 || ^4.0.0 @@ -1606,131 +1506,131 @@ packages: wrangler: optional: true - '@react-router/express@7.5.0': - resolution: {integrity: sha512-GWlvMn6ap2Fcm4KvL73dR0ue3yUUSKYVPVhJCWClYmJYUJz1Pb67zRNdKAGgKRypSB8dZJloZkxq21q8wl1KEQ==} + '@react-router/express@7.6.2': + resolution: {integrity: sha512-b1XwP2ZknWG6yNl1aEAJ+yx0Alk85+iLk5y521MOhh2lCKPNyFOuX4Gw8hI3E4IXgDEPqiZ+lipmrIb7XkLNZQ==} engines: {node: '>=20.0.0'} peerDependencies: express: ^4.17.1 || ^5 - react-router: 7.5.0 + react-router: 7.6.2 typescript: ^5.1.0 peerDependenciesMeta: typescript: optional: true - '@react-router/node@7.5.0': - resolution: {integrity: sha512-jvTledQVx8BqHt2hhkW0LxPiYsAqrNGRI1rjttr0fcynu1lQFU3HzKtZx9z9e+0fyqTKtwOOnaMIgGqdlpFPNQ==} + '@react-router/node@7.6.2': + resolution: {integrity: sha512-KrxfnfJVU1b+020VKemkxpc7ssItsAL8MOJthcoGwPyKwrgovdwc+8NKJUqw3P7yk/Si0ZmVh9QYAzi9qF96dg==} engines: {node: '>=20.0.0'} peerDependencies: - react-router: 7.5.0 + react-router: 7.6.2 typescript: ^5.1.0 peerDependenciesMeta: typescript: optional: true - '@react-router/serve@7.5.0': - resolution: {integrity: sha512-0ifLtFCcuhW57oPNFvdL0rA+xVuICVV8T/tfXm+qjgeTl/I72y+Y5rYrIb2MqIseT8OMQADRKA3ERRwKFFrYdw==} + '@react-router/serve@7.6.2': + resolution: {integrity: sha512-VTdvB8kdZEtYeQML9TFJiIZnPefv94LfmLx5qQ0SJSesel/hQolnfpWEkLJ9WtBO+/10CulAvg6y5UwiceUFTQ==} engines: {node: '>=20.0.0'} hasBin: true peerDependencies: - react-router: 7.5.0 + react-router: 7.6.2 - '@rollup/rollup-android-arm-eabi@4.40.0': - resolution: {integrity: sha512-+Fbls/diZ0RDerhE8kyC6hjADCXA1K4yVNlH0EYfd2XjyH0UGgzaQ8MlT0pCXAThfxv3QUAczHaL+qSv1E4/Cg==} + '@rollup/rollup-android-arm-eabi@4.44.0': + resolution: {integrity: sha512-xEiEE5oDW6tK4jXCAyliuntGR+amEMO7HLtdSshVuhFnKTYoeYMyXQK7pLouAJJj5KHdwdn87bfHAR2nSdNAUA==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.40.0': - resolution: {integrity: sha512-PPA6aEEsTPRz+/4xxAmaoWDqh67N7wFbgFUJGMnanCFs0TV99M0M8QhhaSCks+n6EbQoFvLQgYOGXxlMGQe/6w==} + '@rollup/rollup-android-arm64@4.44.0': + resolution: {integrity: sha512-uNSk/TgvMbskcHxXYHzqwiyBlJ/lGcv8DaUfcnNwict8ba9GTTNxfn3/FAoFZYgkaXXAdrAA+SLyKplyi349Jw==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.40.0': - resolution: {integrity: sha512-GwYOcOakYHdfnjjKwqpTGgn5a6cUX7+Ra2HeNj/GdXvO2VJOOXCiYYlRFU4CubFM67EhbmzLOmACKEfvp3J1kQ==} + '@rollup/rollup-darwin-arm64@4.44.0': + resolution: {integrity: sha512-VGF3wy0Eq1gcEIkSCr8Ke03CWT+Pm2yveKLaDvq51pPpZza3JX/ClxXOCmTYYq3us5MvEuNRTaeyFThCKRQhOA==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.40.0': - resolution: {integrity: sha512-CoLEGJ+2eheqD9KBSxmma6ld01czS52Iw0e2qMZNpPDlf7Z9mj8xmMemxEucinev4LgHalDPczMyxzbq+Q+EtA==} + '@rollup/rollup-darwin-x64@4.44.0': + resolution: {integrity: sha512-fBkyrDhwquRvrTxSGH/qqt3/T0w5Rg0L7ZIDypvBPc1/gzjJle6acCpZ36blwuwcKD/u6oCE/sRWlUAcxLWQbQ==} cpu: [x64] os: [darwin] - '@rollup/rollup-freebsd-arm64@4.40.0': - resolution: {integrity: sha512-r7yGiS4HN/kibvESzmrOB/PxKMhPTlz+FcGvoUIKYoTyGd5toHp48g1uZy1o1xQvybwwpqpe010JrcGG2s5nkg==} + '@rollup/rollup-freebsd-arm64@4.44.0': + resolution: {integrity: sha512-u5AZzdQJYJXByB8giQ+r4VyfZP+walV+xHWdaFx/1VxsOn6eWJhK2Vl2eElvDJFKQBo/hcYIBg/jaKS8ZmKeNQ==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.40.0': - resolution: {integrity: sha512-mVDxzlf0oLzV3oZOr0SMJ0lSDd3xC4CmnWJ8Val8isp9jRGl5Dq//LLDSPFrasS7pSm6m5xAcKaw3sHXhBjoRw==} + '@rollup/rollup-freebsd-x64@4.44.0': + resolution: {integrity: sha512-qC0kS48c/s3EtdArkimctY7h3nHicQeEUdjJzYVJYR3ct3kWSafmn6jkNCA8InbUdge6PVx6keqjk5lVGJf99g==} cpu: [x64] os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.40.0': - resolution: {integrity: sha512-y/qUMOpJxBMy8xCXD++jeu8t7kzjlOCkoxxajL58G62PJGBZVl/Gwpm7JK9+YvlB701rcQTzjUZ1JgUoPTnoQA==} + '@rollup/rollup-linux-arm-gnueabihf@4.44.0': + resolution: {integrity: sha512-x+e/Z9H0RAWckn4V2OZZl6EmV0L2diuX3QB0uM1r6BvhUIv6xBPL5mrAX2E3e8N8rEHVPwFfz/ETUbV4oW9+lQ==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.40.0': - resolution: {integrity: sha512-GoCsPibtVdJFPv/BOIvBKO/XmwZLwaNWdyD8TKlXuqp0veo2sHE+A/vpMQ5iSArRUz/uaoj4h5S6Pn0+PdhRjg==} + '@rollup/rollup-linux-arm-musleabihf@4.44.0': + resolution: {integrity: sha512-1exwiBFf4PU/8HvI8s80icyCcnAIB86MCBdst51fwFmH5dyeoWVPVgmQPcKrMtBQ0W5pAs7jBCWuRXgEpRzSCg==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.40.0': - resolution: {integrity: sha512-L5ZLphTjjAD9leJzSLI7rr8fNqJMlGDKlazW2tX4IUF9P7R5TMQPElpH82Q7eNIDQnQlAyiNVfRPfP2vM5Avvg==} + '@rollup/rollup-linux-arm64-gnu@4.44.0': + resolution: {integrity: sha512-ZTR2mxBHb4tK4wGf9b8SYg0Y6KQPjGpR4UWwTFdnmjB4qRtoATZ5dWn3KsDwGa5Z2ZBOE7K52L36J9LueKBdOQ==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.40.0': - resolution: {integrity: sha512-ATZvCRGCDtv1Y4gpDIXsS+wfFeFuLwVxyUBSLawjgXK2tRE6fnsQEkE4csQQYWlBlsFztRzCnBvWVfcae/1qxQ==} + '@rollup/rollup-linux-arm64-musl@4.44.0': + resolution: {integrity: sha512-GFWfAhVhWGd4r6UxmnKRTBwP1qmModHtd5gkraeW2G490BpFOZkFtem8yuX2NyafIP/mGpRJgTJ2PwohQkUY/Q==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-loongarch64-gnu@4.40.0': - resolution: {integrity: sha512-wG9e2XtIhd++QugU5MD9i7OnpaVb08ji3P1y/hNbxrQ3sYEelKJOq1UJ5dXczeo6Hj2rfDEL5GdtkMSVLa/AOg==} + '@rollup/rollup-linux-loongarch64-gnu@4.44.0': + resolution: {integrity: sha512-xw+FTGcov/ejdusVOqKgMGW3c4+AgqrfvzWEVXcNP6zq2ue+lsYUgJ+5Rtn/OTJf7e2CbgTFvzLW2j0YAtj0Gg==} cpu: [loong64] os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.40.0': - resolution: {integrity: sha512-vgXfWmj0f3jAUvC7TZSU/m/cOE558ILWDzS7jBhiCAFpY2WEBn5jqgbqvmzlMjtp8KlLcBlXVD2mkTSEQE6Ixw==} + '@rollup/rollup-linux-powerpc64le-gnu@4.44.0': + resolution: {integrity: sha512-bKGibTr9IdF0zr21kMvkZT4K6NV+jjRnBoVMt2uNMG0BYWm3qOVmYnXKzx7UhwrviKnmK46IKMByMgvpdQlyJQ==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.40.0': - resolution: {integrity: sha512-uJkYTugqtPZBS3Z136arevt/FsKTF/J9dEMTX/cwR7lsAW4bShzI2R0pJVw+hcBTWF4dxVckYh72Hk3/hWNKvA==} + '@rollup/rollup-linux-riscv64-gnu@4.44.0': + resolution: {integrity: sha512-vV3cL48U5kDaKZtXrti12YRa7TyxgKAIDoYdqSIOMOFBXqFj2XbChHAtXquEn2+n78ciFgr4KIqEbydEGPxXgA==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-riscv64-musl@4.40.0': - resolution: {integrity: sha512-rKmSj6EXQRnhSkE22+WvrqOqRtk733x3p5sWpZilhmjnkHkpeCgWsFFo0dGnUGeA+OZjRl3+VYq+HyCOEuwcxQ==} + '@rollup/rollup-linux-riscv64-musl@4.44.0': + resolution: {integrity: sha512-TDKO8KlHJuvTEdfw5YYFBjhFts2TR0VpZsnLLSYmB7AaohJhM8ctDSdDnUGq77hUh4m/djRafw+9zQpkOanE2Q==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.40.0': - resolution: {integrity: sha512-SpnYlAfKPOoVsQqmTFJ0usx0z84bzGOS9anAC0AZ3rdSo3snecihbhFTlJZ8XMwzqAcodjFU4+/SM311dqE5Sw==} + '@rollup/rollup-linux-s390x-gnu@4.44.0': + resolution: {integrity: sha512-8541GEyktXaw4lvnGp9m84KENcxInhAt6vPWJ9RodsB/iGjHoMB2Pp5MVBCiKIRxrxzJhGCxmNzdu+oDQ7kwRA==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.40.0': - resolution: {integrity: sha512-RcDGMtqF9EFN8i2RYN2W+64CdHruJ5rPqrlYw+cgM3uOVPSsnAQps7cpjXe9be/yDp8UC7VLoCoKC8J3Kn2FkQ==} + '@rollup/rollup-linux-x64-gnu@4.44.0': + resolution: {integrity: sha512-iUVJc3c0o8l9Sa/qlDL2Z9UP92UZZW1+EmQ4xfjTc1akr0iUFZNfxrXJ/R1T90h/ILm9iXEY6+iPrmYB3pXKjw==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.40.0': - resolution: {integrity: sha512-HZvjpiUmSNx5zFgwtQAV1GaGazT2RWvqeDi0hV+AtC8unqqDSsaFjPxfsO6qPtKRRg25SisACWnJ37Yio8ttaw==} + '@rollup/rollup-linux-x64-musl@4.44.0': + resolution: {integrity: sha512-PQUobbhLTQT5yz/SPg116VJBgz+XOtXt8D1ck+sfJJhuEsMj2jSej5yTdp8CvWBSceu+WW+ibVL6dm0ptG5fcA==} cpu: [x64] os: [linux] - '@rollup/rollup-win32-arm64-msvc@4.40.0': - resolution: {integrity: sha512-UtZQQI5k/b8d7d3i9AZmA/t+Q4tk3hOC0tMOMSq2GlMYOfxbesxG4mJSeDp0EHs30N9bsfwUvs3zF4v/RzOeTQ==} + '@rollup/rollup-win32-arm64-msvc@4.44.0': + resolution: {integrity: sha512-M0CpcHf8TWn+4oTxJfh7LQuTuaYeXGbk0eageVjQCKzYLsajWS/lFC94qlRqOlyC2KvRT90ZrfXULYmukeIy7w==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.40.0': - resolution: {integrity: sha512-+m03kvI2f5syIqHXCZLPVYplP8pQch9JHyXKZ3AGMKlg8dCyr2PKHjwRLiW53LTrN/Nc3EqHOKxUxzoSPdKddA==} + '@rollup/rollup-win32-ia32-msvc@4.44.0': + resolution: {integrity: sha512-3XJ0NQtMAXTWFW8FqZKcw3gOQwBtVWP/u8TpHP3CRPXD7Pd6s8lLdH3sHWh8vqKCyyiI8xW5ltJScQmBU9j7WA==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.40.0': - resolution: {integrity: sha512-lpPE1cLfP5oPzVjKMx10pgBmKELQnFJXHgvtHCtuJWOv8MxqdEIMNtgHgBFf7Ea2/7EuVwa9fodWUfXAlXZLZQ==} + '@rollup/rollup-win32-x64-msvc@4.44.0': + resolution: {integrity: sha512-Q2Mgwt+D8hd5FIPUuPDsvPR7Bguza6yTkJxspDGkZj7tBRn2y4KSWYuIXpftFSjBra76TbKerCV7rgFPQrn+wQ==} cpu: [x64] os: [win32] @@ -1746,22 +1646,65 @@ packages: '@solana-developers/helpers@2.8.1': resolution: {integrity: sha512-xvoOj+ewL18+h6fMrXp1vTss0WBLnhQHnBb6mMPfEQE32w0THlxm8OPXNUY8g4tREX7ugU5cDEP7c2teye1Z7A==} - '@solana-mobile/mobile-wallet-adapter-protocol-web3js@2.1.5': - resolution: {integrity: sha512-2EQpnlnZSlp9galzYP0saHBLTQrI8PMILMjDbu9VzNx97Q3M6tXhgIOppyshp0Wj4AR9SMteoxtLHeplz6U/Ww==} + '@solana-mobile/mobile-wallet-adapter-protocol-web3js@2.2.2': + resolution: {integrity: sha512-XmLJrEdkAJ3CBV+bkYDKSBqF6QfjGTIeX+tFGPcwcc9rQ68sE1MPhpUKV9ehRwDLrZXcin2UDMOpWB/S6FJWBQ==} peerDependencies: '@solana/web3.js': ^1.58.0 - '@solana-mobile/mobile-wallet-adapter-protocol@2.1.5': - resolution: {integrity: sha512-Nn+3cmM2uGmK38XzQY0C3Ic4orGi7olE67n3sjTVi1qiWNjLbZ0mvYAXoZnHC3vZMBQvgjfUWW69DZrMgn7Euw==} + '@solana-mobile/mobile-wallet-adapter-protocol@2.2.2': + resolution: {integrity: sha512-ZJVwPVXmIfoqEhPRbpj/atnyIkcxOrJcLOqIQSaRfgmGGhCAcXmC8dTxlrtjVisxkZviXEshmBVxvOD/kqLQOw==} peerDependencies: - '@solana/web3.js': ^1.58.0 react-native: '>0.69' - '@solana-mobile/wallet-adapter-mobile@2.1.5': - resolution: {integrity: sha512-gCcCnC/9HtBS1v1P4/rs/1Ait73I0tqd0XELaodZf+Or5Y4nOk2G1yhpzLNb+SCHJ1eO1dPm+7Cyf6XxRAMacA==} + '@solana-mobile/wallet-adapter-mobile@2.2.2': + resolution: {integrity: sha512-4whHagJRduFDWUjLi1kQc4k7LKPjnDn+mLigAd/cv9iPjk0NYNtQOqdGMT+5ENRm3q1XX3DO5jBVd++ckDPJvw==} + peerDependencies: + '@solana/web3.js': ^1.58.0 + + '@solana-mobile/wallet-standard-mobile@0.2.0': + resolution: {integrity: sha512-vAv95mID0682O8wLMzsbnMzfwL8EBtJVUOQiywjnwuTxMlYhSdjp0jJw05Otm/j9N1lbkZ9tbgANGHHL8wRmjw==} peerDependencies: '@solana/web3.js': ^1.58.0 + '@solana-program/address-lookup-table@0.7.0': + resolution: {integrity: sha512-dzCeIO5LtiK3bIg0AwO+TPeGURjSG2BKt0c4FRx7105AgLy7uzTktpUzUj6NXAK9SzbirI8HyvHUvw1uvL8O9A==} + peerDependencies: + '@solana/kit': ^2.1.0 + + '@solana-program/compute-budget@0.8.0': + resolution: {integrity: sha512-qPKxdxaEsFxebZ4K5RPuy7VQIm/tfJLa1+Nlt3KNA8EYQkz9Xm8htdoEaXVrer9kpgzzp9R3I3Bh6omwCM06tQ==} + peerDependencies: + '@solana/kit': ^2.1.0 + + '@solana-program/system@0.7.0': + resolution: {integrity: sha512-FKTBsKHpvHHNc1ATRm7SlC5nF/VdJtOSjldhcyfMN9R7xo712Mo2jHIzvBgn8zQO5Kg0DcWuKB7268Kv1ocicw==} + peerDependencies: + '@solana/kit': ^2.1.0 + + '@solana-program/token-2022@0.4.2': + resolution: {integrity: sha512-zIpR5t4s9qEU3hZKupzIBxJ6nUV5/UVyIT400tu9vT1HMs5JHxaTTsb5GUhYjiiTvNwU0MQavbwc4Dl29L0Xvw==} + peerDependencies: + '@solana/kit': ^2.1.0 + '@solana/sysvars': ^2.1.0 + + '@solana/accounts@2.1.1': + resolution: {integrity: sha512-Q9mG0o/6oyiUSw1CXCkG50TWlYiODJr3ZilEDLIyXpYJzOstRZM4XOzbRACveX4PXFoufPzpR1sSVK6qfcUUCw==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: '>=5.3.3' + + '@solana/addresses@2.1.1': + resolution: {integrity: sha512-yX6+brBXFmirxXDJCBDNKDYbGZHMZHaZS4NJWZs31DTe5To3Ky3Y9g3wFEGAX242kfNyJcgg5OeoBuZ7vdFycQ==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: '>=5.3.3' + + '@solana/assertions@2.1.1': + resolution: {integrity: sha512-ln6dXkliyb9ybqLGFf5Gn+LJaPZGmer9KloIFfHiiSfYFdoAqOu6+pVY+323SKWXHG+hHl9VkwuZYpSp02OroA==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: '>=5.3.3' + '@solana/buffer-layout-utils@0.2.0': resolution: {integrity: sha512-szG4sxgJGktbuZYDg2FfNmkMi0DYQoVjN2h7ta1W1hPrwzarcFLBq9UpX1UjNXsNpT9dn+chgprtWGioUAr4/g==} engines: {node: '>= 10'} @@ -1775,38 +1718,209 @@ packages: peerDependencies: typescript: '>=5' + '@solana/codecs-core@2.1.1': + resolution: {integrity: sha512-iPQW3UZ2Vi7QFBo2r9tw0NubtH8EdrhhmZulx6lC8V5a+qjaxovtM/q/UW2BTNpqqHLfO0tIcLyBLrNH4HTWPg==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: '>=5.3.3' + '@solana/codecs-data-structures@2.0.0-rc.1': resolution: {integrity: sha512-rinCv0RrAVJ9rE/rmaibWJQxMwC5lSaORSZuwjopSUE6T0nb/MVg6Z1siNCXhh/HFTOg0l8bNvZHgBcN/yvXog==} peerDependencies: typescript: '>=5' + '@solana/codecs-data-structures@2.1.1': + resolution: {integrity: sha512-OcR7FIhWDFqg6gEslbs2GVKeDstGcSDpkZo9SeV4bm2RLd1EZfxGhWW+yHZfHqOZiIkw9w+aY45bFgKrsLQmFw==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: '>=5.3.3' + '@solana/codecs-numbers@2.0.0-rc.1': resolution: {integrity: sha512-J5i5mOkvukXn8E3Z7sGIPxsThRCgSdgTWJDQeZvucQ9PT6Y3HiVXJ0pcWiOWAoQ3RX8e/f4I3IC+wE6pZiJzDQ==} peerDependencies: typescript: '>=5' + '@solana/codecs-numbers@2.1.1': + resolution: {integrity: sha512-m20IUPJhPUmPkHSlZ2iMAjJ7PaYUvlMtFhCQYzm9BEBSI6OCvXTG3GAPpAnSGRBfg5y+QNqqmKn4QHU3B6zzCQ==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: '>=5.3.3' + '@solana/codecs-strings@2.0.0-rc.1': resolution: {integrity: sha512-9/wPhw8TbGRTt6mHC4Zz1RqOnuPTqq1Nb4EyuvpZ39GW6O2t2Q7Q0XxiB3+BdoEjwA2XgPw6e2iRfvYgqty44g==} peerDependencies: fastestsmallesttextencoderdecoder: ^1.0.22 typescript: '>=5' + '@solana/codecs-strings@2.1.1': + resolution: {integrity: sha512-uhj+A7eT6IJn4nuoX8jDdvZa7pjyZyN+k64EZ8+aUtJGt5Ft4NjRM8Jl5LljwYBWKQCgouVuigZHtTO2yAWExA==} + engines: {node: '>=20.18.0'} + peerDependencies: + fastestsmallesttextencoderdecoder: ^1.0.22 + typescript: '>=5.3.3' + '@solana/codecs@2.0.0-rc.1': resolution: {integrity: sha512-qxoR7VybNJixV51L0G1RD2boZTcxmwUWnKCaJJExQ5qNKwbpSyDdWfFJfM5JhGyKe9DnPVOZB+JHWXnpbZBqrQ==} peerDependencies: typescript: '>=5' + '@solana/codecs@2.1.1': + resolution: {integrity: sha512-89Fv22fZ5dNiXjOKh6I3U1D/lVO/dF/cPHexdiqjS5k5R5uKeK3506rhcnc4ciawQAoOkDwHzW+HitUumF2PJg==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: '>=5.3.3' + '@solana/errors@2.0.0-rc.1': resolution: {integrity: sha512-ejNvQ2oJ7+bcFAYWj225lyRkHnixuAeb7RQCixm+5mH4n1IA4Qya/9Bmfy5RAAHQzxK43clu3kZmL5eF9VGtYQ==} hasBin: true peerDependencies: typescript: '>=5' + '@solana/errors@2.1.1': + resolution: {integrity: sha512-sj6DaWNbSJFvLzT8UZoabMefQUfSW/8tXK7NTiagsDmh+Q87eyQDDC9L3z+mNmx9b6dEf6z660MOIplDD2nfEw==} + engines: {node: '>=20.18.0'} + hasBin: true + peerDependencies: + typescript: '>=5.3.3' + + '@solana/fast-stable-stringify@2.1.1': + resolution: {integrity: sha512-+gyW8plyMOURMuO9iL6eQBb5wCRwMGLO5T6jBIDGws8KR4tOtIBlQnQnzk81nNepE6lbf8tLCxS8KdYgT/P+wQ==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: '>=5.3.3' + + '@solana/functional@2.1.1': + resolution: {integrity: sha512-HePJ49Cyz4Mb26zm5holPikm8bzsBH5zLR41+gIw9jJBmIteILNnk2OO1dVkb6aJnP42mdhWSXCo3VVEGT6aEw==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: '>=5.3.3' + + '@solana/instructions@2.1.1': + resolution: {integrity: sha512-Zx48hav9Lu+JuC+U0QJ8B7g7bXQZElXCjvxosIibU2C7ygDuq0ffOly0/irWJv2xmHYm6z8Hm1ILbZ5w0GhDQQ==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: '>=5.3.3' + + '@solana/keys@2.1.1': + resolution: {integrity: sha512-SXuhUz1c2mVnPnB+9Z9Yw6HPluIZbMlSByr+vPFLgaPYM356bRcNnu1pa28tONiQzRBFvl9qL08SL0OaYsmqPg==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: '>=5.3.3' + + '@solana/kit@2.1.1': + resolution: {integrity: sha512-vV0otDSO9HFWIkAv7lxfeR7W6ruS/kqFYzTeRI+EuaZCgKdueavZnx9ydbpMCXis3BZ4Ao+k/ebzVWXMVvz+Lw==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: '>=5.3.3' + + '@solana/nominal-types@2.1.1': + resolution: {integrity: sha512-EpdDhuoATsm9bmuduv6yoNm1EKCz2tlq13nAazaVyQvkMBHhVelyT/zq0ruUplQZbl7qyYr5hG7p1SfGgQbgSQ==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: '>=5.3.3' + '@solana/options@2.0.0-rc.1': resolution: {integrity: sha512-mLUcR9mZ3qfHlmMnREdIFPf9dpMc/Bl66tLSOOWxw4ml5xMT2ohFn7WGqoKcu/UHkT9CrC6+amEdqCNvUqI7AA==} peerDependencies: typescript: '>=5' + '@solana/options@2.1.1': + resolution: {integrity: sha512-rnEExUGVOAV79kiFUEl/51gmSbBYxlcuw2VPnbAV/q53mIHoTgCwDD576N9A8wFftxaJHQFBdNuKiRrnU/fFHA==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: '>=5.3.3' + + '@solana/programs@2.1.1': + resolution: {integrity: sha512-fVOA4SEijrIrpG7GoBWhid43w3pT7RTfmMYciVKMb17s2GcnLLcTDOahPf0mlIctLtbF8PgImtzUkXQyuFGr8Q==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: '>=5.3.3' + + '@solana/promises@2.1.1': + resolution: {integrity: sha512-8M+QBgJAQD0nhHzaezwwHH4WWfJEBPiiPAjMNBbbbTHA8+oYFIGgY1HwDUePK8nrT1Q1dX3gC+epBCqBi/nnGg==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: '>=5.3.3' + + '@solana/rpc-api@2.1.1': + resolution: {integrity: sha512-MTBuoRA9HtxW+CRpj1Ls5XVhDe00g8mW2Ib4/0k6ThFS0+cmjf+O78d8hgjQMqTtuzzSLZ4355+C7XEAuzSQ4g==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: '>=5.3.3' + + '@solana/rpc-parsed-types@2.1.1': + resolution: {integrity: sha512-+n1IWYYglevvNE1neMiLOH6W67EzmWj8GaRlwGxcyu6MwSc/8x1bd2hnEkgK6md+ObPOxoOBdxQXIY/xnZgLcw==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: '>=5.3.3' + + '@solana/rpc-spec-types@2.1.1': + resolution: {integrity: sha512-3/G/MTi/c70TVZcB0DJjh5AGV7xqOYrjrpnIg+rLZuH65qHMimWiTHj0k8lxTzRMrN06Ed0+Q7SCw9hO/grTHA==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: '>=5.3.3' + + '@solana/rpc-spec@2.1.1': + resolution: {integrity: sha512-3Hd21XpaKtW3tG0oXAUlc1k0hX7/eqHpf8Gg744sr9G3ib5gT7EopcZRsH5LdESgS0nbv/c75TznCXjaUyRi+g==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: '>=5.3.3' + + '@solana/rpc-subscriptions-api@2.1.1': + resolution: {integrity: sha512-b4JuVScYGaEgO3jszYf7LqXdJK4GoUIevXcyQWq4Zk+R7P41VxGQWa2kzdPX9LIi+UGBmCThdRBfgOYyyHRKDg==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: '>=5.3.3' + + '@solana/rpc-subscriptions-channel-websocket@2.1.1': + resolution: {integrity: sha512-xEDnMXnwMtKDEpzmIXTkxxvLqGsxqlKILmyfGsQOMJ9RHYkHmz/8MarHcjnYhyZ5lrs2irN/wExUNlSZTegSEw==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: '>=5.3.3' + ws: ^8.18.0 + + '@solana/rpc-subscriptions-spec@2.1.1': + resolution: {integrity: sha512-ANT5Tub/ZqqewRtklz02km8iCUe0qwBGi3wsKTgiX7kRx3izHn6IHl90w1Y19wPd692mfZW8+Pk5PUrMSXhR3g==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: '>=5.3.3' + + '@solana/rpc-subscriptions@2.1.1': + resolution: {integrity: sha512-xGLIuJHxg0oCNiS40NW/5BPxHM5RurLcEmBAN1VmVtINWTm8wSbEo85a5q7cbMlPP4Vu/28lD7IITjS5qb84UQ==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: '>=5.3.3' + + '@solana/rpc-transformers@2.1.1': + resolution: {integrity: sha512-rBOCDQjOI1eQICkqYFV43SsiPdLcahgnrGuDNorS3uOe70pQRPs1PTuuEHqLBwuu9GRw89ifRy49aBNUNmX8uQ==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: '>=5.3.3' + + '@solana/rpc-transport-http@2.1.1': + resolution: {integrity: sha512-Wp7018VaPqhodQjQTDlCM7vTYlm3AdmRyvPZiwv5uzFgnC8B0xhEZW+ZSt1zkSXS6WrKqtufobuBFGtfG6v5KQ==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: '>=5.3.3' + + '@solana/rpc-types@2.1.1': + resolution: {integrity: sha512-IaQKiWyTVvDoD0/3IlUxRY3OADj3cEjfLFCp1JvEdl0ANGReHp4jtqUqrYEeAdN/tGmGoiHt3n4x61wR0zFoJA==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: '>=5.3.3' + + '@solana/rpc@2.1.1': + resolution: {integrity: sha512-X15xAx8U0ATznkoNGPUkGIuxTIOmdew1pjQRHAtPSKQTiPbAnO1sowpt4UT7V7bB6zKPu+xKvhFizUuon0PZxg==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: '>=5.3.3' + + '@solana/signers@2.1.1': + resolution: {integrity: sha512-OfYEUgrJSrBDTC43kSQCz9A12A9+6xt2azmG8pP78yXN/bDzDmYF2i4nSzg/JzjjA5hBBYtDJ+15qpS/4cSgug==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: '>=5.3.3' + '@solana/spl-token-group@0.0.7': resolution: {integrity: sha512-V1N/iX7Cr7H0uazWUT2uk27TMqlqedpXHRqqAbVO2gvmJyT0E0ummMEAVQeXZ05ZhQ/xF39DLSdBp90XebWEug==} engines: {node: '>=16'} @@ -1825,30 +1939,60 @@ packages: peerDependencies: '@solana/web3.js': ^1.95.5 - '@solana/wallet-adapter-base-ui@0.1.4': - resolution: {integrity: sha512-lI+lfwPypqxanZJBvSd4ryPng0UfP9fxbD4Yj0KKLyUu0Pfl2HkDg+eMWC32Tz5qKTaQjExD3kuXiopRzF8ZvQ==} - engines: {node: '22'} + '@solana/subscribable@2.1.1': + resolution: {integrity: sha512-k6qe/Iu94nVtapap9Ei+3mm14gx1H+7YgB6n2bj9qJCdVN6z6ZN9nPtDY2ViIH4qAnxyh7pJKF7iCwNC/iALcw==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: '>=5.3.3' + + '@solana/sysvars@2.1.1': + resolution: {integrity: sha512-bG7hNFpFqZm6qk763z5/P9g9Nxc0WXe+aYl6CQSptaPsmqUz1GhlBjAov9ePVFb29MmyMZ5bA+kmCTytiHK1fQ==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: '>=5.3.3' + + '@solana/transaction-confirmation@2.1.1': + resolution: {integrity: sha512-hXv0D80u1jNEq2/k1o9IBXXq7+JYg8x4tm0kVWjzvdJjYow8EkQay5quq5o0ciFfWqlOyFwYRC7AGrKc3imE7A==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: '>=5.3.3' + + '@solana/transaction-messages@2.1.1': + resolution: {integrity: sha512-sDf3OWV5X1C8huqsap+DyHIBAUenNJd3h7j/WI9MeIJZdGEtqxssGa2ixhecsMaevtUBKKJM9RqAvfTdRTAnLw==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: '>=5.3.3' + + '@solana/transactions@2.1.1': + resolution: {integrity: sha512-LX/7XfcHH9o0Kpv+tpnCl56IaatD/0sMWw9NnaeZ2f7pJyav9Jmeu5LJXvdHJw2jh277UEqc9bHwKruoMrtOTw==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: '>=5.3.3' + + '@solana/wallet-adapter-base-ui@0.1.6': + resolution: {integrity: sha512-OuxLBOXA2z3dnmuGP0agEb7xhsT3+Nttd+gAkSLgJRX2vgNEAy3Fvw8IKPXv1EE2vRdw/U6Rq0Yjpp3McqVZhw==} + engines: {node: '>=20'} peerDependencies: '@solana/web3.js': ^1.98.0 react: '*' - '@solana/wallet-adapter-base@0.9.25': - resolution: {integrity: sha512-QZRjxhFK4e296ufUg4ntOPh3GmVANTwC/M9HmwEqMSoowq3cRXSZ53R6d6YJAPldCa7smC8cKG8OzkbLHBKG9w==} - engines: {node: '22'} + '@solana/wallet-adapter-base@0.9.27': + resolution: {integrity: sha512-kXjeNfNFVs/NE9GPmysBRKQ/nf+foSaq3kfVSeMcO/iVgigyRmB551OjU3WyAolLG/1jeEfKLqF9fKwMCRkUqg==} + engines: {node: '>=20'} peerDependencies: '@solana/web3.js': ^1.98.0 - '@solana/wallet-adapter-react-ui@0.9.37': - resolution: {integrity: sha512-oEX/lU0Fdb6oWyU4sQ/UqIxqpHIcgb/zeNrtwPMX/6vrrc9V4Ur7wf0zTGr7tlP4hLD3Uk/cLvgwBds1WrDZrQ==} - engines: {node: '22'} + '@solana/wallet-adapter-react-ui@0.9.39': + resolution: {integrity: sha512-B6GdOobwVuIgEX1qjcbTQEeo+0UGs3WPuBeUlR0dDCzQh9J3IAWRRyL/47FYSHYRp26LAu4ImWy4+M2TFD5OJg==} + engines: {node: '>=20'} peerDependencies: '@solana/web3.js': ^1.98.0 react: '*' react-dom: '*' - '@solana/wallet-adapter-react@0.15.37': - resolution: {integrity: sha512-lWlvA4I5aAJgcd7gyq+xlz4KIjxnMWept1DabKumQmBARaUiROnN8Ib/qp0MlrSov+zsHCSHSJzSzUtgNjvyXA==} - engines: {node: '22'} + '@solana/wallet-adapter-react@0.15.39': + resolution: {integrity: sha512-WXtlo88ith5m22qB+qiGw301/Zb9r5pYr4QdXWmlXnRNqwST5MGmJWhG+/RVrzc+OG7kSb3z1gkVNv+2X/Y0Gg==} + engines: {node: '>=20'} peerDependencies: '@solana/web3.js': ^1.98.0 react: '*' @@ -1891,17 +2035,17 @@ packages: resolution: {integrity: sha512-NF+MI5tOxyvfTU4A+O5idh/gJFmjm52bMwsPpFGRSL79GECSN0XLmpVOO/jqTKJgac2uIeYDpQw/eMaQuWuUXw==} engines: {node: '>=16'} - '@solana/web3.js@1.98.0': - resolution: {integrity: sha512-nz3Q5OeyGFpFCR+erX2f6JPt3sKhzhYcSycBCSPkWjzSVDh/Rr1FqTVMRe58FKO16/ivTUcuJjeS5MyBvpkbzA==} + '@solana/web3.js@1.98.2': + resolution: {integrity: sha512-BqVwEG+TaG2yCkBMbD3C4hdpustR4FpuUFRPUmqRZYYlPI9Hg4XMWxHWOWRzHE9Lkc9NDjzXFX7lDXSgzC7R1A==} '@swc/helpers@0.5.17': resolution: {integrity: sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==} - '@tanstack/query-core@5.74.4': - resolution: {integrity: sha512-YuG0A0+3i9b2Gfo9fkmNnkUWh5+5cFhWBN0pJAHkHilTx6A0nv8kepkk4T4GRt4e5ahbtFj2eTtkiPcVU1xO4A==} + '@tanstack/query-core@5.81.0': + resolution: {integrity: sha512-lFsd8NBhkh26vzaq8uOOM2o3r4NtJros7kASI+TTMBmKT8C43HVN/2mOI9PFX9kzmxLThBzOLa4NI8ORhX8N9g==} - '@tanstack/react-query@5.74.4': - resolution: {integrity: sha512-mAbxw60d4ffQ4qmRYfkO1xzRBPUEf/72Dgo3qqea0J66nIKuDTLEqQt0ku++SDFlMGMnB6uKDnEG1xD/TDse4Q==} + '@tanstack/react-query@5.81.0': + resolution: {integrity: sha512-nutU/X1xrgMJXui61oi5j0gXKs2ZlHnI9f/C128CNha/MRi9i/E5tN3pcUIjvQZzNQnOxp1Uv90SZs3kmcecgw==} peerDependencies: react: ^18 || ^19 @@ -1920,14 +2064,11 @@ packages: '@types/connect@3.4.38': resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} - '@types/cookie@0.6.0': - resolution: {integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==} - '@types/d3-hierarchy@1.1.11': resolution: {integrity: sha512-lnQiU7jV+Gyk9oQYk0GGYccuexmQPTp08E0+4BidgFdiJivjEvf+esPSdZqCZ2C7UwTWejWpqetVaU8A+eX3FA==} - '@types/estree@1.0.7': - resolution: {integrity: sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==} + '@types/estree@1.0.8': + resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} '@types/graceful-fs@4.1.9': resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==} @@ -1944,14 +2085,14 @@ packages: '@types/node@12.20.55': resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} - '@types/node@20.17.30': - resolution: {integrity: sha512-7zf4YyHA+jvBNfVrk2Gtvs6x7E8V+YDW05bNfG2XkWDJfYRXrTiP/DsB2zSYTaHX0bGIujTBQdMVAhb+j7mwpg==} + '@types/node@24.0.3': + resolution: {integrity: sha512-R4I/kzCYAdRLzfiCabn9hxWfbuHS573x+r0dJMkkzThEa7pbrcDWK+9zu3e7aBOouf+rQAciqPFMnxwr0aWgKg==} '@types/parse-json@4.0.2': resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} - '@types/react-dom@19.1.2': - resolution: {integrity: sha512-XGJkWF41Qq305SKWEILa1O8vzhb3aOo3ogBlSmiqNko/WmRb6QIaweuZCXjKygVDXpzXb5wyxKTSOsmkuqj+Qw==} + '@types/react-dom@19.1.6': + resolution: {integrity: sha512-4hOiT/dwO8Ko0gV1m/TJZYk3y0KBnY9vzDh7W+DH17b2HFSOGgdj33dhihPeuy3l0q23+4e+hoXHV6hCC4dCXw==} peerDependencies: '@types/react': ^19.0.0 @@ -1960,8 +2101,8 @@ packages: peerDependencies: '@types/react': '*' - '@types/react@19.1.2': - resolution: {integrity: sha512-oxLPMytKchWGbnQM9O7D67uPa9paTNxO7jVoNMXgkkErULBPhPARCfkKL9ytcIJJRGjbsVwW4ugJzyFFvm/Tiw==} + '@types/react@19.1.8': + resolution: {integrity: sha512-AwAfQ2Wa5bCx9WP8nZL2uMZWod7J7/JSplxbTmBQ5ms6QpqNYm672H0Vu9ZVKVngQ+ii4R/byguVEUZQyeg44g==} '@types/stack-utils@2.0.3': resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} @@ -2006,10 +2147,6 @@ packages: resolution: {integrity: sha512-Gt8TnSlDZpAl+RWOOAB/kuvC7RpcdWAlFbHNoi4gsXsfaWa1QCT6LBcfIYTPdOZC9OVZUDwqGuGAcqZejDmHjg==} engines: {node: '>=16'} - JSONStream@1.3.5: - resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==} - hasBin: true - abbrev@2.0.0: resolution: {integrity: sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -2022,11 +2159,15 @@ packages: resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} engines: {node: '>= 0.6'} - acorn@8.14.1: - resolution: {integrity: sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==} + acorn@8.15.0: + resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} engines: {node: '>=0.4.0'} hasBin: true + agent-base@7.1.3: + resolution: {integrity: sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==} + engines: {node: '>= 14'} + agentkeepalive@4.6.0: resolution: {integrity: sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ==} engines: {node: '>= 8.0.0'} @@ -2058,8 +2199,8 @@ packages: resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} engines: {node: '>= 8'} - arctic@3.6.0: - resolution: {integrity: sha512-egHDsCqEacb6oSHz5QSSxNhp07J+QJwJdPvs0katL+mNM5LaGQVqxmcdq1KwfaSNSAlVumBBs0MRExS88TxbMg==} + arctic@3.7.0: + resolution: {integrity: sha512-ZMQ+f6VazDgUJOd+qNV+H7GohNSYal1mVjm5kEaZfE2Ifb7Ss70w+Q7xpJC87qZDkMZIXYf0pTIYZA0OPasSbw==} arg@5.0.2: resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} @@ -2067,8 +2208,8 @@ packages: argparse@1.0.10: resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} - aria-hidden@1.2.4: - resolution: {integrity: sha512-y+CcFFwelSXpLZk/7fMB2mUbGtX9lKycf1MWJ7CaTIERyitVlyQx6C+sxcROU2BAJ24OiZyK+8wj2i8AlBoS3A==} + aria-hidden@1.2.6: + resolution: {integrity: sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==} engines: {node: '>=10'} array-flatten@1.1.1: @@ -2146,8 +2287,8 @@ packages: resolution: {integrity: sha512-trfYco6AoZ+rKhKnxA0hgX0HAbVP/s808/EuDSe2JDzUnCp/xAsli35Orvk67UrTEcwuxZqYZDmfA2RXJgxVvA==} engines: {node: '>= 10.0.0'} - bignumber.js@9.2.1: - resolution: {integrity: sha512-+NzaKgOUvInq9TIUZ1+DRspzf/HApkCwD4btfuasFTdrfnOxqx853TgDpMolp+uv4RpRp7bPcEU2zKr9+fRmyw==} + bignumber.js@9.3.0: + resolution: {integrity: sha512-EM7aMFTXbptt/wZdMlBv2t8IViwQL+h6SLHosp8Yf0dqJMTnY6iL32opnAB6kAdL0SZPuvcAzFr31o0c/R3/RA==} binary-extensions@2.3.0: resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} @@ -2156,13 +2297,13 @@ packages: bindings@1.5.0: resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} - bippy@0.3.8: - resolution: {integrity: sha512-0ou8fJWxUXK/+eRjUz5unbtX8Mrn0OYRs6QQwwUJtU6hsFDTSmSeI1fJC/2nrPA4G6GWcxwT+O6TbHyGhl4fEg==} + bippy@0.3.17: + resolution: {integrity: sha512-0wG0kF9IM2MfS65mpU/3oU+0bRT5Wlh0oTqeRU8eJUU2+ga/QTGr3ZxzVEbQ1051NgADC8W+im1fP3Ln0Vof+Q==} peerDependencies: react: '>=17.0.1' - bn.js@5.2.1: - resolution: {integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==} + bn.js@5.2.2: + resolution: {integrity: sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==} body-parser@1.20.3: resolution: {integrity: sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==} @@ -2174,18 +2315,18 @@ packages: borsh@0.7.0: resolution: {integrity: sha512-CLCsZGIBCFnPtkNnieW/a8wmreDmfUtjU2m9yHrzPXIlNbqVs0AQrSatSG6vdNYUqdc83tkQi2eHfF98ubzQLA==} - brace-expansion@1.1.11: - resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + brace-expansion@1.1.12: + resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==} - brace-expansion@2.0.1: - resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + brace-expansion@2.0.2: + resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==} braces@3.0.3: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} - browserslist@4.24.4: - resolution: {integrity: sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==} + browserslist@4.25.0: + resolution: {integrity: sha512-PJ8gYKeS5e/whHBh8xrwYK+dAvEj7JXtz6uTucnMRB8OiGTsKccFekoRrjajPBHV8oOY+2tI4uxeceSimKwMFA==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true @@ -2259,8 +2400,8 @@ packages: resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} engines: {node: '>=10'} - caniuse-lite@1.0.30001713: - resolution: {integrity: sha512-wCIWIg+A4Xr7NfhTuHdX+/FKh3+Op3LBbSp2N5Pfx6T/LhdQy3GTyoTg48BReaW/MyMNZAkTadsBtai3ldWK0Q==} + caniuse-lite@1.0.30001724: + resolution: {integrity: sha512-WqJo7p0TbHDOythNTqYujmaJTvtYRZrjpP8TCvH6Vb9CYJerJNKamKzIWOM4BkQatWj9H2lYulpdAQNBe7QhNA==} chain-function@1.0.1: resolution: {integrity: sha512-SxltgMwL9uCko5/ZCLiyG2B7R9fY4pDZUw7hJ4MhirdjBLosoDqkWABi3XMucddHdLiFJMb7PD2MZifZriuMTg==} @@ -2488,8 +2629,8 @@ packages: supports-color: optional: true - debug@4.4.0: - resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} + debug@4.4.1: + resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' @@ -2501,8 +2642,8 @@ packages: resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} engines: {node: '>=0.10.0'} - dedent@1.5.3: - resolution: {integrity: sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==} + dedent@1.6.0: + resolution: {integrity: sha512-F1Z+5UCFpmQUzJa11agbyPVMbpgT/qA3/SKyJ1jyBgm7dUcUEa8v9JwDkerSQXfakBwFljIxhOJqGkjUwZ9FSA==} peerDependencies: babel-plugin-macros: ^3.1.0 peerDependenciesMeta: @@ -2576,8 +2717,8 @@ packages: ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - electron-to-chromium@1.5.137: - resolution: {integrity: sha512-/QSJaU2JyIuTbbABAo/crOs+SuAZLS+fVVS10PVrIT9hrRkmZl8Hb0xPSkKRUUWHQtYzXHpQUW3Dy5hwMzGZkA==} + electron-to-chromium@1.5.171: + resolution: {integrity: sha512-scWpzXEJEMrGJa4Y6m/tVotb0WuvNmasv3wWVzUAeCgKU0ToFOhUW6Z+xWnRQANMYGxN4ngJXIThgBJOqzVPCQ==} emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -2614,8 +2755,8 @@ packages: resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} engines: {node: '>= 0.4'} - es-module-lexer@1.6.0: - resolution: {integrity: sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ==} + es-module-lexer@1.7.0: + resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==} es-object-atoms@1.1.1: resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} @@ -2627,23 +2768,13 @@ packages: es6-promisify@5.0.0: resolution: {integrity: sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==} - esbuild-register@3.6.0: - resolution: {integrity: sha512-H2/S7Pm8a9CL1uhp9OvjwrBh5Pvx0H8qVOxNu8Wed9Y7qv56MPtq+GGM8RJpq6glYJn9Wspr8uw7l55uyinNeg==} - peerDependencies: - esbuild: '>=0.12 <1' - - esbuild@0.17.19: - resolution: {integrity: sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==} - engines: {node: '>=12'} - hasBin: true - - esbuild@0.21.5: - resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} - engines: {node: '>=12'} + esbuild@0.24.2: + resolution: {integrity: sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==} + engines: {node: '>=18'} hasBin: true - esbuild@0.25.2: - resolution: {integrity: sha512-16854zccKPnC+toMywC+uKNeYSv+/eXkevRAfwRD/G9Cleq66m8XFIrigkbvauLLlCfDL45Q2cWegSg53gGBnQ==} + esbuild@0.25.5: + resolution: {integrity: sha512-P8OtKZRv/5J5hhz0cUAdu/cLuPIKXpQl1R9pZtvmHWQvrAUVd0UNIPT4IB4W3rNOqVO0rlqHmCIbSwxh/c9yUQ==} engines: {node: '>=18'} hasBin: true @@ -2667,8 +2798,8 @@ packages: engines: {node: '>=4'} hasBin: true - esrun@3.2.26: - resolution: {integrity: sha512-gDjP87qj4RW0BryZXPY3/L161hPo9uG6luBTjLsuHG3cKnhSMrzB7eNzSzvDyBLg7OgugyvzSgB2ov7mZ/oa7Q==} + esrun@3.2.30: + resolution: {integrity: sha512-VHyce0Yf5gbkTsxI33cIgDvOQVIPZQCC88QSjzzP2WjghoWG3LKfH4kY0rAZujFbuJyUhgttiHdWOVHFKzCt8g==} engines: {node: '>=14.0'} hasBin: true @@ -2723,6 +2854,14 @@ packages: fb-watchman@2.0.2: resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} + fdir@6.4.6: + resolution: {integrity: sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + file-uri-to-path@1.0.0: resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} @@ -2756,8 +2895,8 @@ packages: resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} engines: {node: '>= 0.6'} - framer-motion@12.7.3: - resolution: {integrity: sha512-dNT4l5gEnUo2ytXLUBUf6AI21dZ77TMclDKE3ElaIHZ8m90nJ/NCcExW51zdSIaS0RhAS5iXcF7bEIxZe8XG2g==} + framer-motion@12.18.1: + resolution: {integrity: sha512-6o4EDuRPLk4LSZ1kRnnEOurbQ86MklVk+Y1rFBUKiF+d2pCdvMjWVu0ZkyMVCTwl5UyTH2n/zJEJx+jvTYuxow==} peerDependencies: '@emotion/is-prop-valid': '*' react: ^18.0.0 || ^19.0.0 @@ -2817,6 +2956,12 @@ packages: resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} engines: {node: '>= 0.4'} + gill@0.10.2: + resolution: {integrity: sha512-upWoY2dfOzKHOcX3UnD+B3h9WUunPv0oxeKzsIgKSaLyURpWK9oI+K2NHWbwrUFsXEK6ozu/sgkhuqyAcVTZCg==} + engines: {node: '>=20.18.0'} + peerDependencies: + typescript: '>=5' + glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -2825,8 +2970,8 @@ packages: resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} hasBin: true - glob@11.0.1: - resolution: {integrity: sha512-zrQDm8XPnYEKawJScsnM0QzobJxlT/kHOOlRTio8IH/GrmxRE5fjllkzdaHclIuNjUQTJYH2xHNIGfdpJkDJUw==} + glob@11.0.3: + resolution: {integrity: sha512-2Nim7dha1KVkaiF4q6Dj+ngPPMdfvLJEOpZk/jKiUAkqKebpGAWQXAq9z1xu9HKu5lWfqw/FASuccEjyznjPaA==} engines: {node: 20 || >=22} hasBin: true @@ -2867,9 +3012,15 @@ packages: hermes-estree@0.25.1: resolution: {integrity: sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw==} + hermes-estree@0.28.1: + resolution: {integrity: sha512-w3nxl/RGM7LBae0v8LH2o36+8VqwOZGv9rX1wyoWT6YaKZLqpJZ0YQ5P0LVr3tuRpf7vCx0iIG4i/VmBJejxTQ==} + hermes-parser@0.25.1: resolution: {integrity: sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==} + hermes-parser@0.28.1: + resolution: {integrity: sha512-nf8o+hE8g7UJWParnccljHumE9Vlq8F7MqIdeahl+4x0tvCUJYRrT0L7h0MMg/X9YJmkNwsfbaNNrzPtFXOscg==} + highlight.js@11.11.1: resolution: {integrity: sha512-Xwwo44whKBVCYoliBQwaPvtd/2tYFkRQtXDWj1nackaV2JPXx3L0+Jvd8/qCJ2p+ML0/XVkJ2q+Mr+UVdpJK5w==} engines: {node: '>=12.0.0'} @@ -2889,6 +3040,10 @@ packages: resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} engines: {node: '>= 0.8'} + https-proxy-agent@7.0.6: + resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==} + engines: {node: '>= 14'} + humanize-ms@1.2.1: resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==} @@ -2980,8 +3135,8 @@ packages: isarray@1.0.0: resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} - isbot@5.1.26: - resolution: {integrity: sha512-3wqJEYSIm59dYQjEF7zJ7T42aqaqxbCyJQda5rKCudJykuAnISptCHR/GSGpOnw8UrvU+mGueNLRJS5HXnbsXQ==} + isbot@5.1.28: + resolution: {integrity: sha512-qrOp4g3xj8YNse4biorv6O5ZShwsJM0trsoda4y7j/Su7ZtTTfVXFzbKkpgcSoDrHS8FcTuUwcU04YimZlZOxw==} engines: {node: '>=18'} isexe@2.0.0: @@ -3003,12 +3158,12 @@ packages: jackspeak@3.4.3: resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} - jackspeak@4.1.0: - resolution: {integrity: sha512-9DDdhb5j6cpeitCbvLO7n7J4IxnbM6hoF6O1g4HQ5TfhvvKN8ywDM7668ZhMHRqVmxqhps/F6syWK2KcPxYlkw==} + jackspeak@4.1.1: + resolution: {integrity: sha512-zptv57P3GpL+O0I7VdMJNBZCu+BPHVQUk55Ft8/QCJjTVxrnJHuVuX/0Bl2A6/+2oyR/ZMEuFKwmzqqZ/U5nPQ==} engines: {node: 20 || >=22} - jayson@4.1.3: - resolution: {integrity: sha512-LtXh5aYZodBZ9Fc3j6f2w+MTNcnxteMOrb+QgIouguGOulWi0lieEkOUg+HkjjFs0DGoWDds6bi4E9hpNFLulQ==} + jayson@4.2.0: + resolution: {integrity: sha512-VfJ9t1YLwacIubLhONk0KFeosUBwstRWQ0IRT1KDjEjnVnSOVHC3uwugyV7L0c7R9lpVyrUGT2XWiBA1UTtpyg==} engines: {node: '>=8'} hasBin: true @@ -3048,6 +3203,10 @@ packages: resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jiti@2.4.2: + resolution: {integrity: sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==} + hasBin: true + js-base64@3.7.7: resolution: {integrity: sha512-7rCnleh0z2CkXhH67J8K1Ytz0b2Y+yxTPL+/KOJoa20hfnVQ/3/T6W/KflYI4bRHRagNeXeU2bkNGI3v1oS/lw==} @@ -3096,10 +3255,6 @@ packages: jsonfile@6.1.0: resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} - jsonparse@1.3.1: - resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} - engines: {'0': node >= 0.2.0} - klona@2.0.6: resolution: {integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==} engines: {node: '>= 8'} @@ -3145,8 +3300,8 @@ packages: resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==} engines: {node: '>=12'} - lucide-react@0.487.0: - resolution: {integrity: sha512-aKqhOQ+YmFnwq8dWgGjOuLc8V1R9/c/yOd+zDY4+ohsR2Jo05lSGc3WsstYPIzcTpeosN7LoCkLReUUITvaIvw==} + lucide-react@0.522.0: + resolution: {integrity: sha512-jnJbw974yZ7rQHHEFKJOlWAefG3ATSCZHANZxIdx8Rk/16siuwjgA4fBULpXEAWx/RlTs3FzmKW/udWUuO0aRw==} peerDependencies: react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0 @@ -3188,61 +3343,61 @@ packages: resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} engines: {node: '>= 0.6'} - metro-babel-transformer@0.82.1: - resolution: {integrity: sha512-SuDMRdJKafSj9mzIijCNRxVXWrlJZdTnVE9iTGHO85UFTp/mWOLftqCjEtEjc78/0Wq3Y8IoYayx/VkYmKUf/g==} + metro-babel-transformer@0.82.4: + resolution: {integrity: sha512-4juJahGRb1gmNbQq48lNinB6WFNfb6m0BQqi/RQibEltNiqTCxew/dBspI2EWA4xVCd3mQWGfw0TML4KurQZnQ==} engines: {node: '>=18.18'} - metro-cache-key@0.82.1: - resolution: {integrity: sha512-RoByg/cxJUewdO4yDx3udpxc6S59570Ub34Jm2gjvOcYQOkGxNepNgyhWFlZLM7P7aBF2UwdCqDB1hoTRtQqNw==} + metro-cache-key@0.82.4: + resolution: {integrity: sha512-2JCTqcpF+f2OghOpe/+x+JywfzDkrHdAqinPFWmK2ezNAU/qX0jBFaTETogPibFivxZJil37w9Yp6syX8rFUng==} engines: {node: '>=18.18'} - metro-cache@0.82.1: - resolution: {integrity: sha512-4ZK5EdgM8bTLLjpPCYOImirXUXVZpUU/I81BeAkScF8FFJfEHhV8yFyVp4/689bLbUBMwqz3rvYyxnrMi242lA==} + metro-cache@0.82.4: + resolution: {integrity: sha512-vX0ylSMGtORKiZ4G8uP6fgfPdDiCWvLZUGZ5zIblSGylOX6JYhvExl0Zg4UA9pix/SSQu5Pnp9vdODMFsNIxhw==} engines: {node: '>=18.18'} - metro-config@0.82.1: - resolution: {integrity: sha512-+w3280sUdZmEDpmEhk66vfeWs8xKhogiPim+JT6AIhrTUS4exki+yFgXDdnBXrjvAvhxUtCZcoIueFKCC/mbZw==} + metro-config@0.82.4: + resolution: {integrity: sha512-Ki3Wumr3hKHGDS7RrHsygmmRNc/PCJrvkLn0+BWWxmbOmOcMMJDSmSI+WRlT8jd5VPZFxIi4wg+sAt5yBXAK0g==} engines: {node: '>=18.18'} - metro-core@0.82.1: - resolution: {integrity: sha512-C1a8lPGJPs6axj9q+qLSdzK98TYjjXV6nsGnTvYuSwwXAm5sS03ewZCDimRfzu1s58oR0O28QddBgxNtYpDnJg==} + metro-core@0.82.4: + resolution: {integrity: sha512-Xo4ozbxPg2vfgJGCgXZ8sVhC2M0lhTqD+tsKO2q9aelq/dCjnnSb26xZKcQO80CQOQUL7e3QWB7pLFGPjZm31A==} engines: {node: '>=18.18'} - metro-file-map@0.82.1: - resolution: {integrity: sha512-6RgYYrkswBCH4GwbLiK6QGzTjNnlCdU7BwwZlf+14ApjUlbr1oBkwmAa6lMfmqfZuh2H/ET8X950kJ8uZavJNA==} + metro-file-map@0.82.4: + resolution: {integrity: sha512-eO7HD1O3aeNsbEe6NBZvx1lLJUrxgyATjnDmb7bm4eyF6yWOQot9XVtxTDLNifECuvsZ4jzRiTInrbmIHkTdGA==} engines: {node: '>=18.18'} - metro-minify-terser@0.82.1: - resolution: {integrity: sha512-3P2PY+9L9sKrlxWWAOb1Bi6HXFCdnevym1R/6stkev/kl1+khkrDs1Z40139fLXFZbn8FrvXe89sTFRC3vB+Nw==} + metro-minify-terser@0.82.4: + resolution: {integrity: sha512-W79Mi6BUwWVaM8Mc5XepcqkG+TSsCyyo//dmTsgYfJcsmReQorRFodil3bbJInETvjzdnS1mCsUo9pllNjT1Hg==} engines: {node: '>=18.18'} - metro-resolver@0.82.1: - resolution: {integrity: sha512-TnHK2FRTq/KMRZTqUKRXGJ4NGwJEHrPuo60UPGMUHzAS9diI22oCQ8y9888saGiXE+gi0Iplv/6AUTISxDgXqA==} + metro-resolver@0.82.4: + resolution: {integrity: sha512-uWoHzOBGQTPT5PjippB8rRT3iI9CTgFA9tRiLMzrseA5o7YAlgvfTdY9vFk2qyk3lW3aQfFKWkmqENryPRpu+Q==} engines: {node: '>=18.18'} - metro-runtime@0.82.1: - resolution: {integrity: sha512-Xg7FccIHlNtI63RX0vKmIzXlM5eSq4mjMo0ALbxXpds/P4JVT0JeJW/BqwpncKabrpbZyvPmPguhd32TiMWHXg==} + metro-runtime@0.82.4: + resolution: {integrity: sha512-vVyFO7H+eLXRV2E7YAUYA7aMGBECGagqxmFvC2hmErS7oq90BbPVENfAHbUWq1vWH+MRiivoRxdxlN8gBoF/dw==} engines: {node: '>=18.18'} - metro-source-map@0.82.1: - resolution: {integrity: sha512-uCf60ybpmPvkkqQpVWtPZFCIMBS1D9uQ4r2isbqWvDQ1FFTi3xrhT1Z35Dyg30RQV6638XJ4wZY+Dwh8bU9W8A==} + metro-source-map@0.82.4: + resolution: {integrity: sha512-9jzDQJ0FPas1FuQFtwmBHsez2BfhFNufMowbOMeG3ZaFvzeziE8A0aJwILDS3U+V5039ssCQFiQeqDgENWvquA==} engines: {node: '>=18.18'} - metro-symbolicate@0.82.1: - resolution: {integrity: sha512-UFofSe+y0tz+nQ5XOkgXOYu5xlbX/8jEvd2eSrd8SjAX7eAjbGwN0Kjji+87jSaMJIvRHkArVMWqwF6fZVq55g==} + metro-symbolicate@0.82.4: + resolution: {integrity: sha512-LwEwAtdsx7z8rYjxjpLWxuFa2U0J6TS6ljlQM4WAATKa4uzV8unmnRuN2iNBWTmRqgNR77mzmI2vhwD4QSCo+w==} engines: {node: '>=18.18'} hasBin: true - metro-transform-plugins@0.82.1: - resolution: {integrity: sha512-AHFattUD9tUjG2MFV4RgZRgZZNfdRVQ7X6+ORK3cqwiItMcY2mK7psC6G2zI3WOtbydBcu/xWTilmjl7krC7FQ==} + metro-transform-plugins@0.82.4: + resolution: {integrity: sha512-NoWQRPHupVpnDgYguiEcm7YwDhnqW02iWWQjO2O8NsNP09rEMSq99nPjARWfukN7+KDh6YjLvTIN20mj3dk9kw==} engines: {node: '>=18.18'} - metro-transform-worker@0.82.1: - resolution: {integrity: sha512-2vaadziCaYPfPMnl3tuYimjR7Gmj5CVOcQh/bJniOiXWZ0b1v4JGcw6jOAWzQKgNJdrOq8lMfzdT3xJ/cn/m7g==} + metro-transform-worker@0.82.4: + resolution: {integrity: sha512-kPI7Ad/tdAnI9PY4T+2H0cdgGeSWWdiPRKuytI806UcN4VhFL6OmYa19/4abYVYF+Cd2jo57CDuwbaxRfmXDhw==} engines: {node: '>=18.18'} - metro@0.82.1: - resolution: {integrity: sha512-/avNIHMlZhkDRl5ZMKNGuZSFZU56M3ABtt/JFQBJWEnitHtSD3Qidnfgjglq61yDbsWBv7aVrOFhdPRPTHN92A==} + metro@0.82.4: + resolution: {integrity: sha512-/gFmw3ux9CPG5WUmygY35hpyno28zi/7OUn6+OFfbweA8l0B+PPqXXLr0/T6cf5nclCcH0d22o+02fICaShVxw==} engines: {node: '>=18.18'} hasBin: true @@ -3267,8 +3422,8 @@ packages: engines: {node: '>=4'} hasBin: true - minimatch@10.0.1: - resolution: {integrity: sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==} + minimatch@10.0.3: + resolution: {integrity: sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw==} engines: {node: 20 || >=22} minimatch@3.1.2: @@ -3295,11 +3450,11 @@ packages: resolution: {integrity: sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ==} engines: {node: '>= 0.8.0'} - motion-dom@12.7.3: - resolution: {integrity: sha512-IjMt1YJHrvyvruFvmpmd6bGXXGCvmygrnvSb3aZ8KhOzF4H3PulU+cMBzH+U8TBJHjC/mnmJFRIA1Cu4vBfcBA==} + motion-dom@12.18.1: + resolution: {integrity: sha512-dR/4EYT23Snd+eUSLrde63Ws3oXQtJNw/krgautvTfwrN/2cHfCZMdu6CeTxVfRRWREW3Fy1f5vobRDiBb/q+w==} - motion-utils@12.7.2: - resolution: {integrity: sha512-XhZwqctxyJs89oX00zn3OGCuIIpVevbTa+u82usWBC6pSHUd2AoNWiYa7Du8tJxJy9TFbZ82pcn5t7NOm1PHAw==} + motion-utils@12.18.1: + resolution: {integrity: sha512-az26YDU4WoDP0ueAkUtABLk2BIxe28d8NH1qWT8jPGhPyf44XTdDUh8pDk9OPphaSrR9McgpcJlgwSOIw/sfkA==} ms@2.0.0: resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} @@ -3380,8 +3535,8 @@ packages: nullthrows@1.1.1: resolution: {integrity: sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==} - ob1@0.82.1: - resolution: {integrity: sha512-J4m1GAoMC0673H8LmVolj7ZERYEwJWRR4/A/M8ZB5iK9BiFLeAkjvny/VGk3XOYiMtnvq7TV6oc3MfDJ8uKpFw==} + ob1@0.82.4: + resolution: {integrity: sha512-n9S8e4l5TvkrequEAMDidl4yXesruWTNTzVkeaHSGywoTOIwTzZzKw7Z670H3eaXDZui5MJXjWGNzYowVZIxCA==} engines: {node: '>=18.18'} object-assign@4.1.1: @@ -3478,6 +3633,9 @@ packages: pathe@1.1.2: resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} + pathe@2.0.3: + resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} + picocolors@1.1.1: resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} @@ -3485,6 +3643,10 @@ packages: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} + picomatch@4.0.2: + resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} + engines: {node: '>=12'} + pirates@4.0.7: resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==} engines: {node: '>= 6'} @@ -3526,8 +3688,8 @@ packages: peerDependencies: postcss: ^8.2.1 - postcss@8.5.3: - resolution: {integrity: sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==} + postcss@8.5.6: + resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} engines: {node: ^10 || ^12 || >=14} prettier@2.8.8: @@ -3544,8 +3706,8 @@ packages: resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - prisma@6.6.0: - resolution: {integrity: sha512-SYCUykz+1cnl6Ugd8VUvtTQq5+j1Q7C0CtzKPjQ8JyA2ALh0EEJkMCS+KgdnvKW1lrxjtjCyJSHOOT236mENYg==} + prisma@6.10.1: + resolution: {integrity: sha512-khhlC/G49E4+uyA3T3H5PRBut486HD2bDqE2+rvkU0pwk9IAqGFacLFUyIx9Uw+W2eCtf6XGwsp+/strUwMNPw==} engines: {node: '>=18.18'} hasBin: true peerDependencies: @@ -3615,11 +3777,11 @@ packages: react: 16.x || 17.x || 18.x || 19.x react-dom: 16.x || 17.x || 18.x || 19.x - react-devtools-core@6.1.1: - resolution: {integrity: sha512-TFo1MEnkqE6hzAbaztnyR5uLTMoz6wnEWwWBsCUzNt+sVXJycuRJdDqvL078M4/h65BI/YO5XWTaxZDWVsW0fw==} + react-devtools-core@6.1.2: + resolution: {integrity: sha512-ldFwzufLletzCikNJVYaxlxMLu7swJ3T2VrGfzXlMsVhZhPDKXA38DEROidaYZVgMAmQnIjymrmqto5pyfrwPA==} - react-diff-viewer-continued@4.0.5: - resolution: {integrity: sha512-L43gIPdhHgu1MYdip4vNqAt5s2JLICKe2/RyGUr2ohAxfhYaH1+QZ6vBO0qgo4xGBhE3jmvbOA/swq4/gdS/0g==} + react-diff-viewer-continued@4.0.6: + resolution: {integrity: sha512-QtJuaAlAu9w7vLrEvjkUD4XFY/uvA4k4kfRI0SP0xQXLjOXw2QuE/Cg6VSE6qdJCwIWw8FZl5p7NJjW4yVuEUA==} engines: {node: '>= 16'} peerDependencies: react: ^15.3.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 @@ -3676,8 +3838,8 @@ packages: '@types/react': optional: true - react-remove-scroll@2.6.3: - resolution: {integrity: sha512-pnAi91oOk8g8ABQKGF5/M9qxmmOPxaAnopyTHYfqYEwJhyFrbbBtHuSgtKEoH0jpcxx5o3hXqH1mNd9/Oi+8iQ==} + react-remove-scroll@2.7.1: + resolution: {integrity: sha512-HpMh8+oahmIdOuS5aFKKY6Pyog+FNaZV/XyJOq7b4YFwsFHe5yYfdbIalI4k3vU2nSDql7YskmUseHsRrJqIPA==} engines: {node: '>=10'} peerDependencies: '@types/react': '*' @@ -3686,16 +3848,18 @@ packages: '@types/react': optional: true - react-router-devtools@1.1.10: - resolution: {integrity: sha512-/Lg0doiVq/Bv547SU4ZWE2UPUaNToGQ0Rnao0tWrZVvPfgGLMQJi4TLv3CxLrXFCo5QeZh0omJ1SCGXOZmpUUw==} + react-router-devtools@5.0.6: + resolution: {integrity: sha512-AoCBvYrp7E6cbplfWTJME6UyNQHLx/URnsSZPG92+XAKzrtmKwKfuwfm0mVf4dXTo1+JBJfpNhx+Gz7SYe0YoA==} peerDependencies: + '@types/react': '>=17' + '@types/react-dom': '>=17' react: '>=17' react-dom: '>=17' react-router: '>=7.0.0' vite: '>=5.0.0 || >=6.0.0' - react-router@7.5.0: - resolution: {integrity: sha512-estOHrRlDMKdlQa6Mj32gIks4J+AxNsYoE0DbTTxiMy2mPzZuWSDU+N85/r1IlNR7kGfznF3VCUlvc5IUO+B9g==} + react-router@7.6.2: + resolution: {integrity: sha512-U7Nv3y+bMimgWjhlT5CRdzHPu2/KVmqPwKUCChW8en5P3znxUqwlYFlbmyj8Rgp1SF6zs5X4+77kBVknkg6a0w==} engines: {node: '>=20.0.0'} peerDependencies: react: '>=18' @@ -3720,8 +3884,8 @@ packages: peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - react-tooltip@5.28.1: - resolution: {integrity: sha512-ZA4oHwoIIK09TS7PvSLFcRlje1wGZaxw6xHvfrzn6T82UcMEfEmHVCad16Gnr4NDNDh93HyN037VK4HDi5odfQ==} + react-tooltip@5.29.1: + resolution: {integrity: sha512-rmJmEb/p99xWhwmVT7F7riLG08wwKykjHiMGbDPloNJk3tdI73oHsVOwzZ4SRjqMdd5/xwb/4nmz0RcoMfY7Bw==} peerDependencies: react: '>=16.14.0' react-dom: '>=16.14.0' @@ -3750,17 +3914,14 @@ packages: regenerator-runtime@0.13.11: resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} - regenerator-runtime@0.14.1: - resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} - remix-auth-form@3.0.0: resolution: {integrity: sha512-2c8d9BUJhnOrXg2w/iELLMj7RYT9EDI5eip9DSfN8caCTw0V33tNXvUNW44cYJQ8CjwAPi94vVaaezCHEdTSbQ==} engines: {node: '>=20.0.0'} peerDependencies: remix-auth: ^4.0.0 - remix-auth-oauth2@3.4.0: - resolution: {integrity: sha512-aU2TfxqQcJTV3pt7bwXCqUtemE+nXSJnIcWdlCRDUrH+1bwj9WXOkteCOx17fq9xfeXsGpt9xOKasrPoBpjelw==} + remix-auth-oauth2@3.4.1: + resolution: {integrity: sha512-ZhGon1czdIsOw1/O9EcTCzapZB6FpT3u9vtXSVeEMwGNs+iWljRsibnUC1RtwJbzzCdLBSwIXTNTbiRmLZ4cZw==} engines: {node: ^20.0.0 || >=20.0.0} peerDependencies: remix-auth: ^4.0.0 @@ -3811,8 +3972,8 @@ packages: deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true - rollup@4.40.0: - resolution: {integrity: sha512-Noe455xmA96nnqH5piFtLobsGbCij7Tu+tb3c1vYjNbTkfzGqXqQXG3wJaYXkRZuQ0vEYN4bhwg7QnIrqB5B+w==} + rollup@4.44.0: + resolution: {integrity: sha512-qHcdEzLCiktQIfwBq420pn2dP+30uzqYxv9ETm91wdt2R9AFcWfjNAmje4NWlnCIQ5RMTzVf0ZyisOKqHR6RwA==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -3841,8 +4002,8 @@ packages: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true - semver@7.7.1: - resolution: {integrity: sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==} + semver@7.7.2: + resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==} engines: {node: '>=10'} hasBin: true @@ -3875,8 +4036,8 @@ packages: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} - shell-quote@1.8.2: - resolution: {integrity: sha512-AzqKpGKjrj7EM6rKVQEPpB288oCfnrEIuyoT9cyF4nmGa7V8Zk6f7RRqYisX8X9m+Q7bd632aZW4ky7EhbQztA==} + shell-quote@1.8.3: + resolution: {integrity: sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==} engines: {node: '>= 0.4'} side-channel-list@1.0.0: @@ -3958,6 +4119,12 @@ packages: resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} engines: {node: '>= 0.8'} + stream-chain@2.2.5: + resolution: {integrity: sha512-1TJmBx6aSWqZ4tx7aTpBDXK0/e2hhcNSTV8+CbFJtDjbb+I1mZ8lHit0Grw9GRT+6JbIrrDd8esncgBi8aBXGA==} + + stream-json@1.9.1: + resolution: {integrity: sha512-uWkjJ+2Nt/LO9Z/JyKZbMusL8Dkh97uUBTv3AJQ74y07lVahLY4eEFsPsE97pxYBwr8nnjMAIch5eqI0gPShyw==} + stream-slice@0.1.2: resolution: {integrity: sha512-QzQxpoacatkreL6jsxnVb7X5R/pGw9OUv2qWTYWnmLpg4NdN31snPy/f3TdQE1ZUXaThRvj1Zw4/OGg0ZkaLMA==} @@ -4011,8 +4178,11 @@ packages: tabbable@6.2.0: resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==} - terser@5.39.0: - resolution: {integrity: sha512-LBAhFyLho16harJoWMg/nZsQYgTrg5jXOn2nCYjRUcZZEdE3qa2zb8QEDRUGVZBW4rlazf2fxkg8tztybTaqWw==} + tailwind-merge@3.3.1: + resolution: {integrity: sha512-gBXpgUm/3rp1lMZZrM/w7D8GKqshif0zAymAhbCyIt8KMe+0v9DQ7cdYLR4FHH/cKpdTXb+A/tKKU3eolfsI+g==} + + terser@5.43.1: + resolution: {integrity: sha512-+6erLbBm0+LROX2sPXlUYx/ux5PyE9K/a92Wrt6oA+WDAoFTdpHE5tCYCI5PNzq2y8df4rA+QgHLJuR4jNymsg==} engines: {node: '>=10'} hasBin: true @@ -4026,12 +4196,13 @@ packages: throat@5.0.0: resolution: {integrity: sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==} - through@2.3.8: - resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} - tinyexec@0.3.2: resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} + tinyglobby@0.2.14: + resolution: {integrity: sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==} + engines: {node: '>=12.0.0'} + tmpl@1.0.5: resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} @@ -4049,8 +4220,8 @@ packages: tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} - tsconfck@3.1.5: - resolution: {integrity: sha512-CLDfGgUp7XPswWnezWwsCRxNmgQjhYq3VXHM0/XIRxhVrKw0M1if9agzryh1QS3nxjCROvV+xWxoJO1YctzzWg==} + tsconfck@3.1.6: + resolution: {integrity: sha512-ks6Vjr/jEw0P1gmOVwutM3B7fWxoWBL2KRDb1JfqGVawBmO5UsvmWOQFGHBPl5yxYz4eERr19E6L7NMv+Fej4w==} engines: {node: ^18 || >=20} hasBin: true peerDependencies: @@ -4062,9 +4233,6 @@ packages: tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} - turbo-stream@2.4.0: - resolution: {integrity: sha512-FHncC10WpBd2eOmGwpmQsWLDoK4cqsA/UT/GqNoaKOQnT8uzhtCbg3EoUDMvqpOSAI0S26mr0rkjzbOO6S3v1g==} - type-detect@4.0.8: resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} engines: {node: '>=4'} @@ -4073,8 +4241,8 @@ packages: resolution: {integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==} engines: {node: '>=8'} - type-fest@4.40.0: - resolution: {integrity: sha512-ABHZ2/tS2JkvH1PEjxFDTUWC8dB5OsIGZP4IFLhR293GqT5Y5qB1WwL2kMPYhQW9DVgVD8Hd7I8gjwPIf5GFkw==} + type-fest@4.41.0: + resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==} engines: {node: '>=16'} type-is@1.6.18: @@ -4089,11 +4257,14 @@ packages: engines: {node: '>=14.17'} hasBin: true - undici-types@6.19.8: - resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} + undici-types@7.10.0: + resolution: {integrity: sha512-t5Fy/nfn+14LuOc2KNYg75vZqClpAiqscVvMygNnlsHBFpSXdJaYtXMcdNLpl/Qvc3P2cB3s6lOV51nqsFq4ag==} + + undici-types@7.8.0: + resolution: {integrity: sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw==} - undici@6.21.2: - resolution: {integrity: sha512-uROZWze0R0itiAKVPsYhFov9LxrPMHLMEQFszeI2gCN6bnIIZ8twzBCJcN2LJrBBLfrP0t1FW0g+JmKVl8Vk1g==} + undici@6.21.3: + resolution: {integrity: sha512-gBLkYIlEnSp8pFbT64yFgGE6UIB9tAkhukC23PmMDCe5Nd+cRqKxSjw5y54MK2AZMgZfJWMaNE4nYUHgi1XEOw==} engines: {node: '>=18.17'} universalify@2.0.1: @@ -4129,8 +4300,8 @@ packages: '@types/react': optional: true - use-isomorphic-layout-effect@1.2.0: - resolution: {integrity: sha512-q6ayo8DWoPZT0VdG4u3D3uxcgONP3Mevx2i2b0434cwWBoL+aelL1DzkXI6w3PhTZzUeR2kaVlZn70iCiseP6w==} + use-isomorphic-layout-effect@1.2.1: + resolution: {integrity: sha512-tpZZ+EX0gaghDAiFR37hj5MgY6ZN55kLiPkJsKxBMZ6GZdOSPJXiOzPM984oPYZ5AnehYx5WQp1+ME8I/P/pRA==} peerDependencies: '@types/react': '*' react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 @@ -4191,8 +4362,8 @@ packages: resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} engines: {node: '>= 0.8'} - vite-node@3.0.0-beta.2: - resolution: {integrity: sha512-ofTf6cfRdL30Wbl9n/BX81EyIR5s4PReLmSurrxQ+koLaWUNOEo8E0lCM53OJkb8vpa2URM2nSrxZsIFyvY1rg==} + vite-node@3.2.4: + resolution: {integrity: sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true @@ -4209,22 +4380,27 @@ packages: vite: optional: true - vite@5.4.18: - resolution: {integrity: sha512-1oDcnEp3lVyHCuQ2YFelM4Alm2o91xNoMncRm1U7S+JdYfYOvbiGZ3/CxGttrOu2M/KcGz7cRC2DoNUA6urmMA==} - engines: {node: ^18.0.0 || >=20.0.0} + vite@6.3.5: + resolution: {integrity: sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==} + engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true peerDependencies: - '@types/node': ^18.0.0 || >=20.0.0 + '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 + jiti: '>=1.21.0' less: '*' lightningcss: ^1.21.0 sass: '*' sass-embedded: '*' stylus: '*' sugarss: '*' - terser: ^5.4.0 + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 peerDependenciesMeta: '@types/node': optional: true + jiti: + optional: true less: optional: true lightningcss: @@ -4239,6 +4415,10 @@ packages: optional: true terser: optional: true + tsx: + optional: true + yaml: + optional: true vlq@1.0.1: resolution: {integrity: sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w==} @@ -4313,8 +4493,8 @@ packages: utf-8-validate: optional: true - ws@8.18.1: - resolution: {integrity: sha512-RKW2aJZMXeMxVpnZ6bck+RswznaxmzdULiBr6KY7XkTnW8uvt0iT9H5DkHUChXrc+uurzwa0rVI16n/Xzjdz1w==} + ws@8.18.2: + resolution: {integrity: sha512-DMricUmwGZUVr++AEAe2uiVM7UoO9MAVZMDu05UQOaUII0lp+zOzLLU4Xqh/JvTqklB1T4uELaaPBKyjE1r4fQ==} engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 @@ -4339,9 +4519,9 @@ packages: resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} engines: {node: '>= 6'} - yaml@2.7.1: - resolution: {integrity: sha512-10ULxpnOCQXxJvBgxsn9ptjq6uviG/htZKk9veJGhlqn3w/DxQ631zFF+nlQXLwmImeS5amR2dl2U8sg6U9jsQ==} - engines: {node: '>= 14'} + yaml@2.8.0: + resolution: {integrity: sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ==} + engines: {node: '>= 14.6'} hasBin: true yargs-parser@18.1.3: @@ -4367,8 +4547,8 @@ packages: '@prisma/client': ^4.x.x || ^5.x.x || ^6.x.x prisma: ^4.x.x || ^5.x.x || ^6.x.x - zod@3.24.2: - resolution: {integrity: sha512-lY7CDW43ECgW9u1TcT3IoXHflywfVqDYze4waEz812jR/bZ8FHDsl7pFQoSZTz5N+2NqRXs8GBwnAwo3ZNxqhQ==} + zod@3.25.67: + resolution: {integrity: sha512-idA2YXwpCdqUSKRCACDE6ItZD9TZzy3OZMtpfLoh6oPR47lipysRrJfjzMqFxQ3uJuUPyUeWe1r9vLH33xO/Qw==} snapshots: @@ -4377,273 +4557,271 @@ snapshots: '@jridgewell/gen-mapping': 0.3.8 '@jridgewell/trace-mapping': 0.3.25 - '@babel/code-frame@7.26.2': + '@babel/code-frame@7.27.1': dependencies: - '@babel/helper-validator-identifier': 7.25.9 + '@babel/helper-validator-identifier': 7.27.1 js-tokens: 4.0.0 picocolors: 1.1.1 - '@babel/compat-data@7.26.8': {} + '@babel/compat-data@7.27.5': {} - '@babel/core@7.26.10': + '@babel/core@7.27.4': dependencies: '@ampproject/remapping': 2.3.0 - '@babel/code-frame': 7.26.2 - '@babel/generator': 7.27.0 - '@babel/helper-compilation-targets': 7.27.0 - '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.10) - '@babel/helpers': 7.27.0 - '@babel/parser': 7.27.0 - '@babel/template': 7.27.0 - '@babel/traverse': 7.27.0 - '@babel/types': 7.27.0 + '@babel/code-frame': 7.27.1 + '@babel/generator': 7.27.5 + '@babel/helper-compilation-targets': 7.27.2 + '@babel/helper-module-transforms': 7.27.3(@babel/core@7.27.4) + '@babel/helpers': 7.27.6 + '@babel/parser': 7.27.5 + '@babel/template': 7.27.2 + '@babel/traverse': 7.27.4 + '@babel/types': 7.27.6 convert-source-map: 2.0.0 - debug: 4.4.0 + debug: 4.4.1 gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 transitivePeerDependencies: - supports-color - '@babel/generator@7.27.0': + '@babel/generator@7.27.5': dependencies: - '@babel/parser': 7.27.0 - '@babel/types': 7.27.0 + '@babel/parser': 7.27.5 + '@babel/types': 7.27.6 '@jridgewell/gen-mapping': 0.3.8 '@jridgewell/trace-mapping': 0.3.25 jsesc: 3.0.2 - '@babel/helper-annotate-as-pure@7.25.9': + '@babel/helper-annotate-as-pure@7.27.3': dependencies: - '@babel/types': 7.27.0 + '@babel/types': 7.27.6 - '@babel/helper-compilation-targets@7.27.0': + '@babel/helper-compilation-targets@7.27.2': dependencies: - '@babel/compat-data': 7.26.8 - '@babel/helper-validator-option': 7.25.9 - browserslist: 4.24.4 + '@babel/compat-data': 7.27.5 + '@babel/helper-validator-option': 7.27.1 + browserslist: 4.25.0 lru-cache: 5.1.1 semver: 6.3.1 - '@babel/helper-create-class-features-plugin@7.27.0(@babel/core@7.26.10)': + '@babel/helper-create-class-features-plugin@7.27.1(@babel/core@7.27.4)': dependencies: - '@babel/core': 7.26.10 - '@babel/helper-annotate-as-pure': 7.25.9 - '@babel/helper-member-expression-to-functions': 7.25.9 - '@babel/helper-optimise-call-expression': 7.25.9 - '@babel/helper-replace-supers': 7.26.5(@babel/core@7.26.10) - '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 - '@babel/traverse': 7.27.0 + '@babel/core': 7.27.4 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-member-expression-to-functions': 7.27.1 + '@babel/helper-optimise-call-expression': 7.27.1 + '@babel/helper-replace-supers': 7.27.1(@babel/core@7.27.4) + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + '@babel/traverse': 7.27.4 semver: 6.3.1 transitivePeerDependencies: - supports-color - '@babel/helper-member-expression-to-functions@7.25.9': + '@babel/helper-member-expression-to-functions@7.27.1': dependencies: - '@babel/traverse': 7.27.0 - '@babel/types': 7.27.0 + '@babel/traverse': 7.27.4 + '@babel/types': 7.27.6 transitivePeerDependencies: - supports-color - '@babel/helper-module-imports@7.25.9': + '@babel/helper-module-imports@7.27.1': dependencies: - '@babel/traverse': 7.27.0 - '@babel/types': 7.27.0 + '@babel/traverse': 7.27.4 + '@babel/types': 7.27.6 transitivePeerDependencies: - supports-color - '@babel/helper-module-transforms@7.26.0(@babel/core@7.26.10)': + '@babel/helper-module-transforms@7.27.3(@babel/core@7.27.4)': dependencies: - '@babel/core': 7.26.10 - '@babel/helper-module-imports': 7.25.9 - '@babel/helper-validator-identifier': 7.25.9 - '@babel/traverse': 7.27.0 + '@babel/core': 7.27.4 + '@babel/helper-module-imports': 7.27.1 + '@babel/helper-validator-identifier': 7.27.1 + '@babel/traverse': 7.27.4 transitivePeerDependencies: - supports-color - '@babel/helper-optimise-call-expression@7.25.9': + '@babel/helper-optimise-call-expression@7.27.1': dependencies: - '@babel/types': 7.27.0 + '@babel/types': 7.27.6 - '@babel/helper-plugin-utils@7.26.5': {} + '@babel/helper-plugin-utils@7.27.1': {} - '@babel/helper-replace-supers@7.26.5(@babel/core@7.26.10)': + '@babel/helper-replace-supers@7.27.1(@babel/core@7.27.4)': dependencies: - '@babel/core': 7.26.10 - '@babel/helper-member-expression-to-functions': 7.25.9 - '@babel/helper-optimise-call-expression': 7.25.9 - '@babel/traverse': 7.27.0 + '@babel/core': 7.27.4 + '@babel/helper-member-expression-to-functions': 7.27.1 + '@babel/helper-optimise-call-expression': 7.27.1 + '@babel/traverse': 7.27.4 transitivePeerDependencies: - supports-color - '@babel/helper-skip-transparent-expression-wrappers@7.25.9': + '@babel/helper-skip-transparent-expression-wrappers@7.27.1': dependencies: - '@babel/traverse': 7.27.0 - '@babel/types': 7.27.0 + '@babel/traverse': 7.27.4 + '@babel/types': 7.27.6 transitivePeerDependencies: - supports-color - '@babel/helper-string-parser@7.25.9': {} + '@babel/helper-string-parser@7.27.1': {} - '@babel/helper-validator-identifier@7.25.9': {} + '@babel/helper-validator-identifier@7.27.1': {} - '@babel/helper-validator-option@7.25.9': {} + '@babel/helper-validator-option@7.27.1': {} - '@babel/helpers@7.27.0': + '@babel/helpers@7.27.6': dependencies: - '@babel/template': 7.27.0 - '@babel/types': 7.27.0 + '@babel/template': 7.27.2 + '@babel/types': 7.27.6 - '@babel/parser@7.27.0': + '@babel/parser@7.27.5': dependencies: - '@babel/types': 7.27.0 + '@babel/types': 7.27.6 - '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.26.10)': + '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.27.4)': dependencies: - '@babel/core': 7.26.10 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/core': 7.27.4 + '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.26.10)': + '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.27.4)': dependencies: - '@babel/core': 7.26.10 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/core': 7.27.4 + '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.26.10)': + '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.27.4)': dependencies: - '@babel/core': 7.26.10 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/core': 7.27.4 + '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.26.10)': + '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.27.4)': dependencies: - '@babel/core': 7.26.10 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/core': 7.27.4 + '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-decorators@7.25.9(@babel/core@7.26.10)': + '@babel/plugin-syntax-decorators@7.27.1(@babel/core@7.27.4)': dependencies: - '@babel/core': 7.26.10 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/core': 7.27.4 + '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-import-attributes@7.26.0(@babel/core@7.26.10)': + '@babel/plugin-syntax-import-attributes@7.27.1(@babel/core@7.27.4)': dependencies: - '@babel/core': 7.26.10 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/core': 7.27.4 + '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.26.10)': + '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.27.4)': dependencies: - '@babel/core': 7.26.10 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/core': 7.27.4 + '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.26.10)': + '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.27.4)': dependencies: - '@babel/core': 7.26.10 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/core': 7.27.4 + '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-jsx@7.25.9(@babel/core@7.26.10)': + '@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.27.4)': dependencies: - '@babel/core': 7.26.10 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/core': 7.27.4 + '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.26.10)': + '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.27.4)': dependencies: - '@babel/core': 7.26.10 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/core': 7.27.4 + '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.26.10)': + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.27.4)': dependencies: - '@babel/core': 7.26.10 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/core': 7.27.4 + '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.26.10)': + '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.27.4)': dependencies: - '@babel/core': 7.26.10 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/core': 7.27.4 + '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.26.10)': + '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.27.4)': dependencies: - '@babel/core': 7.26.10 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/core': 7.27.4 + '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.26.10)': + '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.27.4)': dependencies: - '@babel/core': 7.26.10 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/core': 7.27.4 + '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.26.10)': + '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.27.4)': dependencies: - '@babel/core': 7.26.10 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/core': 7.27.4 + '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.26.10)': + '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.27.4)': dependencies: - '@babel/core': 7.26.10 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/core': 7.27.4 + '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.26.10)': + '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.27.4)': dependencies: - '@babel/core': 7.26.10 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/core': 7.27.4 + '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-typescript@7.25.9(@babel/core@7.26.10)': + '@babel/plugin-syntax-typescript@7.27.1(@babel/core@7.27.4)': dependencies: - '@babel/core': 7.26.10 - '@babel/helper-plugin-utils': 7.26.5 + '@babel/core': 7.27.4 + '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-modules-commonjs@7.26.3(@babel/core@7.26.10)': + '@babel/plugin-transform-modules-commonjs@7.27.1(@babel/core@7.27.4)': dependencies: - '@babel/core': 7.26.10 - '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.10) - '@babel/helper-plugin-utils': 7.26.5 + '@babel/core': 7.27.4 + '@babel/helper-module-transforms': 7.27.3(@babel/core@7.27.4) + '@babel/helper-plugin-utils': 7.27.1 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-typescript@7.27.0(@babel/core@7.26.10)': + '@babel/plugin-transform-typescript@7.27.1(@babel/core@7.27.4)': dependencies: - '@babel/core': 7.26.10 - '@babel/helper-annotate-as-pure': 7.25.9 - '@babel/helper-create-class-features-plugin': 7.27.0(@babel/core@7.26.10) - '@babel/helper-plugin-utils': 7.26.5 - '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 - '@babel/plugin-syntax-typescript': 7.25.9(@babel/core@7.26.10) + '@babel/core': 7.27.4 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.27.4) + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.27.4) transitivePeerDependencies: - supports-color - '@babel/preset-typescript@7.27.0(@babel/core@7.26.10)': + '@babel/preset-typescript@7.27.1(@babel/core@7.27.4)': dependencies: - '@babel/core': 7.26.10 - '@babel/helper-plugin-utils': 7.26.5 - '@babel/helper-validator-option': 7.25.9 - '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.26.10) - '@babel/plugin-transform-modules-commonjs': 7.26.3(@babel/core@7.26.10) - '@babel/plugin-transform-typescript': 7.27.0(@babel/core@7.26.10) + '@babel/core': 7.27.4 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-validator-option': 7.27.1 + '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.27.4) + '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.27.4) + '@babel/plugin-transform-typescript': 7.27.1(@babel/core@7.27.4) transitivePeerDependencies: - supports-color - '@babel/runtime@7.27.0': - dependencies: - regenerator-runtime: 0.14.1 + '@babel/runtime@7.27.6': {} - '@babel/template@7.27.0': + '@babel/template@7.27.2': dependencies: - '@babel/code-frame': 7.26.2 - '@babel/parser': 7.27.0 - '@babel/types': 7.27.0 + '@babel/code-frame': 7.27.1 + '@babel/parser': 7.27.5 + '@babel/types': 7.27.6 - '@babel/traverse@7.27.0': + '@babel/traverse@7.27.4': dependencies: - '@babel/code-frame': 7.26.2 - '@babel/generator': 7.27.0 - '@babel/parser': 7.27.0 - '@babel/template': 7.27.0 - '@babel/types': 7.27.0 - debug: 4.4.0 + '@babel/code-frame': 7.27.1 + '@babel/generator': 7.27.5 + '@babel/parser': 7.27.5 + '@babel/template': 7.27.2 + '@babel/types': 7.27.6 + debug: 4.4.1 globals: 11.12.0 transitivePeerDependencies: - supports-color - '@babel/types@7.27.0': + '@babel/types@7.27.6': dependencies: - '@babel/helper-string-parser': 7.25.9 - '@babel/helper-validator-identifier': 7.25.9 + '@babel/helper-string-parser': 7.27.1 + '@babel/helper-validator-identifier': 7.27.1 '@biomejs/cli-darwin-arm64@1.9.4': optional: true @@ -4663,15 +4841,15 @@ snapshots: '@coral-xyz/anchor-errors@0.30.1': {} - '@coral-xyz/anchor-errors@0.31.0': {} + '@coral-xyz/anchor-errors@0.31.1': {} - '@coral-xyz/anchor@0.30.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + '@coral-xyz/anchor@0.30.1(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)': dependencies: '@coral-xyz/anchor-errors': 0.30.1 - '@coral-xyz/borsh': 0.30.1(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) - '@noble/hashes': 1.7.2 - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) - bn.js: 5.2.1 + '@coral-xyz/borsh': 0.30.1(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)) + '@noble/hashes': 1.8.0 + '@solana/web3.js': 1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10) + bn.js: 5.2.2 bs58: 4.0.1 buffer-layout: 1.2.2 camelcase: 6.3.0 @@ -4685,15 +4863,16 @@ snapshots: transitivePeerDependencies: - bufferutil - encoding + - typescript - utf-8-validate - '@coral-xyz/anchor@0.31.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + '@coral-xyz/anchor@0.31.1(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)': dependencies: - '@coral-xyz/anchor-errors': 0.31.0 - '@coral-xyz/borsh': 0.31.0(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) - '@noble/hashes': 1.7.2 - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) - bn.js: 5.2.1 + '@coral-xyz/anchor-errors': 0.31.1 + '@coral-xyz/borsh': 0.31.1(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)) + '@noble/hashes': 1.8.0 + '@solana/web3.js': 1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10) + bn.js: 5.2.2 bs58: 4.0.1 buffer-layout: 1.2.2 camelcase: 6.3.0 @@ -4705,18 +4884,19 @@ snapshots: transitivePeerDependencies: - bufferutil - encoding + - typescript - utf-8-validate - '@coral-xyz/borsh@0.30.1(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + '@coral-xyz/borsh@0.30.1(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10))': dependencies: - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) - bn.js: 5.2.1 + '@solana/web3.js': 1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10) + bn.js: 5.2.2 buffer-layout: 1.2.2 - '@coral-xyz/borsh@0.31.0(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + '@coral-xyz/borsh@0.31.1(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10))': dependencies: - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) - bn.js: 5.2.1 + '@solana/web3.js': 1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10) + bn.js: 5.2.2 buffer-layout: 1.2.2 '@digitak/grubber@3.1.4': {} @@ -4725,8 +4905,8 @@ snapshots: '@emotion/babel-plugin@11.13.5': dependencies: - '@babel/helper-module-imports': 7.25.9 - '@babel/runtime': 7.27.0 + '@babel/helper-module-imports': 7.27.1 + '@babel/runtime': 7.27.6 '@emotion/hash': 0.9.2 '@emotion/memoize': 0.9.0 '@emotion/serialize': 1.3.3 @@ -4761,270 +4941,210 @@ snapshots: '@emotion/memoize@0.9.0': {} - '@emotion/react@11.14.0(@types/react@19.1.2)(react@19.1.0)': + '@emotion/react@11.14.0(@types/react@19.1.8)(react@19.1.0)': dependencies: - '@babel/runtime': 7.27.0 + '@babel/runtime': 7.27.6 '@emotion/babel-plugin': 11.13.5 - '@emotion/cache': 11.14.0 - '@emotion/serialize': 1.3.3 - '@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@19.1.0) - '@emotion/utils': 1.4.2 - '@emotion/weak-memoize': 0.4.0 - hoist-non-react-statics: 3.3.2 - react: 19.1.0 - optionalDependencies: - '@types/react': 19.1.2 - transitivePeerDependencies: - - supports-color - - '@emotion/serialize@1.3.3': - dependencies: - '@emotion/hash': 0.9.2 - '@emotion/memoize': 0.9.0 - '@emotion/unitless': 0.10.0 - '@emotion/utils': 1.4.2 - csstype: 3.1.3 - - '@emotion/sheet@1.4.0': {} - - '@emotion/unitless@0.10.0': {} - - '@emotion/use-insertion-effect-with-fallbacks@1.2.0(react@19.1.0)': - dependencies: - react: 19.1.0 - - '@emotion/utils@1.4.2': {} - - '@emotion/weak-memoize@0.4.0': {} - - '@esbuild/aix-ppc64@0.21.5': - optional: true - - '@esbuild/aix-ppc64@0.25.2': - optional: true - - '@esbuild/android-arm64@0.17.19': - optional: true - - '@esbuild/android-arm64@0.21.5': - optional: true - - '@esbuild/android-arm64@0.25.2': - optional: true - - '@esbuild/android-arm@0.17.19': - optional: true - - '@esbuild/android-arm@0.21.5': - optional: true - - '@esbuild/android-arm@0.25.2': - optional: true - - '@esbuild/android-x64@0.17.19': - optional: true - - '@esbuild/android-x64@0.21.5': - optional: true - - '@esbuild/android-x64@0.25.2': - optional: true - - '@esbuild/darwin-arm64@0.17.19': - optional: true - - '@esbuild/darwin-arm64@0.21.5': - optional: true - - '@esbuild/darwin-arm64@0.25.2': - optional: true + '@emotion/cache': 11.14.0 + '@emotion/serialize': 1.3.3 + '@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@19.1.0) + '@emotion/utils': 1.4.2 + '@emotion/weak-memoize': 0.4.0 + hoist-non-react-statics: 3.3.2 + react: 19.1.0 + optionalDependencies: + '@types/react': 19.1.8 + transitivePeerDependencies: + - supports-color - '@esbuild/darwin-x64@0.17.19': - optional: true + '@emotion/serialize@1.3.3': + dependencies: + '@emotion/hash': 0.9.2 + '@emotion/memoize': 0.9.0 + '@emotion/unitless': 0.10.0 + '@emotion/utils': 1.4.2 + csstype: 3.1.3 - '@esbuild/darwin-x64@0.21.5': - optional: true + '@emotion/sheet@1.4.0': {} - '@esbuild/darwin-x64@0.25.2': - optional: true + '@emotion/unitless@0.10.0': {} - '@esbuild/freebsd-arm64@0.17.19': - optional: true + '@emotion/use-insertion-effect-with-fallbacks@1.2.0(react@19.1.0)': + dependencies: + react: 19.1.0 - '@esbuild/freebsd-arm64@0.21.5': - optional: true + '@emotion/utils@1.4.2': {} - '@esbuild/freebsd-arm64@0.25.2': - optional: true + '@emotion/weak-memoize@0.4.0': {} - '@esbuild/freebsd-x64@0.17.19': + '@esbuild/aix-ppc64@0.24.2': optional: true - '@esbuild/freebsd-x64@0.21.5': + '@esbuild/aix-ppc64@0.25.5': optional: true - '@esbuild/freebsd-x64@0.25.2': + '@esbuild/android-arm64@0.24.2': optional: true - '@esbuild/linux-arm64@0.17.19': + '@esbuild/android-arm64@0.25.5': optional: true - '@esbuild/linux-arm64@0.21.5': + '@esbuild/android-arm@0.24.2': optional: true - '@esbuild/linux-arm64@0.25.2': + '@esbuild/android-arm@0.25.5': optional: true - '@esbuild/linux-arm@0.17.19': + '@esbuild/android-x64@0.24.2': optional: true - '@esbuild/linux-arm@0.21.5': + '@esbuild/android-x64@0.25.5': optional: true - '@esbuild/linux-arm@0.25.2': + '@esbuild/darwin-arm64@0.24.2': optional: true - '@esbuild/linux-ia32@0.17.19': + '@esbuild/darwin-arm64@0.25.5': optional: true - '@esbuild/linux-ia32@0.21.5': + '@esbuild/darwin-x64@0.24.2': optional: true - '@esbuild/linux-ia32@0.25.2': + '@esbuild/darwin-x64@0.25.5': optional: true - '@esbuild/linux-loong64@0.17.19': + '@esbuild/freebsd-arm64@0.24.2': optional: true - '@esbuild/linux-loong64@0.21.5': + '@esbuild/freebsd-arm64@0.25.5': optional: true - '@esbuild/linux-loong64@0.25.2': + '@esbuild/freebsd-x64@0.24.2': optional: true - '@esbuild/linux-mips64el@0.17.19': + '@esbuild/freebsd-x64@0.25.5': optional: true - '@esbuild/linux-mips64el@0.21.5': + '@esbuild/linux-arm64@0.24.2': optional: true - '@esbuild/linux-mips64el@0.25.2': + '@esbuild/linux-arm64@0.25.5': optional: true - '@esbuild/linux-ppc64@0.17.19': + '@esbuild/linux-arm@0.24.2': optional: true - '@esbuild/linux-ppc64@0.21.5': + '@esbuild/linux-arm@0.25.5': optional: true - '@esbuild/linux-ppc64@0.25.2': + '@esbuild/linux-ia32@0.24.2': optional: true - '@esbuild/linux-riscv64@0.17.19': + '@esbuild/linux-ia32@0.25.5': optional: true - '@esbuild/linux-riscv64@0.21.5': + '@esbuild/linux-loong64@0.24.2': optional: true - '@esbuild/linux-riscv64@0.25.2': + '@esbuild/linux-loong64@0.25.5': optional: true - '@esbuild/linux-s390x@0.17.19': + '@esbuild/linux-mips64el@0.24.2': optional: true - '@esbuild/linux-s390x@0.21.5': + '@esbuild/linux-mips64el@0.25.5': optional: true - '@esbuild/linux-s390x@0.25.2': + '@esbuild/linux-ppc64@0.24.2': optional: true - '@esbuild/linux-x64@0.17.19': + '@esbuild/linux-ppc64@0.25.5': optional: true - '@esbuild/linux-x64@0.21.5': + '@esbuild/linux-riscv64@0.24.2': optional: true - '@esbuild/linux-x64@0.25.2': + '@esbuild/linux-riscv64@0.25.5': optional: true - '@esbuild/netbsd-arm64@0.25.2': + '@esbuild/linux-s390x@0.24.2': optional: true - '@esbuild/netbsd-x64@0.17.19': + '@esbuild/linux-s390x@0.25.5': optional: true - '@esbuild/netbsd-x64@0.21.5': + '@esbuild/linux-x64@0.24.2': optional: true - '@esbuild/netbsd-x64@0.25.2': + '@esbuild/linux-x64@0.25.5': optional: true - '@esbuild/openbsd-arm64@0.25.2': + '@esbuild/netbsd-arm64@0.24.2': optional: true - '@esbuild/openbsd-x64@0.17.19': + '@esbuild/netbsd-arm64@0.25.5': optional: true - '@esbuild/openbsd-x64@0.21.5': + '@esbuild/netbsd-x64@0.24.2': optional: true - '@esbuild/openbsd-x64@0.25.2': + '@esbuild/netbsd-x64@0.25.5': optional: true - '@esbuild/sunos-x64@0.17.19': + '@esbuild/openbsd-arm64@0.24.2': optional: true - '@esbuild/sunos-x64@0.21.5': + '@esbuild/openbsd-arm64@0.25.5': optional: true - '@esbuild/sunos-x64@0.25.2': + '@esbuild/openbsd-x64@0.24.2': optional: true - '@esbuild/win32-arm64@0.17.19': + '@esbuild/openbsd-x64@0.25.5': optional: true - '@esbuild/win32-arm64@0.21.5': + '@esbuild/sunos-x64@0.24.2': optional: true - '@esbuild/win32-arm64@0.25.2': + '@esbuild/sunos-x64@0.25.5': optional: true - '@esbuild/win32-ia32@0.17.19': + '@esbuild/win32-arm64@0.24.2': optional: true - '@esbuild/win32-ia32@0.21.5': + '@esbuild/win32-arm64@0.25.5': optional: true - '@esbuild/win32-ia32@0.25.2': + '@esbuild/win32-ia32@0.24.2': optional: true - '@esbuild/win32-x64@0.17.19': + '@esbuild/win32-ia32@0.25.5': optional: true - '@esbuild/win32-x64@0.21.5': + '@esbuild/win32-x64@0.24.2': optional: true - '@esbuild/win32-x64@0.25.2': + '@esbuild/win32-x64@0.25.5': optional: true - '@floating-ui/core@1.6.9': + '@floating-ui/core@1.7.1': dependencies: '@floating-ui/utils': 0.2.9 - '@floating-ui/dom@1.6.13': + '@floating-ui/dom@1.7.1': dependencies: - '@floating-ui/core': 1.6.9 + '@floating-ui/core': 1.7.1 '@floating-ui/utils': 0.2.9 - '@floating-ui/react-dom@2.1.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@floating-ui/react-dom@2.1.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@floating-ui/dom': 1.6.13 + '@floating-ui/dom': 1.7.1 react: 19.1.0 react-dom: 19.1.0(react@19.1.0) '@floating-ui/react@0.26.28(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@floating-ui/react-dom': 2.1.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@floating-ui/react-dom': 2.1.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@floating-ui/utils': 0.2.9 react: 19.1.0 react-dom: 19.1.0(react@19.1.0) @@ -5032,6 +5152,12 @@ snapshots: '@floating-ui/utils@0.2.9': {} + '@isaacs/balanced-match@4.0.1': {} + + '@isaacs/brace-expansion@5.0.0': + dependencies: + '@isaacs/balanced-match': 4.0.1 + '@isaacs/cliui@8.0.2': dependencies: string-width: 5.1.2 @@ -5061,14 +5187,14 @@ snapshots: dependencies: '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.17.30 + '@types/node': 24.0.3 jest-mock: 29.7.0 '@jest/fake-timers@29.7.0': dependencies: '@jest/types': 29.6.3 '@sinonjs/fake-timers': 10.3.0 - '@types/node': 20.17.30 + '@types/node': 24.0.3 jest-message-util: 29.7.0 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -5079,7 +5205,7 @@ snapshots: '@jest/transform@29.7.0': dependencies: - '@babel/core': 7.26.10 + '@babel/core': 7.27.4 '@jest/types': 29.6.3 '@jridgewell/trace-mapping': 0.3.25 babel-plugin-istanbul: 6.1.1 @@ -5102,7 +5228,7 @@ snapshots: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 20.17.30 + '@types/node': 24.0.3 '@types/yargs': 17.0.33 chalk: 4.1.2 @@ -5128,86 +5254,86 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.0 - '@mantine/code-highlight@7.17.4(@mantine/core@7.17.4(@mantine/hooks@7.17.4(react@19.1.0))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@7.17.4(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@mantine/code-highlight@8.1.1(@mantine/core@8.1.1(@mantine/hooks@8.1.1(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.1.1(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@mantine/core': 7.17.4(@mantine/hooks@7.17.4(react@19.1.0))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@mantine/hooks': 7.17.4(react@19.1.0) + '@mantine/core': 8.1.1(@mantine/hooks@8.1.1(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@mantine/hooks': 8.1.1(react@19.1.0) clsx: 2.1.1 highlight.js: 11.11.1 react: 19.1.0 react-dom: 19.1.0(react@19.1.0) - '@mantine/core@7.17.4(@mantine/hooks@7.17.4(react@19.1.0))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@mantine/core@8.1.1(@mantine/hooks@8.1.1(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: '@floating-ui/react': 0.26.28(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@mantine/hooks': 7.17.4(react@19.1.0) + '@mantine/hooks': 8.1.1(react@19.1.0) clsx: 2.1.1 react: 19.1.0 react-dom: 19.1.0(react@19.1.0) react-number-format: 5.4.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - react-remove-scroll: 2.6.3(@types/react@19.1.2)(react@19.1.0) - react-textarea-autosize: 8.5.9(@types/react@19.1.2)(react@19.1.0) - type-fest: 4.40.0 + react-remove-scroll: 2.7.1(@types/react@19.1.8)(react@19.1.0) + react-textarea-autosize: 8.5.9(@types/react@19.1.8)(react@19.1.0) + type-fest: 4.41.0 transitivePeerDependencies: - '@types/react' - '@mantine/dates@7.17.4(@mantine/core@7.17.4(@mantine/hooks@7.17.4(react@19.1.0))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@7.17.4(react@19.1.0))(dayjs@1.11.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@mantine/dates@8.1.1(@mantine/core@8.1.1(@mantine/hooks@8.1.1(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.1.1(react@19.1.0))(dayjs@1.11.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@mantine/core': 7.17.4(@mantine/hooks@7.17.4(react@19.1.0))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@mantine/hooks': 7.17.4(react@19.1.0) + '@mantine/core': 8.1.1(@mantine/hooks@8.1.1(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@mantine/hooks': 8.1.1(react@19.1.0) clsx: 2.1.1 dayjs: 1.11.13 react: 19.1.0 react-dom: 19.1.0(react@19.1.0) - '@mantine/form@7.17.4(react@19.1.0)': + '@mantine/form@8.1.1(react@19.1.0)': dependencies: fast-deep-equal: 3.1.3 klona: 2.0.6 react: 19.1.0 - '@mantine/hooks@7.17.4(react@19.1.0)': + '@mantine/hooks@8.1.1(react@19.1.0)': dependencies: react: 19.1.0 - '@mantine/modals@7.17.4(@mantine/core@7.17.4(@mantine/hooks@7.17.4(react@19.1.0))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@7.17.4(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@mantine/modals@8.1.1(@mantine/core@8.1.1(@mantine/hooks@8.1.1(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.1.1(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@mantine/core': 7.17.4(@mantine/hooks@7.17.4(react@19.1.0))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@mantine/hooks': 7.17.4(react@19.1.0) + '@mantine/core': 8.1.1(@mantine/hooks@8.1.1(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@mantine/hooks': 8.1.1(react@19.1.0) react: 19.1.0 react-dom: 19.1.0(react@19.1.0) - '@mantine/notifications@7.17.4(@mantine/core@7.17.4(@mantine/hooks@7.17.4(react@19.1.0))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@7.17.4(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@mantine/notifications@8.1.1(@mantine/core@8.1.1(@mantine/hooks@8.1.1(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.1.1(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@mantine/core': 7.17.4(@mantine/hooks@7.17.4(react@19.1.0))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@mantine/hooks': 7.17.4(react@19.1.0) - '@mantine/store': 7.17.4(react@19.1.0) + '@mantine/core': 8.1.1(@mantine/hooks@8.1.1(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@mantine/hooks': 8.1.1(react@19.1.0) + '@mantine/store': 8.1.1(react@19.1.0) react: 19.1.0 react-dom: 19.1.0(react@19.1.0) react-transition-group: 4.4.5(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@mantine/store@7.17.4(react@19.1.0)': + '@mantine/store@8.1.1(react@19.1.0)': dependencies: react: 19.1.0 - '@metaplex-foundation/mpl-core@1.3.0(@metaplex-foundation/umi@1.2.0)(@noble/hashes@1.7.2)': + '@metaplex-foundation/mpl-core@1.4.0(@metaplex-foundation/umi@1.2.0)(@noble/hashes@1.8.0)': dependencies: '@metaplex-foundation/umi': 1.2.0 - '@msgpack/msgpack': 3.1.1 - '@noble/hashes': 1.7.2 + '@msgpack/msgpack': 3.1.2 + '@noble/hashes': 1.8.0 - '@metaplex-foundation/umi-bundle-defaults@1.2.0(@metaplex-foundation/umi@1.2.0)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + '@metaplex-foundation/umi-bundle-defaults@1.2.0(@metaplex-foundation/umi@1.2.0)(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10))': dependencies: '@metaplex-foundation/umi': 1.2.0 '@metaplex-foundation/umi-downloader-http': 1.2.0(@metaplex-foundation/umi@1.2.0) - '@metaplex-foundation/umi-eddsa-web3js': 1.1.1(@metaplex-foundation/umi@1.2.0)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@metaplex-foundation/umi-eddsa-web3js': 1.1.1(@metaplex-foundation/umi@1.2.0)(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)) '@metaplex-foundation/umi-http-fetch': 1.2.0(@metaplex-foundation/umi@1.2.0) '@metaplex-foundation/umi-program-repository': 1.2.0(@metaplex-foundation/umi@1.2.0) '@metaplex-foundation/umi-rpc-chunk-get-accounts': 1.2.0(@metaplex-foundation/umi@1.2.0) - '@metaplex-foundation/umi-rpc-web3js': 1.2.0(@metaplex-foundation/umi@1.2.0)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@metaplex-foundation/umi-rpc-web3js': 1.2.0(@metaplex-foundation/umi@1.2.0)(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)) '@metaplex-foundation/umi-serializer-data-view': 1.2.0(@metaplex-foundation/umi@1.2.0) - '@metaplex-foundation/umi-transaction-factory-web3js': 1.2.0(@metaplex-foundation/umi@1.2.0)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@metaplex-foundation/umi-transaction-factory-web3js': 1.2.0(@metaplex-foundation/umi@1.2.0)(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)) + '@solana/web3.js': 1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10) transitivePeerDependencies: - encoding @@ -5215,13 +5341,13 @@ snapshots: dependencies: '@metaplex-foundation/umi': 1.2.0 - '@metaplex-foundation/umi-eddsa-web3js@1.1.1(@metaplex-foundation/umi@1.2.0)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + '@metaplex-foundation/umi-eddsa-web3js@1.1.1(@metaplex-foundation/umi@1.2.0)(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10))': dependencies: '@metaplex-foundation/umi': 1.2.0 - '@metaplex-foundation/umi-web3js-adapters': 1.1.1(@metaplex-foundation/umi@1.2.0)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) - '@noble/curves': 1.8.2 - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) - yaml: 2.7.1 + '@metaplex-foundation/umi-web3js-adapters': 1.1.1(@metaplex-foundation/umi@1.2.0)(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)) + '@noble/curves': 1.9.2 + '@solana/web3.js': 1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10) + yaml: 2.8.0 '@metaplex-foundation/umi-http-fetch@1.2.0(@metaplex-foundation/umi@1.2.0)': dependencies: @@ -5244,11 +5370,11 @@ snapshots: dependencies: '@metaplex-foundation/umi': 1.2.0 - '@metaplex-foundation/umi-rpc-web3js@1.2.0(@metaplex-foundation/umi@1.2.0)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + '@metaplex-foundation/umi-rpc-web3js@1.2.0(@metaplex-foundation/umi@1.2.0)(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10))': dependencies: '@metaplex-foundation/umi': 1.2.0 - '@metaplex-foundation/umi-web3js-adapters': 1.2.0(@metaplex-foundation/umi@1.2.0)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@metaplex-foundation/umi-web3js-adapters': 1.2.0(@metaplex-foundation/umi@1.2.0)(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)) + '@solana/web3.js': 1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10) '@metaplex-foundation/umi-serializer-data-view@1.2.0(@metaplex-foundation/umi@1.2.0)': dependencies: @@ -5272,22 +5398,22 @@ snapshots: '@metaplex-foundation/umi-serializers-encodings': 1.2.0 '@metaplex-foundation/umi-serializers-numbers': 1.2.0 - '@metaplex-foundation/umi-transaction-factory-web3js@1.2.0(@metaplex-foundation/umi@1.2.0)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + '@metaplex-foundation/umi-transaction-factory-web3js@1.2.0(@metaplex-foundation/umi@1.2.0)(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10))': dependencies: '@metaplex-foundation/umi': 1.2.0 - '@metaplex-foundation/umi-web3js-adapters': 1.2.0(@metaplex-foundation/umi@1.2.0)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@metaplex-foundation/umi-web3js-adapters': 1.2.0(@metaplex-foundation/umi@1.2.0)(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)) + '@solana/web3.js': 1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10) - '@metaplex-foundation/umi-web3js-adapters@1.1.1(@metaplex-foundation/umi@1.2.0)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + '@metaplex-foundation/umi-web3js-adapters@1.1.1(@metaplex-foundation/umi@1.2.0)(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10))': dependencies: '@metaplex-foundation/umi': 1.2.0 - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10) buffer: 6.0.3 - '@metaplex-foundation/umi-web3js-adapters@1.2.0(@metaplex-foundation/umi@1.2.0)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + '@metaplex-foundation/umi-web3js-adapters@1.2.0(@metaplex-foundation/umi@1.2.0)(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10))': dependencies: '@metaplex-foundation/umi': 1.2.0 - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10) buffer: 6.0.3 '@metaplex-foundation/umi@1.2.0': @@ -5300,13 +5426,13 @@ snapshots: '@mjackson/node-fetch-server@0.2.0': {} - '@msgpack/msgpack@3.1.1': {} + '@msgpack/msgpack@3.1.2': {} - '@noble/curves@1.8.2': + '@noble/curves@1.9.2': dependencies: - '@noble/hashes': 1.7.2 + '@noble/hashes': 1.8.0 - '@noble/hashes@1.7.2': {} + '@noble/hashes@1.8.0': {} '@nodelib/fs.scandir@2.1.5': dependencies: @@ -5328,7 +5454,7 @@ snapshots: proc-log: 3.0.0 promise-inflight: 1.0.1 promise-retry: 2.0.1 - semver: 7.7.1 + semver: 7.7.2 which: 3.0.1 transitivePeerDependencies: - bluebird @@ -5341,7 +5467,7 @@ snapshots: json-parse-even-better-errors: 3.0.2 normalize-package-data: 5.0.0 proc-log: 3.0.0 - semver: 7.7.1 + semver: 7.7.2 transitivePeerDependencies: - bluebird @@ -5373,65 +5499,63 @@ snapshots: '@pkgjs/parseargs@0.11.0': optional: true - '@prisma/client@6.6.0(prisma@6.6.0(typescript@5.8.3))(typescript@5.8.3)': + '@prisma/client@6.10.1(prisma@6.10.1(typescript@5.8.3))(typescript@5.8.3)': optionalDependencies: - prisma: 6.6.0(typescript@5.8.3) + prisma: 6.10.1(typescript@5.8.3) typescript: 5.8.3 - '@prisma/config@6.6.0': + '@prisma/config@6.10.1': dependencies: - esbuild: 0.25.2 - esbuild-register: 3.6.0(esbuild@0.25.2) - transitivePeerDependencies: - - supports-color + jiti: 2.4.2 - '@prisma/debug@6.6.0': {} + '@prisma/debug@6.10.1': {} - '@prisma/dmmf@6.6.0': {} + '@prisma/dmmf@6.10.1': {} - '@prisma/engines-version@6.6.0-53.f676762280b54cd07c770017ed3711ddde35f37a': {} + '@prisma/engines-version@6.10.1-1.9b628578b3b7cae625e8c927178f15a170e74a9c': {} - '@prisma/engines@6.6.0': + '@prisma/engines@6.10.1': dependencies: - '@prisma/debug': 6.6.0 - '@prisma/engines-version': 6.6.0-53.f676762280b54cd07c770017ed3711ddde35f37a - '@prisma/fetch-engine': 6.6.0 - '@prisma/get-platform': 6.6.0 + '@prisma/debug': 6.10.1 + '@prisma/engines-version': 6.10.1-1.9b628578b3b7cae625e8c927178f15a170e74a9c + '@prisma/fetch-engine': 6.10.1 + '@prisma/get-platform': 6.10.1 - '@prisma/fetch-engine@6.6.0': + '@prisma/fetch-engine@6.10.1': dependencies: - '@prisma/debug': 6.6.0 - '@prisma/engines-version': 6.6.0-53.f676762280b54cd07c770017ed3711ddde35f37a - '@prisma/get-platform': 6.6.0 + '@prisma/debug': 6.10.1 + '@prisma/engines-version': 6.10.1-1.9b628578b3b7cae625e8c927178f15a170e74a9c + '@prisma/get-platform': 6.10.1 - '@prisma/generator-helper@6.6.0': + '@prisma/generator-helper@6.10.1': dependencies: - '@prisma/debug': 6.6.0 - '@prisma/dmmf': 6.6.0 - '@prisma/generator': 6.6.0 + '@prisma/debug': 6.10.1 + '@prisma/dmmf': 6.10.1 + '@prisma/generator': 6.10.1 - '@prisma/generator@6.6.0': {} + '@prisma/generator@6.10.1': {} - '@prisma/get-platform@6.6.0': + '@prisma/get-platform@6.10.1': dependencies: - '@prisma/debug': 6.6.0 + '@prisma/debug': 6.10.1 - '@pubkey-protocol/anchor@1.0.2(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + '@pubkey-protocol/anchor@1.0.5(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)': dependencies: - '@coral-xyz/anchor': 0.30.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) - '@noble/hashes': 1.7.2 - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@coral-xyz/anchor': 0.31.1(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10) + '@noble/hashes': 1.8.0 + '@solana/web3.js': 1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10) transitivePeerDependencies: - bufferutil - encoding + - typescript - utf-8-validate - '@pubkey-protocol/sdk@1.0.2(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)(utf-8-validate@5.0.10)': + '@pubkey-protocol/sdk@1.0.5(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)(utf-8-validate@5.0.10)': dependencies: - '@coral-xyz/anchor': 0.30.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) - '@pubkey-protocol/anchor': 1.0.2(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@coral-xyz/anchor': 0.31.1(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10) + '@pubkey-protocol/anchor': 1.0.5(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10) '@solana-developers/helpers': 2.8.1(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)(utf-8-validate@5.0.10) - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10) transitivePeerDependencies: - bufferutil - encoding @@ -5439,278 +5563,286 @@ snapshots: - typescript - utf-8-validate - '@pubkeyapp/wallet-adapter-mantine-ui@2.4.3(@mantine/core@7.17.4(@mantine/hooks@7.17.4(react@19.1.0))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@solana/wallet-adapter-base@0.9.25(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)))(@solana/wallet-adapter-react@0.15.37(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bs58@5.0.0)(react-native@0.79.1(@babel/core@7.26.10)(@types/react@19.1.2)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0))(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(react@19.1.0)': + '@pubkeyapp/wallet-adapter-mantine-ui@2.4.3(@mantine/core@8.1.1(@mantine/hooks@8.1.1(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@solana/wallet-adapter-base@0.9.27(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)))(@solana/wallet-adapter-react@0.15.39(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10))(bs58@5.0.0)(react-native@0.79.1(@babel/core@7.27.4)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0))(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10))(react@19.1.0)': dependencies: - '@mantine/core': 7.17.4(@mantine/hooks@7.17.4(react@19.1.0))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@solana/wallet-adapter-base': 0.9.25(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) - '@solana/wallet-adapter-react': 0.15.37(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bs58@5.0.0)(react-native@0.79.1(@babel/core@7.26.10)(@types/react@19.1.2)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0) - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@mantine/core': 8.1.1(@mantine/hooks@8.1.1(react@19.1.0))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)) + '@solana/wallet-adapter-react': 0.15.39(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10))(bs58@5.0.0)(react-native@0.79.1(@babel/core@7.27.4)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0) + '@solana/web3.js': 1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10) react: 19.1.0 '@radix-ui/number@1.1.1': {} '@radix-ui/primitive@1.1.2': {} - '@radix-ui/react-accordion@1.2.4(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-accordion@1.2.11(@types/react-dom@19.1.6(@types/react@19.1.8))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: '@radix-ui/primitive': 1.1.2 - '@radix-ui/react-collapsible': 1.1.4(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-collection': 1.1.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-context': 1.1.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-direction': 1.1.1(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-id': 1.1.1(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-primitive': 2.0.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-use-controllable-state': 1.1.1(@types/react@19.1.2)(react@19.1.0) + '@radix-ui/react-collapsible': 1.1.11(@types/react-dom@19.1.6(@types/react@19.1.8))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.1.6(@types/react@19.1.8))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.8)(react@19.1.0) + '@radix-ui/react-context': 1.1.2(@types/react@19.1.8)(react@19.1.0) + '@radix-ui/react-direction': 1.1.1(@types/react@19.1.8)(react@19.1.0) + '@radix-ui/react-id': 1.1.1(@types/react@19.1.8)(react@19.1.0) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.6(@types/react@19.1.8))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.8)(react@19.1.0) react: 19.1.0 react-dom: 19.1.0(react@19.1.0) optionalDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2(@types/react@19.1.2) + '@types/react': 19.1.8 + '@types/react-dom': 19.1.6(@types/react@19.1.8) - '@radix-ui/react-arrow@1.1.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-arrow@1.1.7(@types/react-dom@19.1.6(@types/react@19.1.8))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@radix-ui/react-primitive': 2.0.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.6(@types/react@19.1.8))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) react: 19.1.0 react-dom: 19.1.0(react@19.1.0) optionalDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2(@types/react@19.1.2) + '@types/react': 19.1.8 + '@types/react-dom': 19.1.6(@types/react@19.1.8) - '@radix-ui/react-collapsible@1.1.4(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-collapsible@1.1.11(@types/react-dom@19.1.6(@types/react@19.1.8))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: '@radix-ui/primitive': 1.1.2 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-context': 1.1.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-id': 1.1.1(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-presence': 1.1.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-primitive': 2.0.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-use-controllable-state': 1.1.1(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.2)(react@19.1.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.8)(react@19.1.0) + '@radix-ui/react-context': 1.1.2(@types/react@19.1.8)(react@19.1.0) + '@radix-ui/react-id': 1.1.1(@types/react@19.1.8)(react@19.1.0) + '@radix-ui/react-presence': 1.1.4(@types/react-dom@19.1.6(@types/react@19.1.8))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.6(@types/react@19.1.8))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.8)(react@19.1.0) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.8)(react@19.1.0) react: 19.1.0 react-dom: 19.1.0(react@19.1.0) optionalDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2(@types/react@19.1.2) + '@types/react': 19.1.8 + '@types/react-dom': 19.1.6(@types/react@19.1.8) - '@radix-ui/react-collection@1.1.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-collection@1.1.7(@types/react-dom@19.1.6(@types/react@19.1.8))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-context': 1.1.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-primitive': 2.0.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-slot': 1.2.0(@types/react@19.1.2)(react@19.1.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.8)(react@19.1.0) + '@radix-ui/react-context': 1.1.2(@types/react@19.1.8)(react@19.1.0) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.6(@types/react@19.1.8))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-slot': 1.2.3(@types/react@19.1.8)(react@19.1.0) react: 19.1.0 react-dom: 19.1.0(react@19.1.0) optionalDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2(@types/react@19.1.2) + '@types/react': 19.1.8 + '@types/react-dom': 19.1.6(@types/react@19.1.8) - '@radix-ui/react-compose-refs@1.1.2(@types/react@19.1.2)(react@19.1.0)': + '@radix-ui/react-compose-refs@1.1.2(@types/react@19.1.8)(react@19.1.0)': dependencies: react: 19.1.0 optionalDependencies: - '@types/react': 19.1.2 + '@types/react': 19.1.8 - '@radix-ui/react-context@1.1.2(@types/react@19.1.2)(react@19.1.0)': + '@radix-ui/react-context@1.1.2(@types/react@19.1.8)(react@19.1.0)': dependencies: react: 19.1.0 optionalDependencies: - '@types/react': 19.1.2 + '@types/react': 19.1.8 - '@radix-ui/react-direction@1.1.1(@types/react@19.1.2)(react@19.1.0)': + '@radix-ui/react-direction@1.1.1(@types/react@19.1.8)(react@19.1.0)': dependencies: react: 19.1.0 optionalDependencies: - '@types/react': 19.1.2 + '@types/react': 19.1.8 - '@radix-ui/react-dismissable-layer@1.1.6(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-dismissable-layer@1.1.10(@types/react-dom@19.1.6(@types/react@19.1.8))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: '@radix-ui/primitive': 1.1.2 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-primitive': 2.0.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-use-escape-keydown': 1.1.1(@types/react@19.1.2)(react@19.1.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.8)(react@19.1.0) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.6(@types/react@19.1.8))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.8)(react@19.1.0) + '@radix-ui/react-use-escape-keydown': 1.1.1(@types/react@19.1.8)(react@19.1.0) react: 19.1.0 react-dom: 19.1.0(react@19.1.0) optionalDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2(@types/react@19.1.2) + '@types/react': 19.1.8 + '@types/react-dom': 19.1.6(@types/react@19.1.8) - '@radix-ui/react-focus-guards@1.1.2(@types/react@19.1.2)(react@19.1.0)': + '@radix-ui/react-focus-guards@1.1.2(@types/react@19.1.8)(react@19.1.0)': dependencies: react: 19.1.0 optionalDependencies: - '@types/react': 19.1.2 + '@types/react': 19.1.8 - '@radix-ui/react-focus-scope@1.1.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-focus-scope@1.1.7(@types/react-dom@19.1.6(@types/react@19.1.8))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-primitive': 2.0.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.2)(react@19.1.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.8)(react@19.1.0) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.6(@types/react@19.1.8))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.8)(react@19.1.0) react: 19.1.0 react-dom: 19.1.0(react@19.1.0) optionalDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2(@types/react@19.1.2) + '@types/react': 19.1.8 + '@types/react-dom': 19.1.6(@types/react@19.1.8) - '@radix-ui/react-id@1.1.1(@types/react@19.1.2)(react@19.1.0)': + '@radix-ui/react-id@1.1.1(@types/react@19.1.8)(react@19.1.0)': dependencies: - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.2)(react@19.1.0) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.8)(react@19.1.0) react: 19.1.0 optionalDependencies: - '@types/react': 19.1.2 - - '@radix-ui/react-popper@1.2.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': - dependencies: - '@floating-ui/react-dom': 2.1.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-arrow': 1.1.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-context': 1.1.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-primitive': 2.0.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-use-rect': 1.1.1(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-use-size': 1.1.1(@types/react@19.1.2)(react@19.1.0) + '@types/react': 19.1.8 + + '@radix-ui/react-popper@1.2.7(@types/react-dom@19.1.6(@types/react@19.1.8))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@floating-ui/react-dom': 2.1.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-arrow': 1.1.7(@types/react-dom@19.1.6(@types/react@19.1.8))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.8)(react@19.1.0) + '@radix-ui/react-context': 1.1.2(@types/react@19.1.8)(react@19.1.0) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.6(@types/react@19.1.8))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.8)(react@19.1.0) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.8)(react@19.1.0) + '@radix-ui/react-use-rect': 1.1.1(@types/react@19.1.8)(react@19.1.0) + '@radix-ui/react-use-size': 1.1.1(@types/react@19.1.8)(react@19.1.0) '@radix-ui/rect': 1.1.1 react: 19.1.0 react-dom: 19.1.0(react@19.1.0) optionalDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2(@types/react@19.1.2) + '@types/react': 19.1.8 + '@types/react-dom': 19.1.6(@types/react@19.1.8) - '@radix-ui/react-portal@1.1.5(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-portal@1.1.9(@types/react-dom@19.1.6(@types/react@19.1.8))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@radix-ui/react-primitive': 2.0.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.2)(react@19.1.0) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.6(@types/react@19.1.8))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.8)(react@19.1.0) react: 19.1.0 react-dom: 19.1.0(react@19.1.0) optionalDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2(@types/react@19.1.2) + '@types/react': 19.1.8 + '@types/react-dom': 19.1.6(@types/react@19.1.8) - '@radix-ui/react-presence@1.1.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-presence@1.1.4(@types/react-dom@19.1.6(@types/react@19.1.8))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.2)(react@19.1.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.8)(react@19.1.0) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.8)(react@19.1.0) react: 19.1.0 react-dom: 19.1.0(react@19.1.0) optionalDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2(@types/react@19.1.2) + '@types/react': 19.1.8 + '@types/react-dom': 19.1.6(@types/react@19.1.8) - '@radix-ui/react-primitive@2.0.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-primitive@2.1.3(@types/react-dom@19.1.6(@types/react@19.1.8))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@radix-ui/react-slot': 1.2.0(@types/react@19.1.2)(react@19.1.0) + '@radix-ui/react-slot': 1.2.3(@types/react@19.1.8)(react@19.1.0) react: 19.1.0 react-dom: 19.1.0(react@19.1.0) optionalDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2(@types/react@19.1.2) + '@types/react': 19.1.8 + '@types/react-dom': 19.1.6(@types/react@19.1.8) - '@radix-ui/react-select@2.1.7(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-select@2.2.5(@types/react-dom@19.1.6(@types/react@19.1.8))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: '@radix-ui/number': 1.1.1 '@radix-ui/primitive': 1.1.2 - '@radix-ui/react-collection': 1.1.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-context': 1.1.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-direction': 1.1.1(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-dismissable-layer': 1.1.6(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-focus-guards': 1.1.2(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-focus-scope': 1.1.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-id': 1.1.1(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-popper': 1.2.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-portal': 1.1.5(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-primitive': 2.0.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-slot': 1.2.0(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-use-controllable-state': 1.1.1(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-use-previous': 1.1.1(@types/react@19.1.2)(react@19.1.0) - '@radix-ui/react-visually-hidden': 1.1.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - aria-hidden: 1.2.4 + '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.1.6(@types/react@19.1.8))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.8)(react@19.1.0) + '@radix-ui/react-context': 1.1.2(@types/react@19.1.8)(react@19.1.0) + '@radix-ui/react-direction': 1.1.1(@types/react@19.1.8)(react@19.1.0) + '@radix-ui/react-dismissable-layer': 1.1.10(@types/react-dom@19.1.6(@types/react@19.1.8))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-focus-guards': 1.1.2(@types/react@19.1.8)(react@19.1.0) + '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.1.6(@types/react@19.1.8))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-id': 1.1.1(@types/react@19.1.8)(react@19.1.0) + '@radix-ui/react-popper': 1.2.7(@types/react-dom@19.1.6(@types/react@19.1.8))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.1.6(@types/react@19.1.8))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.6(@types/react@19.1.8))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-slot': 1.2.3(@types/react@19.1.8)(react@19.1.0) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.8)(react@19.1.0) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.8)(react@19.1.0) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.8)(react@19.1.0) + '@radix-ui/react-use-previous': 1.1.1(@types/react@19.1.8)(react@19.1.0) + '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@19.1.6(@types/react@19.1.8))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + aria-hidden: 1.2.6 react: 19.1.0 react-dom: 19.1.0(react@19.1.0) - react-remove-scroll: 2.6.3(@types/react@19.1.2)(react@19.1.0) + react-remove-scroll: 2.7.1(@types/react@19.1.8)(react@19.1.0) + optionalDependencies: + '@types/react': 19.1.8 + '@types/react-dom': 19.1.6(@types/react@19.1.8) + + '@radix-ui/react-slot@1.2.3(@types/react@19.1.8)(react@19.1.0)': + dependencies: + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.8)(react@19.1.0) + react: 19.1.0 optionalDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2(@types/react@19.1.2) + '@types/react': 19.1.8 - '@radix-ui/react-slot@1.2.0(@types/react@19.1.2)(react@19.1.0)': + '@radix-ui/react-use-callback-ref@1.1.1(@types/react@19.1.8)(react@19.1.0)': dependencies: - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.2)(react@19.1.0) react: 19.1.0 optionalDependencies: - '@types/react': 19.1.2 + '@types/react': 19.1.8 - '@radix-ui/react-use-callback-ref@1.1.1(@types/react@19.1.2)(react@19.1.0)': + '@radix-ui/react-use-controllable-state@1.2.2(@types/react@19.1.8)(react@19.1.0)': dependencies: + '@radix-ui/react-use-effect-event': 0.0.2(@types/react@19.1.8)(react@19.1.0) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.8)(react@19.1.0) react: 19.1.0 optionalDependencies: - '@types/react': 19.1.2 + '@types/react': 19.1.8 - '@radix-ui/react-use-controllable-state@1.1.1(@types/react@19.1.2)(react@19.1.0)': + '@radix-ui/react-use-effect-event@0.0.2(@types/react@19.1.8)(react@19.1.0)': dependencies: - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.2)(react@19.1.0) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.8)(react@19.1.0) react: 19.1.0 optionalDependencies: - '@types/react': 19.1.2 + '@types/react': 19.1.8 - '@radix-ui/react-use-escape-keydown@1.1.1(@types/react@19.1.2)(react@19.1.0)': + '@radix-ui/react-use-escape-keydown@1.1.1(@types/react@19.1.8)(react@19.1.0)': dependencies: - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.2)(react@19.1.0) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.8)(react@19.1.0) react: 19.1.0 optionalDependencies: - '@types/react': 19.1.2 + '@types/react': 19.1.8 - '@radix-ui/react-use-layout-effect@1.1.1(@types/react@19.1.2)(react@19.1.0)': + '@radix-ui/react-use-layout-effect@1.1.1(@types/react@19.1.8)(react@19.1.0)': dependencies: react: 19.1.0 optionalDependencies: - '@types/react': 19.1.2 + '@types/react': 19.1.8 - '@radix-ui/react-use-previous@1.1.1(@types/react@19.1.2)(react@19.1.0)': + '@radix-ui/react-use-previous@1.1.1(@types/react@19.1.8)(react@19.1.0)': dependencies: react: 19.1.0 optionalDependencies: - '@types/react': 19.1.2 + '@types/react': 19.1.8 - '@radix-ui/react-use-rect@1.1.1(@types/react@19.1.2)(react@19.1.0)': + '@radix-ui/react-use-rect@1.1.1(@types/react@19.1.8)(react@19.1.0)': dependencies: '@radix-ui/rect': 1.1.1 react: 19.1.0 optionalDependencies: - '@types/react': 19.1.2 + '@types/react': 19.1.8 - '@radix-ui/react-use-size@1.1.1(@types/react@19.1.2)(react@19.1.0)': + '@radix-ui/react-use-size@1.1.1(@types/react@19.1.8)(react@19.1.0)': dependencies: - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.2)(react@19.1.0) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.8)(react@19.1.0) react: 19.1.0 optionalDependencies: - '@types/react': 19.1.2 + '@types/react': 19.1.8 - '@radix-ui/react-visually-hidden@1.1.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@radix-ui/react-visually-hidden@1.2.3(@types/react-dom@19.1.6(@types/react@19.1.8))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@radix-ui/react-primitive': 2.0.3(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.6(@types/react@19.1.8))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) react: 19.1.0 react-dom: 19.1.0(react@19.1.0) optionalDependencies: - '@types/react': 19.1.2 - '@types/react-dom': 19.1.2(@types/react@19.1.2) + '@types/react': 19.1.8 + '@types/react-dom': 19.1.6(@types/react@19.1.8) '@radix-ui/rect@1.1.1': {} - '@react-native-async-storage/async-storage@1.24.0(react-native@0.79.1(@babel/core@7.26.10)(@types/react@19.1.2)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))': + '@react-native-async-storage/async-storage@1.24.0(react-native@0.79.1(@babel/core@7.27.4)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))': dependencies: merge-options: 3.0.4 - react-native: 0.79.1(@babel/core@7.26.10)(@types/react@19.1.2)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10) + react-native: 0.79.1(@babel/core@7.27.4)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10) optional: true '@react-native/assets-registry@0.79.1': {} - '@react-native/codegen@0.79.1(@babel/core@7.26.10)': + '@react-native/codegen@0.79.1(@babel/core@7.27.4)': dependencies: - '@babel/core': 7.26.10 + '@babel/core': 7.27.4 glob: 7.2.3 hermes-parser: 0.25.1 invariant: 2.2.4 @@ -5723,10 +5855,10 @@ snapshots: chalk: 4.1.2 debug: 2.6.9 invariant: 2.2.4 - metro: 0.82.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) - metro-config: 0.82.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) - metro-core: 0.82.1 - semver: 7.7.1 + metro: 0.82.4(bufferutil@4.0.9)(utf-8-validate@5.0.10) + metro-config: 0.82.4(bufferutil@4.0.9)(utf-8-validate@5.0.10) + metro-core: 0.82.4 + semver: 7.7.2 transitivePeerDependencies: - bufferutil - supports-color @@ -5758,32 +5890,32 @@ snapshots: '@react-native/normalize-colors@0.79.1': {} - '@react-native/virtualized-lists@0.79.1(@types/react@19.1.2)(react-native@0.79.1(@babel/core@7.26.10)(@types/react@19.1.2)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0)': + '@react-native/virtualized-lists@0.79.1(@types/react@19.1.8)(react-native@0.79.1(@babel/core@7.27.4)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0)': dependencies: invariant: 2.2.4 nullthrows: 1.1.1 react: 19.1.0 - react-native: 0.79.1(@babel/core@7.26.10)(@types/react@19.1.2)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10) + react-native: 0.79.1(@babel/core@7.27.4)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10) optionalDependencies: - '@types/react': 19.1.2 - - '@react-router/dev@7.5.0(@react-router/serve@7.5.0(react-router@7.5.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(typescript@5.8.3))(@types/node@20.17.30)(babel-plugin-macros@3.1.0)(react-router@7.5.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(typescript@5.8.3)(vite@5.4.18(@types/node@20.17.30)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0))': - dependencies: - '@babel/core': 7.26.10 - '@babel/generator': 7.27.0 - '@babel/parser': 7.27.0 - '@babel/plugin-syntax-decorators': 7.25.9(@babel/core@7.26.10) - '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.26.10) - '@babel/preset-typescript': 7.27.0(@babel/core@7.26.10) - '@babel/traverse': 7.27.0 - '@babel/types': 7.27.0 + '@types/react': 19.1.8 + + '@react-router/dev@7.6.2(@react-router/serve@7.6.2(react-router@7.6.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(typescript@5.8.3))(@types/node@24.0.3)(babel-plugin-macros@3.1.0)(jiti@2.4.2)(react-router@7.6.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(sugarss@4.0.1(postcss@8.5.6))(terser@5.43.1)(typescript@5.8.3)(vite@6.3.5(@types/node@24.0.3)(jiti@2.4.2)(sugarss@4.0.1(postcss@8.5.6))(terser@5.43.1)(yaml@2.8.0))(yaml@2.8.0)': + dependencies: + '@babel/core': 7.27.4 + '@babel/generator': 7.27.5 + '@babel/parser': 7.27.5 + '@babel/plugin-syntax-decorators': 7.27.1(@babel/core@7.27.4) + '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.27.4) + '@babel/preset-typescript': 7.27.1(@babel/core@7.27.4) + '@babel/traverse': 7.27.4 + '@babel/types': 7.27.6 '@npmcli/package-json': 4.0.1 - '@react-router/node': 7.5.0(react-router@7.5.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(typescript@5.8.3) + '@react-router/node': 7.6.2(react-router@7.6.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(typescript@5.8.3) arg: 5.0.2 babel-dead-code-elimination: 1.0.10 chokidar: 4.0.3 - dedent: 1.5.3(babel-plugin-macros@3.1.0) - es-module-lexer: 1.6.0 + dedent: 1.6.0(babel-plugin-macros@3.1.0) + es-module-lexer: 1.7.0 exit-hook: 2.2.1 fs-extra: 10.1.0 jsesc: 3.0.2 @@ -5792,19 +5924,20 @@ snapshots: picocolors: 1.1.1 prettier: 2.8.8 react-refresh: 0.14.2 - react-router: 7.5.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - semver: 7.7.1 + react-router: 7.6.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + semver: 7.7.2 set-cookie-parser: 2.7.1 valibot: 0.41.0(typescript@5.8.3) - vite: 5.4.18(@types/node@20.17.30)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0) - vite-node: 3.0.0-beta.2(@types/node@20.17.30)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0) + vite: 6.3.5(@types/node@24.0.3)(jiti@2.4.2)(sugarss@4.0.1(postcss@8.5.6))(terser@5.43.1)(yaml@2.8.0) + vite-node: 3.2.4(@types/node@24.0.3)(jiti@2.4.2)(sugarss@4.0.1(postcss@8.5.6))(terser@5.43.1)(yaml@2.8.0) optionalDependencies: - '@react-router/serve': 7.5.0(react-router@7.5.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(typescript@5.8.3) + '@react-router/serve': 7.6.2(react-router@7.6.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(typescript@5.8.3) typescript: 5.8.3 transitivePeerDependencies: - '@types/node' - babel-plugin-macros - bluebird + - jiti - less - lightningcss - sass @@ -5813,97 +5946,99 @@ snapshots: - sugarss - supports-color - terser + - tsx + - yaml - '@react-router/express@7.5.0(express@4.21.2)(react-router@7.5.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(typescript@5.8.3)': + '@react-router/express@7.6.2(express@4.21.2)(react-router@7.6.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(typescript@5.8.3)': dependencies: - '@react-router/node': 7.5.0(react-router@7.5.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(typescript@5.8.3) + '@react-router/node': 7.6.2(react-router@7.6.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(typescript@5.8.3) express: 4.21.2 - react-router: 7.5.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + react-router: 7.6.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0) optionalDependencies: typescript: 5.8.3 - '@react-router/node@7.5.0(react-router@7.5.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(typescript@5.8.3)': + '@react-router/node@7.6.2(react-router@7.6.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(typescript@5.8.3)': dependencies: '@mjackson/node-fetch-server': 0.2.0 - react-router: 7.5.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + react-router: 7.6.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0) source-map-support: 0.5.21 stream-slice: 0.1.2 - undici: 6.21.2 + undici: 6.21.3 optionalDependencies: typescript: 5.8.3 - '@react-router/serve@7.5.0(react-router@7.5.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(typescript@5.8.3)': + '@react-router/serve@7.6.2(react-router@7.6.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(typescript@5.8.3)': dependencies: - '@react-router/express': 7.5.0(express@4.21.2)(react-router@7.5.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(typescript@5.8.3) - '@react-router/node': 7.5.0(react-router@7.5.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(typescript@5.8.3) + '@react-router/express': 7.6.2(express@4.21.2)(react-router@7.6.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(typescript@5.8.3) + '@react-router/node': 7.6.2(react-router@7.6.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(typescript@5.8.3) compression: 1.8.0 express: 4.21.2 get-port: 5.1.1 morgan: 1.10.0 - react-router: 7.5.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + react-router: 7.6.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0) source-map-support: 0.5.21 transitivePeerDependencies: - supports-color - typescript - '@rollup/rollup-android-arm-eabi@4.40.0': + '@rollup/rollup-android-arm-eabi@4.44.0': optional: true - '@rollup/rollup-android-arm64@4.40.0': + '@rollup/rollup-android-arm64@4.44.0': optional: true - '@rollup/rollup-darwin-arm64@4.40.0': + '@rollup/rollup-darwin-arm64@4.44.0': optional: true - '@rollup/rollup-darwin-x64@4.40.0': + '@rollup/rollup-darwin-x64@4.44.0': optional: true - '@rollup/rollup-freebsd-arm64@4.40.0': + '@rollup/rollup-freebsd-arm64@4.44.0': optional: true - '@rollup/rollup-freebsd-x64@4.40.0': + '@rollup/rollup-freebsd-x64@4.44.0': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.40.0': + '@rollup/rollup-linux-arm-gnueabihf@4.44.0': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.40.0': + '@rollup/rollup-linux-arm-musleabihf@4.44.0': optional: true - '@rollup/rollup-linux-arm64-gnu@4.40.0': + '@rollup/rollup-linux-arm64-gnu@4.44.0': optional: true - '@rollup/rollup-linux-arm64-musl@4.40.0': + '@rollup/rollup-linux-arm64-musl@4.44.0': optional: true - '@rollup/rollup-linux-loongarch64-gnu@4.40.0': + '@rollup/rollup-linux-loongarch64-gnu@4.44.0': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.40.0': + '@rollup/rollup-linux-powerpc64le-gnu@4.44.0': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.40.0': + '@rollup/rollup-linux-riscv64-gnu@4.44.0': optional: true - '@rollup/rollup-linux-riscv64-musl@4.40.0': + '@rollup/rollup-linux-riscv64-musl@4.44.0': optional: true - '@rollup/rollup-linux-s390x-gnu@4.40.0': + '@rollup/rollup-linux-s390x-gnu@4.44.0': optional: true - '@rollup/rollup-linux-x64-gnu@4.40.0': + '@rollup/rollup-linux-x64-gnu@4.44.0': optional: true - '@rollup/rollup-linux-x64-musl@4.40.0': + '@rollup/rollup-linux-x64-musl@4.44.0': optional: true - '@rollup/rollup-win32-arm64-msvc@4.40.0': + '@rollup/rollup-win32-arm64-msvc@4.44.0': optional: true - '@rollup/rollup-win32-ia32-msvc@4.40.0': + '@rollup/rollup-win32-ia32-msvc@4.44.0': optional: true - '@rollup/rollup-win32-x64-msvc@4.40.0': + '@rollup/rollup-win32-x64-msvc@4.44.0': optional: true '@sinclair/typebox@0.27.8': {} @@ -5918,11 +6053,11 @@ snapshots: '@solana-developers/helpers@2.8.1(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)(utf-8-validate@5.0.10)': dependencies: - '@coral-xyz/anchor': 0.30.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) - '@solana/spl-token': 0.4.13(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)(utf-8-validate@5.0.10) - '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) - bn.js: 5.2.1 + '@coral-xyz/anchor': 0.30.1(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10) + '@solana/spl-token': 0.4.13(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)(utf-8-validate@5.0.10) + '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/web3.js': 1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10) + bn.js: 5.2.2 bs58: 6.0.0 dotenv: 16.5.0 transitivePeerDependencies: @@ -5932,10 +6067,10 @@ snapshots: - typescript - utf-8-validate - '@solana-mobile/mobile-wallet-adapter-protocol-web3js@2.1.5(@solana/wallet-adapter-base@0.9.25(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)))(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(react-native@0.79.1(@babel/core@7.26.10)(@types/react@19.1.2)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0)': + '@solana-mobile/mobile-wallet-adapter-protocol-web3js@2.2.2(@solana/wallet-adapter-base@0.9.27(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)))(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10))(react-native@0.79.1(@babel/core@7.27.4)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0)': dependencies: - '@solana-mobile/mobile-wallet-adapter-protocol': 2.1.5(@solana/wallet-adapter-base@0.9.25(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)))(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bs58@5.0.0)(react-native@0.79.1(@babel/core@7.26.10)(@types/react@19.1.2)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0) - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana-mobile/mobile-wallet-adapter-protocol': 2.2.2(@solana/wallet-adapter-base@0.9.27(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)))(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10))(bs58@5.0.0)(react-native@0.79.1(@babel/core@7.27.4)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0) + '@solana/web3.js': 1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10) bs58: 5.0.0 js-base64: 3.7.7 transitivePeerDependencies: @@ -5943,42 +6078,104 @@ snapshots: - react - react-native - '@solana-mobile/mobile-wallet-adapter-protocol@2.1.5(@solana/wallet-adapter-base@0.9.25(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)))(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bs58@5.0.0)(react-native@0.79.1(@babel/core@7.26.10)(@types/react@19.1.2)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0)': + '@solana-mobile/mobile-wallet-adapter-protocol@2.2.2(@solana/wallet-adapter-base@0.9.27(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)))(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10))(bs58@5.0.0)(react-native@0.79.1(@babel/core@7.27.4)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0)': dependencies: - '@solana/wallet-standard': 1.1.4(@solana/wallet-adapter-base@0.9.25(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)))(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bs58@5.0.0)(react@19.1.0) + '@solana/wallet-standard': 1.1.4(@solana/wallet-adapter-base@0.9.27(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)))(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10))(bs58@5.0.0)(react@19.1.0) '@solana/wallet-standard-util': 1.1.2 - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@wallet-standard/core': 1.1.1 js-base64: 3.7.7 - react-native: 0.79.1(@babel/core@7.26.10)(@types/react@19.1.2)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10) + react-native: 0.79.1(@babel/core@7.27.4)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10) transitivePeerDependencies: - '@solana/wallet-adapter-base' + - '@solana/web3.js' - bs58 - react - '@solana-mobile/wallet-adapter-mobile@2.1.5(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(react-native@0.79.1(@babel/core@7.26.10)(@types/react@19.1.2)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0)': + '@solana-mobile/wallet-adapter-mobile@2.2.2(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10))(react-native@0.79.1(@babel/core@7.27.4)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0)': dependencies: - '@solana-mobile/mobile-wallet-adapter-protocol-web3js': 2.1.5(@solana/wallet-adapter-base@0.9.25(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)))(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(react-native@0.79.1(@babel/core@7.26.10)(@types/react@19.1.2)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0) - '@solana/wallet-adapter-base': 0.9.25(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@solana-mobile/mobile-wallet-adapter-protocol-web3js': 2.2.2(@solana/wallet-adapter-base@0.9.27(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)))(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10))(react-native@0.79.1(@babel/core@7.27.4)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0) + '@solana-mobile/wallet-standard-mobile': 0.2.0(@solana/wallet-adapter-base@0.9.27(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)))(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10))(react-native@0.79.1(@babel/core@7.27.4)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0) + '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)) '@solana/wallet-standard-features': 1.3.0 - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10) js-base64: 3.7.7 - qrcode: 1.5.4 optionalDependencies: - '@react-native-async-storage/async-storage': 1.24.0(react-native@0.79.1(@babel/core@7.26.10)(@types/react@19.1.2)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10)) + '@react-native-async-storage/async-storage': 1.24.0(react-native@0.79.1(@babel/core@7.27.4)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10)) + transitivePeerDependencies: + - react + - react-native + + '@solana-mobile/wallet-standard-mobile@0.2.0(@solana/wallet-adapter-base@0.9.27(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)))(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10))(react-native@0.79.1(@babel/core@7.27.4)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0)': + dependencies: + '@solana-mobile/mobile-wallet-adapter-protocol-web3js': 2.2.2(@solana/wallet-adapter-base@0.9.27(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)))(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10))(react-native@0.79.1(@babel/core@7.27.4)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0) + '@solana/wallet-standard-chains': 1.1.1 + '@solana/wallet-standard-features': 1.3.0 + '@solana/web3.js': 1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10) + '@wallet-standard/base': 1.1.0 + '@wallet-standard/features': 1.1.0 + bs58: 5.0.0 + js-base64: 3.7.7 + qrcode: 1.5.4 transitivePeerDependencies: + - '@solana/wallet-adapter-base' - react - react-native - '@solana/buffer-layout-utils@0.2.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + '@solana-program/address-lookup-table@0.7.0(@solana/kit@2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10)))': + dependencies: + '@solana/kit': 2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + + '@solana-program/compute-budget@0.8.0(@solana/kit@2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10)))': + dependencies: + '@solana/kit': 2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + + '@solana-program/system@0.7.0(@solana/kit@2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10)))': + dependencies: + '@solana/kit': 2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + + '@solana-program/token-2022@0.4.2(@solana/kit@2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10)))(@solana/sysvars@2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3))': + dependencies: + '@solana/kit': 2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@solana/sysvars': 2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + + '@solana/accounts@2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)': + dependencies: + '@solana/addresses': 2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/codecs-core': 2.1.1(typescript@5.8.3) + '@solana/codecs-strings': 2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/errors': 2.1.1(typescript@5.8.3) + '@solana/rpc-spec': 2.1.1(typescript@5.8.3) + '@solana/rpc-types': 2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/addresses@2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)': + dependencies: + '@solana/assertions': 2.1.1(typescript@5.8.3) + '@solana/codecs-core': 2.1.1(typescript@5.8.3) + '@solana/codecs-strings': 2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/errors': 2.1.1(typescript@5.8.3) + '@solana/nominal-types': 2.1.1(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/assertions@2.1.1(typescript@5.8.3)': + dependencies: + '@solana/errors': 2.1.1(typescript@5.8.3) + typescript: 5.8.3 + + '@solana/buffer-layout-utils@0.2.0(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)': dependencies: '@solana/buffer-layout': 4.0.1 - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10) bigint-buffer: 1.1.5 - bignumber.js: 9.2.1 + bignumber.js: 9.3.0 transitivePeerDependencies: - bufferutil - encoding + - typescript - utf-8-validate '@solana/buffer-layout@4.0.1': @@ -5990,6 +6187,11 @@ snapshots: '@solana/errors': 2.0.0-rc.1(typescript@5.8.3) typescript: 5.8.3 + '@solana/codecs-core@2.1.1(typescript@5.8.3)': + dependencies: + '@solana/errors': 2.1.1(typescript@5.8.3) + typescript: 5.8.3 + '@solana/codecs-data-structures@2.0.0-rc.1(typescript@5.8.3)': dependencies: '@solana/codecs-core': 2.0.0-rc.1(typescript@5.8.3) @@ -5997,12 +6199,25 @@ snapshots: '@solana/errors': 2.0.0-rc.1(typescript@5.8.3) typescript: 5.8.3 + '@solana/codecs-data-structures@2.1.1(typescript@5.8.3)': + dependencies: + '@solana/codecs-core': 2.1.1(typescript@5.8.3) + '@solana/codecs-numbers': 2.1.1(typescript@5.8.3) + '@solana/errors': 2.1.1(typescript@5.8.3) + typescript: 5.8.3 + '@solana/codecs-numbers@2.0.0-rc.1(typescript@5.8.3)': dependencies: '@solana/codecs-core': 2.0.0-rc.1(typescript@5.8.3) '@solana/errors': 2.0.0-rc.1(typescript@5.8.3) typescript: 5.8.3 + '@solana/codecs-numbers@2.1.1(typescript@5.8.3)': + dependencies: + '@solana/codecs-core': 2.1.1(typescript@5.8.3) + '@solana/errors': 2.1.1(typescript@5.8.3) + typescript: 5.8.3 + '@solana/codecs-strings@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)': dependencies: '@solana/codecs-core': 2.0.0-rc.1(typescript@5.8.3) @@ -6011,6 +6226,14 @@ snapshots: fastestsmallesttextencoderdecoder: 1.0.22 typescript: 5.8.3 + '@solana/codecs-strings@2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)': + dependencies: + '@solana/codecs-core': 2.1.1(typescript@5.8.3) + '@solana/codecs-numbers': 2.1.1(typescript@5.8.3) + '@solana/errors': 2.1.1(typescript@5.8.3) + fastestsmallesttextencoderdecoder: 1.0.22 + typescript: 5.8.3 + '@solana/codecs@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)': dependencies: '@solana/codecs-core': 2.0.0-rc.1(typescript@5.8.3) @@ -6022,12 +6245,83 @@ snapshots: transitivePeerDependencies: - fastestsmallesttextencoderdecoder + '@solana/codecs@2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)': + dependencies: + '@solana/codecs-core': 2.1.1(typescript@5.8.3) + '@solana/codecs-data-structures': 2.1.1(typescript@5.8.3) + '@solana/codecs-numbers': 2.1.1(typescript@5.8.3) + '@solana/codecs-strings': 2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/options': 2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + '@solana/errors@2.0.0-rc.1(typescript@5.8.3)': dependencies: chalk: 5.4.1 commander: 12.1.0 typescript: 5.8.3 + '@solana/errors@2.1.1(typescript@5.8.3)': + dependencies: + chalk: 5.4.1 + commander: 13.1.0 + typescript: 5.8.3 + + '@solana/fast-stable-stringify@2.1.1(typescript@5.8.3)': + dependencies: + typescript: 5.8.3 + + '@solana/functional@2.1.1(typescript@5.8.3)': + dependencies: + typescript: 5.8.3 + + '@solana/instructions@2.1.1(typescript@5.8.3)': + dependencies: + '@solana/codecs-core': 2.1.1(typescript@5.8.3) + '@solana/errors': 2.1.1(typescript@5.8.3) + typescript: 5.8.3 + + '@solana/keys@2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)': + dependencies: + '@solana/assertions': 2.1.1(typescript@5.8.3) + '@solana/codecs-core': 2.1.1(typescript@5.8.3) + '@solana/codecs-strings': 2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/errors': 2.1.1(typescript@5.8.3) + '@solana/nominal-types': 2.1.1(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/kit@2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + dependencies: + '@solana/accounts': 2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/addresses': 2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/codecs': 2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/errors': 2.1.1(typescript@5.8.3) + '@solana/functional': 2.1.1(typescript@5.8.3) + '@solana/instructions': 2.1.1(typescript@5.8.3) + '@solana/keys': 2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/programs': 2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/rpc': 2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/rpc-parsed-types': 2.1.1(typescript@5.8.3) + '@solana/rpc-spec-types': 2.1.1(typescript@5.8.3) + '@solana/rpc-subscriptions': 2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@solana/rpc-types': 2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/signers': 2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/sysvars': 2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/transaction-confirmation': 2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@solana/transaction-messages': 2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/transactions': 2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + - ws + + '@solana/nominal-types@2.1.1(typescript@5.8.3)': + dependencies: + typescript: 5.8.3 + '@solana/options@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)': dependencies: '@solana/codecs-core': 2.0.0-rc.1(typescript@5.8.3) @@ -6039,29 +6333,191 @@ snapshots: transitivePeerDependencies: - fastestsmallesttextencoderdecoder - '@solana/spl-token-group@0.0.7(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)': + '@solana/options@2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)': + dependencies: + '@solana/codecs-core': 2.1.1(typescript@5.8.3) + '@solana/codecs-data-structures': 2.1.1(typescript@5.8.3) + '@solana/codecs-numbers': 2.1.1(typescript@5.8.3) + '@solana/codecs-strings': 2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/errors': 2.1.1(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/programs@2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)': + dependencies: + '@solana/addresses': 2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/errors': 2.1.1(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/promises@2.1.1(typescript@5.8.3)': + dependencies: + typescript: 5.8.3 + + '@solana/rpc-api@2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)': + dependencies: + '@solana/addresses': 2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/codecs-core': 2.1.1(typescript@5.8.3) + '@solana/codecs-strings': 2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/errors': 2.1.1(typescript@5.8.3) + '@solana/keys': 2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/rpc-parsed-types': 2.1.1(typescript@5.8.3) + '@solana/rpc-spec': 2.1.1(typescript@5.8.3) + '@solana/rpc-transformers': 2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/rpc-types': 2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/transaction-messages': 2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/transactions': 2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/rpc-parsed-types@2.1.1(typescript@5.8.3)': + dependencies: + typescript: 5.8.3 + + '@solana/rpc-spec-types@2.1.1(typescript@5.8.3)': + dependencies: + typescript: 5.8.3 + + '@solana/rpc-spec@2.1.1(typescript@5.8.3)': + dependencies: + '@solana/errors': 2.1.1(typescript@5.8.3) + '@solana/rpc-spec-types': 2.1.1(typescript@5.8.3) + typescript: 5.8.3 + + '@solana/rpc-subscriptions-api@2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)': + dependencies: + '@solana/addresses': 2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/keys': 2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/rpc-subscriptions-spec': 2.1.1(typescript@5.8.3) + '@solana/rpc-transformers': 2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/rpc-types': 2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/transaction-messages': 2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/transactions': 2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/rpc-subscriptions-channel-websocket@2.1.1(typescript@5.8.3)(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + dependencies: + '@solana/errors': 2.1.1(typescript@5.8.3) + '@solana/functional': 2.1.1(typescript@5.8.3) + '@solana/rpc-subscriptions-spec': 2.1.1(typescript@5.8.3) + '@solana/subscribable': 2.1.1(typescript@5.8.3) + typescript: 5.8.3 + ws: 7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10) + + '@solana/rpc-subscriptions-spec@2.1.1(typescript@5.8.3)': + dependencies: + '@solana/errors': 2.1.1(typescript@5.8.3) + '@solana/promises': 2.1.1(typescript@5.8.3) + '@solana/rpc-spec-types': 2.1.1(typescript@5.8.3) + '@solana/subscribable': 2.1.1(typescript@5.8.3) + typescript: 5.8.3 + + '@solana/rpc-subscriptions@2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + dependencies: + '@solana/errors': 2.1.1(typescript@5.8.3) + '@solana/fast-stable-stringify': 2.1.1(typescript@5.8.3) + '@solana/functional': 2.1.1(typescript@5.8.3) + '@solana/promises': 2.1.1(typescript@5.8.3) + '@solana/rpc-spec-types': 2.1.1(typescript@5.8.3) + '@solana/rpc-subscriptions-api': 2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/rpc-subscriptions-channel-websocket': 2.1.1(typescript@5.8.3)(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@solana/rpc-subscriptions-spec': 2.1.1(typescript@5.8.3) + '@solana/rpc-transformers': 2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/rpc-types': 2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/subscribable': 2.1.1(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + - ws + + '@solana/rpc-transformers@2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)': + dependencies: + '@solana/errors': 2.1.1(typescript@5.8.3) + '@solana/functional': 2.1.1(typescript@5.8.3) + '@solana/nominal-types': 2.1.1(typescript@5.8.3) + '@solana/rpc-spec-types': 2.1.1(typescript@5.8.3) + '@solana/rpc-types': 2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/rpc-transport-http@2.1.1(typescript@5.8.3)': + dependencies: + '@solana/errors': 2.1.1(typescript@5.8.3) + '@solana/rpc-spec': 2.1.1(typescript@5.8.3) + '@solana/rpc-spec-types': 2.1.1(typescript@5.8.3) + typescript: 5.8.3 + undici-types: 7.10.0 + + '@solana/rpc-types@2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)': + dependencies: + '@solana/addresses': 2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/codecs-core': 2.1.1(typescript@5.8.3) + '@solana/codecs-numbers': 2.1.1(typescript@5.8.3) + '@solana/codecs-strings': 2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/errors': 2.1.1(typescript@5.8.3) + '@solana/nominal-types': 2.1.1(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/rpc@2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)': + dependencies: + '@solana/errors': 2.1.1(typescript@5.8.3) + '@solana/fast-stable-stringify': 2.1.1(typescript@5.8.3) + '@solana/functional': 2.1.1(typescript@5.8.3) + '@solana/rpc-api': 2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/rpc-spec': 2.1.1(typescript@5.8.3) + '@solana/rpc-spec-types': 2.1.1(typescript@5.8.3) + '@solana/rpc-transformers': 2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/rpc-transport-http': 2.1.1(typescript@5.8.3) + '@solana/rpc-types': 2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/signers@2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)': + dependencies: + '@solana/addresses': 2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/codecs-core': 2.1.1(typescript@5.8.3) + '@solana/errors': 2.1.1(typescript@5.8.3) + '@solana/instructions': 2.1.1(typescript@5.8.3) + '@solana/keys': 2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/nominal-types': 2.1.1(typescript@5.8.3) + '@solana/transaction-messages': 2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/transactions': 2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/spl-token-group@0.0.7(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)': dependencies: '@solana/codecs': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10) transitivePeerDependencies: - fastestsmallesttextencoderdecoder - typescript - '@solana/spl-token-metadata@0.1.6(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)': + '@solana/spl-token-metadata@0.1.6(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)': dependencies: '@solana/codecs': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10) transitivePeerDependencies: - fastestsmallesttextencoderdecoder - typescript - '@solana/spl-token@0.4.13(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)(utf-8-validate@5.0.10)': + '@solana/spl-token@0.4.13(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)(utf-8-validate@5.0.10)': dependencies: '@solana/buffer-layout': 4.0.1 - '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) - '@solana/spl-token-group': 0.0.7(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) - '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10) + '@solana/spl-token-group': 0.0.7(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/web3.js': 1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10) buffer: 6.0.3 transitivePeerDependencies: - bufferutil @@ -6070,41 +6526,106 @@ snapshots: - typescript - utf-8-validate - '@solana/wallet-adapter-base-ui@0.1.4(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bs58@5.0.0)(react-native@0.79.1(@babel/core@7.26.10)(@types/react@19.1.2)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0)': + '@solana/subscribable@2.1.1(typescript@5.8.3)': + dependencies: + '@solana/errors': 2.1.1(typescript@5.8.3) + typescript: 5.8.3 + + '@solana/sysvars@2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)': + dependencies: + '@solana/accounts': 2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/codecs': 2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/errors': 2.1.1(typescript@5.8.3) + '@solana/rpc-types': 2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/transaction-confirmation@2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + dependencies: + '@solana/addresses': 2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/codecs-strings': 2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/errors': 2.1.1(typescript@5.8.3) + '@solana/keys': 2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/promises': 2.1.1(typescript@5.8.3) + '@solana/rpc': 2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/rpc-subscriptions': 2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@solana/rpc-types': 2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/transaction-messages': 2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/transactions': 2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + - ws + + '@solana/transaction-messages@2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)': + dependencies: + '@solana/addresses': 2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/codecs-core': 2.1.1(typescript@5.8.3) + '@solana/codecs-data-structures': 2.1.1(typescript@5.8.3) + '@solana/codecs-numbers': 2.1.1(typescript@5.8.3) + '@solana/errors': 2.1.1(typescript@5.8.3) + '@solana/functional': 2.1.1(typescript@5.8.3) + '@solana/instructions': 2.1.1(typescript@5.8.3) + '@solana/nominal-types': 2.1.1(typescript@5.8.3) + '@solana/rpc-types': 2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/transactions@2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)': + dependencies: + '@solana/addresses': 2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/codecs-core': 2.1.1(typescript@5.8.3) + '@solana/codecs-data-structures': 2.1.1(typescript@5.8.3) + '@solana/codecs-numbers': 2.1.1(typescript@5.8.3) + '@solana/codecs-strings': 2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/errors': 2.1.1(typescript@5.8.3) + '@solana/functional': 2.1.1(typescript@5.8.3) + '@solana/instructions': 2.1.1(typescript@5.8.3) + '@solana/keys': 2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/nominal-types': 2.1.1(typescript@5.8.3) + '@solana/rpc-types': 2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/transaction-messages': 2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/wallet-adapter-base-ui@0.1.6(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10))(bs58@5.0.0)(react-native@0.79.1(@babel/core@7.27.4)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0)': dependencies: - '@solana/wallet-adapter-react': 0.15.37(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bs58@5.0.0)(react-native@0.79.1(@babel/core@7.26.10)(@types/react@19.1.2)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0) - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/wallet-adapter-react': 0.15.39(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10))(bs58@5.0.0)(react-native@0.79.1(@babel/core@7.27.4)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0) + '@solana/web3.js': 1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10) react: 19.1.0 transitivePeerDependencies: - bs58 - react-native - '@solana/wallet-adapter-base@0.9.25(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + '@solana/wallet-adapter-base@0.9.27(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10))': dependencies: '@solana/wallet-standard-features': 1.3.0 - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10) '@wallet-standard/base': 1.1.0 '@wallet-standard/features': 1.1.0 eventemitter3: 5.0.1 - '@solana/wallet-adapter-react-ui@0.9.37(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bs58@5.0.0)(react-dom@19.1.0(react@19.1.0))(react-native@0.79.1(@babel/core@7.26.10)(@types/react@19.1.2)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0)': + '@solana/wallet-adapter-react-ui@0.9.39(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10))(bs58@5.0.0)(react-dom@19.1.0(react@19.1.0))(react-native@0.79.1(@babel/core@7.27.4)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0)': dependencies: - '@solana/wallet-adapter-base': 0.9.25(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) - '@solana/wallet-adapter-base-ui': 0.1.4(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bs58@5.0.0)(react-native@0.79.1(@babel/core@7.26.10)(@types/react@19.1.2)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0) - '@solana/wallet-adapter-react': 0.15.37(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bs58@5.0.0)(react-native@0.79.1(@babel/core@7.26.10)(@types/react@19.1.2)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0) - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)) + '@solana/wallet-adapter-base-ui': 0.1.6(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10))(bs58@5.0.0)(react-native@0.79.1(@babel/core@7.27.4)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0) + '@solana/wallet-adapter-react': 0.15.39(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10))(bs58@5.0.0)(react-native@0.79.1(@babel/core@7.27.4)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0) + '@solana/web3.js': 1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10) react: 19.1.0 react-dom: 19.1.0(react@19.1.0) transitivePeerDependencies: - bs58 - react-native - '@solana/wallet-adapter-react@0.15.37(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bs58@5.0.0)(react-native@0.79.1(@babel/core@7.26.10)(@types/react@19.1.2)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0)': + '@solana/wallet-adapter-react@0.15.39(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10))(bs58@5.0.0)(react-native@0.79.1(@babel/core@7.27.4)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0)': dependencies: - '@solana-mobile/wallet-adapter-mobile': 2.1.5(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(react-native@0.79.1(@babel/core@7.26.10)(@types/react@19.1.2)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0) - '@solana/wallet-adapter-base': 0.9.25(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) - '@solana/wallet-standard-wallet-adapter-react': 1.1.4(@solana/wallet-adapter-base@0.9.25(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)))(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bs58@5.0.0)(react@19.1.0) - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana-mobile/wallet-adapter-mobile': 2.2.2(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10))(react-native@0.79.1(@babel/core@7.27.4)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0) + '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)) + '@solana/wallet-standard-wallet-adapter-react': 1.1.4(@solana/wallet-adapter-base@0.9.27(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)))(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10))(bs58@5.0.0)(react@19.1.0) + '@solana/web3.js': 1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10) react: 19.1.0 transitivePeerDependencies: - bs58 @@ -6127,27 +6648,27 @@ snapshots: '@solana/wallet-standard-util@1.1.2': dependencies: - '@noble/curves': 1.8.2 + '@noble/curves': 1.9.2 '@solana/wallet-standard-chains': 1.1.1 '@solana/wallet-standard-features': 1.3.0 - '@solana/wallet-standard-wallet-adapter-base@1.1.4(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bs58@5.0.0)': + '@solana/wallet-standard-wallet-adapter-base@1.1.4(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10))(bs58@5.0.0)': dependencies: - '@solana/wallet-adapter-base': 0.9.25(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)) '@solana/wallet-standard-chains': 1.1.1 '@solana/wallet-standard-features': 1.3.0 '@solana/wallet-standard-util': 1.1.2 - '@solana/web3.js': 1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10) '@wallet-standard/app': 1.1.0 '@wallet-standard/base': 1.1.0 '@wallet-standard/features': 1.1.0 '@wallet-standard/wallet': 1.1.0 bs58: 5.0.0 - '@solana/wallet-standard-wallet-adapter-react@1.1.4(@solana/wallet-adapter-base@0.9.25(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)))(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bs58@5.0.0)(react@19.1.0)': + '@solana/wallet-standard-wallet-adapter-react@1.1.4(@solana/wallet-adapter-base@0.9.27(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)))(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10))(bs58@5.0.0)(react@19.1.0)': dependencies: - '@solana/wallet-adapter-base': 0.9.25(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) - '@solana/wallet-standard-wallet-adapter-base': 1.1.4(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bs58@5.0.0) + '@solana/wallet-adapter-base': 0.9.27(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)) + '@solana/wallet-standard-wallet-adapter-base': 1.1.4(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10))(bs58@5.0.0) '@wallet-standard/app': 1.1.0 '@wallet-standard/base': 1.1.0 react: 19.1.0 @@ -6155,93 +6676,92 @@ snapshots: - '@solana/web3.js' - bs58 - '@solana/wallet-standard-wallet-adapter@1.1.4(@solana/wallet-adapter-base@0.9.25(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)))(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bs58@5.0.0)(react@19.1.0)': + '@solana/wallet-standard-wallet-adapter@1.1.4(@solana/wallet-adapter-base@0.9.27(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)))(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10))(bs58@5.0.0)(react@19.1.0)': dependencies: - '@solana/wallet-standard-wallet-adapter-base': 1.1.4(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bs58@5.0.0) - '@solana/wallet-standard-wallet-adapter-react': 1.1.4(@solana/wallet-adapter-base@0.9.25(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)))(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bs58@5.0.0)(react@19.1.0) + '@solana/wallet-standard-wallet-adapter-base': 1.1.4(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10))(bs58@5.0.0) + '@solana/wallet-standard-wallet-adapter-react': 1.1.4(@solana/wallet-adapter-base@0.9.27(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)))(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10))(bs58@5.0.0)(react@19.1.0) transitivePeerDependencies: - '@solana/wallet-adapter-base' - '@solana/web3.js' - bs58 - react - '@solana/wallet-standard@1.1.4(@solana/wallet-adapter-base@0.9.25(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)))(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bs58@5.0.0)(react@19.1.0)': + '@solana/wallet-standard@1.1.4(@solana/wallet-adapter-base@0.9.27(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)))(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10))(bs58@5.0.0)(react@19.1.0)': dependencies: '@solana/wallet-standard-core': 1.1.2 - '@solana/wallet-standard-wallet-adapter': 1.1.4(@solana/wallet-adapter-base@0.9.25(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)))(@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bs58@5.0.0)(react@19.1.0) + '@solana/wallet-standard-wallet-adapter': 1.1.4(@solana/wallet-adapter-base@0.9.27(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)))(@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10))(bs58@5.0.0)(react@19.1.0) transitivePeerDependencies: - '@solana/wallet-adapter-base' - '@solana/web3.js' - bs58 - react - '@solana/web3.js@1.98.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + '@solana/web3.js@1.98.2(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)': dependencies: - '@babel/runtime': 7.27.0 - '@noble/curves': 1.8.2 - '@noble/hashes': 1.7.2 + '@babel/runtime': 7.27.6 + '@noble/curves': 1.9.2 + '@noble/hashes': 1.8.0 '@solana/buffer-layout': 4.0.1 + '@solana/codecs-numbers': 2.1.1(typescript@5.8.3) agentkeepalive: 4.6.0 - bigint-buffer: 1.1.5 - bn.js: 5.2.1 + bn.js: 5.2.2 borsh: 0.7.0 bs58: 4.0.1 buffer: 6.0.3 fast-stable-stringify: 1.0.0 - jayson: 4.1.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) + jayson: 4.2.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) node-fetch: 2.7.0 rpc-websockets: 9.1.1 superstruct: 2.0.2 transitivePeerDependencies: - bufferutil - encoding + - typescript - utf-8-validate '@swc/helpers@0.5.17': dependencies: tslib: 2.8.1 - '@tanstack/query-core@5.74.4': {} + '@tanstack/query-core@5.81.0': {} - '@tanstack/react-query@5.74.4(react@19.1.0)': + '@tanstack/react-query@5.81.0(react@19.1.0)': dependencies: - '@tanstack/query-core': 5.74.4 + '@tanstack/query-core': 5.81.0 react: 19.1.0 '@types/babel__core@7.20.5': dependencies: - '@babel/parser': 7.27.0 - '@babel/types': 7.27.0 + '@babel/parser': 7.27.5 + '@babel/types': 7.27.6 '@types/babel__generator': 7.27.0 '@types/babel__template': 7.4.4 '@types/babel__traverse': 7.20.7 '@types/babel__generator@7.27.0': dependencies: - '@babel/types': 7.27.0 + '@babel/types': 7.27.6 '@types/babel__template@7.4.4': dependencies: - '@babel/parser': 7.27.0 - '@babel/types': 7.27.0 + '@babel/parser': 7.27.5 + '@babel/types': 7.27.6 '@types/babel__traverse@7.20.7': dependencies: - '@babel/types': 7.27.0 + '@babel/types': 7.27.6 '@types/connect@3.4.38': dependencies: - '@types/node': 20.17.30 - - '@types/cookie@0.6.0': {} + '@types/node': 24.0.3 '@types/d3-hierarchy@1.1.11': {} - '@types/estree@1.0.7': {} + '@types/estree@1.0.8': {} '@types/graceful-fs@4.1.9': dependencies: - '@types/node': 20.17.30 + '@types/node': 24.0.3 '@types/istanbul-lib-coverage@2.0.6': {} @@ -6255,21 +6775,21 @@ snapshots: '@types/node@12.20.55': {} - '@types/node@20.17.30': + '@types/node@24.0.3': dependencies: - undici-types: 6.19.8 + undici-types: 7.8.0 '@types/parse-json@4.0.2': {} - '@types/react-dom@19.1.2(@types/react@19.1.2)': + '@types/react-dom@19.1.6(@types/react@19.1.8)': dependencies: - '@types/react': 19.1.2 + '@types/react': 19.1.8 - '@types/react-reconciler@0.28.9(@types/react@19.1.2)': + '@types/react-reconciler@0.28.9(@types/react@19.1.8)': dependencies: - '@types/react': 19.1.2 + '@types/react': 19.1.8 - '@types/react@19.1.2': + '@types/react@19.1.8': dependencies: csstype: 3.1.3 @@ -6279,11 +6799,11 @@ snapshots: '@types/ws@7.4.7': dependencies: - '@types/node': 20.17.30 + '@types/node': 24.0.3 '@types/ws@8.18.1': dependencies: - '@types/node': 20.17.30 + '@types/node': 24.0.3 '@types/yargs-parser@21.0.3': {} @@ -6318,11 +6838,6 @@ snapshots: dependencies: '@wallet-standard/base': 1.1.0 - JSONStream@1.3.5: - dependencies: - jsonparse: 1.3.1 - through: 2.3.8 - abbrev@2.0.0: {} abort-controller@3.0.0: @@ -6334,7 +6849,9 @@ snapshots: mime-types: 2.1.35 negotiator: 0.6.3 - acorn@8.14.1: {} + acorn@8.15.0: {} + + agent-base@7.1.3: {} agentkeepalive@4.6.0: dependencies: @@ -6359,7 +6876,7 @@ snapshots: normalize-path: 3.0.0 picomatch: 2.3.1 - arctic@3.6.0: + arctic@3.7.0: dependencies: '@oslojs/crypto': 1.0.1 '@oslojs/encoding': 1.1.0 @@ -6371,7 +6888,7 @@ snapshots: dependencies: sprintf-js: 1.0.3 - aria-hidden@1.2.4: + aria-hidden@1.2.6: dependencies: tslib: 2.8.1 @@ -6383,20 +6900,20 @@ snapshots: babel-dead-code-elimination@1.0.10: dependencies: - '@babel/core': 7.26.10 - '@babel/parser': 7.27.0 - '@babel/traverse': 7.27.0 - '@babel/types': 7.27.0 + '@babel/core': 7.27.4 + '@babel/parser': 7.27.5 + '@babel/traverse': 7.27.4 + '@babel/types': 7.27.6 transitivePeerDependencies: - supports-color - babel-jest@29.7.0(@babel/core@7.26.10): + babel-jest@29.7.0(@babel/core@7.27.4): dependencies: - '@babel/core': 7.26.10 + '@babel/core': 7.27.4 '@jest/transform': 29.7.0 '@types/babel__core': 7.20.5 babel-plugin-istanbul: 6.1.1 - babel-preset-jest: 29.6.3(@babel/core@7.26.10) + babel-preset-jest: 29.6.3(@babel/core@7.27.4) chalk: 4.1.2 graceful-fs: 4.2.11 slash: 3.0.0 @@ -6405,7 +6922,7 @@ snapshots: babel-plugin-istanbul@6.1.1: dependencies: - '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-plugin-utils': 7.27.1 '@istanbuljs/load-nyc-config': 1.1.0 '@istanbuljs/schema': 0.1.3 istanbul-lib-instrument: 5.2.1 @@ -6415,14 +6932,14 @@ snapshots: babel-plugin-jest-hoist@29.6.3: dependencies: - '@babel/template': 7.27.0 - '@babel/types': 7.27.0 + '@babel/template': 7.27.2 + '@babel/types': 7.27.6 '@types/babel__core': 7.20.5 '@types/babel__traverse': 7.20.7 babel-plugin-macros@3.1.0: dependencies: - '@babel/runtime': 7.27.0 + '@babel/runtime': 7.27.6 cosmiconfig: 7.1.0 resolve: 1.22.10 @@ -6430,30 +6947,30 @@ snapshots: dependencies: hermes-parser: 0.25.1 - babel-preset-current-node-syntax@1.1.0(@babel/core@7.26.10): - dependencies: - '@babel/core': 7.26.10 - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.26.10) - '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.26.10) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.26.10) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.26.10) - '@babel/plugin-syntax-import-attributes': 7.26.0(@babel/core@7.26.10) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.26.10) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.26.10) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.26.10) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.26.10) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.26.10) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.26.10) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.26.10) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.26.10) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.26.10) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.26.10) - - babel-preset-jest@29.6.3(@babel/core@7.26.10): - dependencies: - '@babel/core': 7.26.10 + babel-preset-current-node-syntax@1.1.0(@babel/core@7.27.4): + dependencies: + '@babel/core': 7.27.4 + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.27.4) + '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.27.4) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.27.4) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.27.4) + '@babel/plugin-syntax-import-attributes': 7.27.1(@babel/core@7.27.4) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.27.4) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.27.4) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.27.4) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.27.4) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.27.4) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.27.4) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.27.4) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.27.4) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.27.4) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.27.4) + + babel-preset-jest@29.6.3(@babel/core@7.27.4): + dependencies: + '@babel/core': 7.27.4 babel-plugin-jest-hoist: 29.6.3 - babel-preset-current-node-syntax: 1.1.0(@babel/core@7.26.10) + babel-preset-current-node-syntax: 1.1.0(@babel/core@7.27.4) balanced-match@1.0.2: {} @@ -6483,7 +7000,7 @@ snapshots: dependencies: bindings: 1.5.0 - bignumber.js@9.2.1: {} + bignumber.js@9.3.0: {} binary-extensions@2.3.0: {} @@ -6491,14 +7008,14 @@ snapshots: dependencies: file-uri-to-path: 1.0.0 - bippy@0.3.8(@types/react@19.1.2)(react@19.1.0): + bippy@0.3.17(@types/react@19.1.8)(react@19.1.0): dependencies: - '@types/react-reconciler': 0.28.9(@types/react@19.1.2) + '@types/react-reconciler': 0.28.9(@types/react@19.1.8) react: 19.1.0 transitivePeerDependencies: - '@types/react' - bn.js@5.2.1: {} + bn.js@5.2.2: {} body-parser@1.20.3: dependencies: @@ -6521,16 +7038,16 @@ snapshots: borsh@0.7.0: dependencies: - bn.js: 5.2.1 + bn.js: 5.2.2 bs58: 4.0.1 text-encoding-utf-8: 1.0.2 - brace-expansion@1.1.11: + brace-expansion@1.1.12: dependencies: balanced-match: 1.0.2 concat-map: 0.0.1 - brace-expansion@2.0.1: + brace-expansion@2.0.2: dependencies: balanced-match: 1.0.2 @@ -6538,12 +7055,12 @@ snapshots: dependencies: fill-range: 7.1.1 - browserslist@4.24.4: + browserslist@4.25.0: dependencies: - caniuse-lite: 1.0.30001713 - electron-to-chromium: 1.5.137 + caniuse-lite: 1.0.30001724 + electron-to-chromium: 1.5.171 node-releases: 2.0.19 - update-browserslist-db: 1.1.3(browserslist@4.24.4) + update-browserslist-db: 1.1.3(browserslist@4.25.0) bs58@4.0.1: dependencies: @@ -6607,7 +7124,7 @@ snapshots: camelcase@6.3.0: {} - caniuse-lite@1.0.30001713: {} + caniuse-lite@1.0.30001724: {} chain-function@1.0.1: {} @@ -6636,7 +7153,7 @@ snapshots: chrome-launcher@0.15.2: dependencies: - '@types/node': 20.17.30 + '@types/node': 24.0.3 escape-string-regexp: 4.0.0 is-wsl: 2.2.0 lighthouse-logger: 1.4.2 @@ -6645,7 +7162,7 @@ snapshots: chromium-edge-launcher@0.2.0: dependencies: - '@types/node': 20.17.30 + '@types/node': 24.0.3 escape-string-regexp: 4.0.0 is-wsl: 2.2.0 lighthouse-logger: 1.4.2 @@ -6846,13 +7363,13 @@ snapshots: dependencies: ms: 2.0.0 - debug@4.4.0: + debug@4.4.1: dependencies: ms: 2.1.3 decamelize@1.2.0: {} - dedent@1.5.3(babel-plugin-macros@3.1.0): + dedent@1.6.0(babel-plugin-macros@3.1.0): optionalDependencies: babel-plugin-macros: 3.1.0 @@ -6872,11 +7389,11 @@ snapshots: dom-helpers@3.4.0: dependencies: - '@babel/runtime': 7.27.0 + '@babel/runtime': 7.27.6 dom-helpers@5.2.1: dependencies: - '@babel/runtime': 7.27.0 + '@babel/runtime': 7.27.6 csstype: 3.1.3 dom-serializer@2.0.0: @@ -6917,11 +7434,11 @@ snapshots: '@one-ini/wasm': 0.1.1 commander: 10.0.1 minimatch: 9.0.1 - semver: 7.7.1 + semver: 7.7.2 ee-first@1.1.1: {} - electron-to-chromium@1.5.137: {} + electron-to-chromium@1.5.171: {} emoji-regex@8.0.0: {} @@ -6947,7 +7464,7 @@ snapshots: es-errors@1.3.0: {} - es-module-lexer@1.6.0: {} + es-module-lexer@1.7.0: {} es-object-atoms@1.1.1: dependencies: @@ -6959,91 +7476,61 @@ snapshots: dependencies: es6-promise: 4.2.8 - esbuild-register@3.6.0(esbuild@0.25.2): - dependencies: - debug: 4.4.0 - esbuild: 0.25.2 - transitivePeerDependencies: - - supports-color - - esbuild@0.17.19: + esbuild@0.24.2: optionalDependencies: - '@esbuild/android-arm': 0.17.19 - '@esbuild/android-arm64': 0.17.19 - '@esbuild/android-x64': 0.17.19 - '@esbuild/darwin-arm64': 0.17.19 - '@esbuild/darwin-x64': 0.17.19 - '@esbuild/freebsd-arm64': 0.17.19 - '@esbuild/freebsd-x64': 0.17.19 - '@esbuild/linux-arm': 0.17.19 - '@esbuild/linux-arm64': 0.17.19 - '@esbuild/linux-ia32': 0.17.19 - '@esbuild/linux-loong64': 0.17.19 - '@esbuild/linux-mips64el': 0.17.19 - '@esbuild/linux-ppc64': 0.17.19 - '@esbuild/linux-riscv64': 0.17.19 - '@esbuild/linux-s390x': 0.17.19 - '@esbuild/linux-x64': 0.17.19 - '@esbuild/netbsd-x64': 0.17.19 - '@esbuild/openbsd-x64': 0.17.19 - '@esbuild/sunos-x64': 0.17.19 - '@esbuild/win32-arm64': 0.17.19 - '@esbuild/win32-ia32': 0.17.19 - '@esbuild/win32-x64': 0.17.19 - - esbuild@0.21.5: + '@esbuild/aix-ppc64': 0.24.2 + '@esbuild/android-arm': 0.24.2 + '@esbuild/android-arm64': 0.24.2 + '@esbuild/android-x64': 0.24.2 + '@esbuild/darwin-arm64': 0.24.2 + '@esbuild/darwin-x64': 0.24.2 + '@esbuild/freebsd-arm64': 0.24.2 + '@esbuild/freebsd-x64': 0.24.2 + '@esbuild/linux-arm': 0.24.2 + '@esbuild/linux-arm64': 0.24.2 + '@esbuild/linux-ia32': 0.24.2 + '@esbuild/linux-loong64': 0.24.2 + '@esbuild/linux-mips64el': 0.24.2 + '@esbuild/linux-ppc64': 0.24.2 + '@esbuild/linux-riscv64': 0.24.2 + '@esbuild/linux-s390x': 0.24.2 + '@esbuild/linux-x64': 0.24.2 + '@esbuild/netbsd-arm64': 0.24.2 + '@esbuild/netbsd-x64': 0.24.2 + '@esbuild/openbsd-arm64': 0.24.2 + '@esbuild/openbsd-x64': 0.24.2 + '@esbuild/sunos-x64': 0.24.2 + '@esbuild/win32-arm64': 0.24.2 + '@esbuild/win32-ia32': 0.24.2 + '@esbuild/win32-x64': 0.24.2 + + esbuild@0.25.5: optionalDependencies: - '@esbuild/aix-ppc64': 0.21.5 - '@esbuild/android-arm': 0.21.5 - '@esbuild/android-arm64': 0.21.5 - '@esbuild/android-x64': 0.21.5 - '@esbuild/darwin-arm64': 0.21.5 - '@esbuild/darwin-x64': 0.21.5 - '@esbuild/freebsd-arm64': 0.21.5 - '@esbuild/freebsd-x64': 0.21.5 - '@esbuild/linux-arm': 0.21.5 - '@esbuild/linux-arm64': 0.21.5 - '@esbuild/linux-ia32': 0.21.5 - '@esbuild/linux-loong64': 0.21.5 - '@esbuild/linux-mips64el': 0.21.5 - '@esbuild/linux-ppc64': 0.21.5 - '@esbuild/linux-riscv64': 0.21.5 - '@esbuild/linux-s390x': 0.21.5 - '@esbuild/linux-x64': 0.21.5 - '@esbuild/netbsd-x64': 0.21.5 - '@esbuild/openbsd-x64': 0.21.5 - '@esbuild/sunos-x64': 0.21.5 - '@esbuild/win32-arm64': 0.21.5 - '@esbuild/win32-ia32': 0.21.5 - '@esbuild/win32-x64': 0.21.5 - - esbuild@0.25.2: - optionalDependencies: - '@esbuild/aix-ppc64': 0.25.2 - '@esbuild/android-arm': 0.25.2 - '@esbuild/android-arm64': 0.25.2 - '@esbuild/android-x64': 0.25.2 - '@esbuild/darwin-arm64': 0.25.2 - '@esbuild/darwin-x64': 0.25.2 - '@esbuild/freebsd-arm64': 0.25.2 - '@esbuild/freebsd-x64': 0.25.2 - '@esbuild/linux-arm': 0.25.2 - '@esbuild/linux-arm64': 0.25.2 - '@esbuild/linux-ia32': 0.25.2 - '@esbuild/linux-loong64': 0.25.2 - '@esbuild/linux-mips64el': 0.25.2 - '@esbuild/linux-ppc64': 0.25.2 - '@esbuild/linux-riscv64': 0.25.2 - '@esbuild/linux-s390x': 0.25.2 - '@esbuild/linux-x64': 0.25.2 - '@esbuild/netbsd-arm64': 0.25.2 - '@esbuild/netbsd-x64': 0.25.2 - '@esbuild/openbsd-arm64': 0.25.2 - '@esbuild/openbsd-x64': 0.25.2 - '@esbuild/sunos-x64': 0.25.2 - '@esbuild/win32-arm64': 0.25.2 - '@esbuild/win32-ia32': 0.25.2 - '@esbuild/win32-x64': 0.25.2 + '@esbuild/aix-ppc64': 0.25.5 + '@esbuild/android-arm': 0.25.5 + '@esbuild/android-arm64': 0.25.5 + '@esbuild/android-x64': 0.25.5 + '@esbuild/darwin-arm64': 0.25.5 + '@esbuild/darwin-x64': 0.25.5 + '@esbuild/freebsd-arm64': 0.25.5 + '@esbuild/freebsd-x64': 0.25.5 + '@esbuild/linux-arm': 0.25.5 + '@esbuild/linux-arm64': 0.25.5 + '@esbuild/linux-ia32': 0.25.5 + '@esbuild/linux-loong64': 0.25.5 + '@esbuild/linux-mips64el': 0.25.5 + '@esbuild/linux-ppc64': 0.25.5 + '@esbuild/linux-riscv64': 0.25.5 + '@esbuild/linux-s390x': 0.25.5 + '@esbuild/linux-x64': 0.25.5 + '@esbuild/netbsd-arm64': 0.25.5 + '@esbuild/netbsd-x64': 0.25.5 + '@esbuild/openbsd-arm64': 0.25.5 + '@esbuild/openbsd-x64': 0.25.5 + '@esbuild/sunos-x64': 0.25.5 + '@esbuild/win32-arm64': 0.25.5 + '@esbuild/win32-ia32': 0.25.5 + '@esbuild/win32-x64': 0.25.5 escalade@3.2.0: {} @@ -7055,11 +7542,11 @@ snapshots: esprima@4.0.1: {} - esrun@3.2.26: + esrun@3.2.30: dependencies: '@digitak/grubber': 3.1.4 chokidar: 3.6.0 - esbuild: 0.17.19 + esbuild: 0.24.2 etag@1.8.1: {} @@ -7135,6 +7622,10 @@ snapshots: dependencies: bser: 2.1.1 + fdir@6.4.6(picomatch@4.0.2): + optionalDependencies: + picomatch: 4.0.2 + file-uri-to-path@1.0.0: {} fill-range@7.1.1: @@ -7181,10 +7672,10 @@ snapshots: forwarded@0.2.0: {} - framer-motion@12.7.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + framer-motion@12.18.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0): dependencies: - motion-dom: 12.7.3 - motion-utils: 12.7.2 + motion-dom: 12.18.1 + motion-utils: 12.18.1 tslib: 2.8.1 optionalDependencies: react: 19.1.0 @@ -7233,6 +7724,22 @@ snapshots: dunder-proto: 1.0.1 es-object-atoms: 1.1.1 + gill@0.10.2(@solana/sysvars@2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10)): + dependencies: + '@solana-program/address-lookup-table': 0.7.0(@solana/kit@2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10))) + '@solana-program/compute-budget': 0.8.0(@solana/kit@2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10))) + '@solana-program/system': 0.7.0(@solana/kit@2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10))) + '@solana-program/token-2022': 0.4.2(@solana/kit@2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10)))(@solana/sysvars@2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)) + '@solana/assertions': 2.1.1(typescript@5.8.3) + '@solana/codecs': 2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3) + '@solana/kit': 2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@solana/transaction-confirmation': 2.1.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + typescript: 5.8.3 + transitivePeerDependencies: + - '@solana/sysvars' + - fastestsmallesttextencoderdecoder + - ws + glob-parent@5.1.2: dependencies: is-glob: 4.0.3 @@ -7246,11 +7753,11 @@ snapshots: package-json-from-dist: 1.0.1 path-scurry: 1.11.1 - glob@11.0.1: + glob@11.0.3: dependencies: foreground-child: 3.3.1 - jackspeak: 4.1.0 - minimatch: 10.0.1 + jackspeak: 4.1.1 + minimatch: 10.0.3 minipass: 7.1.2 package-json-from-dist: 1.0.1 path-scurry: 2.0.0 @@ -7284,10 +7791,16 @@ snapshots: hermes-estree@0.25.1: {} + hermes-estree@0.28.1: {} + hermes-parser@0.25.1: dependencies: hermes-estree: 0.25.1 + hermes-parser@0.28.1: + dependencies: + hermes-estree: 0.28.1 + highlight.js@11.11.1: {} hoist-non-react-statics@3.3.2: @@ -7310,6 +7823,13 @@ snapshots: statuses: 2.0.1 toidentifier: 1.0.1 + https-proxy-agent@7.0.6: + dependencies: + agent-base: 7.1.3 + debug: 4.4.1 + transitivePeerDependencies: + - supports-color + humanize-ms@1.2.1: dependencies: ms: 2.1.3 @@ -7384,7 +7904,7 @@ snapshots: isarray@1.0.0: {} - isbot@5.1.26: {} + isbot@5.1.28: {} isexe@2.0.0: {} @@ -7396,8 +7916,8 @@ snapshots: istanbul-lib-instrument@5.2.1: dependencies: - '@babel/core': 7.26.10 - '@babel/parser': 7.27.0 + '@babel/core': 7.27.4 + '@babel/parser': 7.27.5 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 semver: 6.3.1 @@ -7410,22 +7930,22 @@ snapshots: optionalDependencies: '@pkgjs/parseargs': 0.11.0 - jackspeak@4.1.0: + jackspeak@4.1.1: dependencies: '@isaacs/cliui': 8.0.2 - jayson@4.1.3(bufferutil@4.0.9)(utf-8-validate@5.0.10): + jayson@4.2.0(bufferutil@4.0.9)(utf-8-validate@5.0.10): dependencies: '@types/connect': 3.4.38 '@types/node': 12.20.55 '@types/ws': 7.4.7 - JSONStream: 1.3.5 commander: 2.20.3 delay: 5.0.0 es6-promisify: 5.0.0 eyes: 0.1.8 isomorphic-ws: 4.0.1(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10)) json-stringify-safe: 5.0.1 + stream-json: 1.9.1 uuid: 8.3.2 ws: 7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10) transitivePeerDependencies: @@ -7437,7 +7957,7 @@ snapshots: '@jest/environment': 29.7.0 '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.17.30 + '@types/node': 24.0.3 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -7447,7 +7967,7 @@ snapshots: dependencies: '@jest/types': 29.6.3 '@types/graceful-fs': 4.1.9 - '@types/node': 20.17.30 + '@types/node': 24.0.3 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 @@ -7461,7 +7981,7 @@ snapshots: jest-message-util@29.7.0: dependencies: - '@babel/code-frame': 7.26.2 + '@babel/code-frame': 7.27.1 '@jest/types': 29.6.3 '@types/stack-utils': 2.0.3 chalk: 4.1.2 @@ -7474,7 +7994,7 @@ snapshots: jest-mock@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 20.17.30 + '@types/node': 24.0.3 jest-util: 29.7.0 jest-regex-util@29.6.3: {} @@ -7482,7 +8002,7 @@ snapshots: jest-util@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 20.17.30 + '@types/node': 24.0.3 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -7499,11 +8019,13 @@ snapshots: jest-worker@29.7.0: dependencies: - '@types/node': 20.17.30 + '@types/node': 24.0.3 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 + jiti@2.4.2: {} + js-base64@3.7.7: {} js-beautify@1.15.4: @@ -7543,8 +8065,6 @@ snapshots: optionalDependencies: graceful-fs: 4.2.11 - jsonparse@1.3.1: {} - klona@2.0.6: {} leven@3.1.0: {} @@ -7584,7 +8104,7 @@ snapshots: lru-cache@7.18.3: {} - lucide-react@0.487.0(react@19.1.0): + lucide-react@0.522.0(react@19.1.0): dependencies: react: 19.1.0 @@ -7615,49 +8135,52 @@ snapshots: methods@1.1.2: {} - metro-babel-transformer@0.82.1: + metro-babel-transformer@0.82.4: dependencies: - '@babel/core': 7.26.10 + '@babel/core': 7.27.4 flow-enums-runtime: 0.0.6 - hermes-parser: 0.25.1 + hermes-parser: 0.28.1 nullthrows: 1.1.1 transitivePeerDependencies: - supports-color - metro-cache-key@0.82.1: + metro-cache-key@0.82.4: dependencies: flow-enums-runtime: 0.0.6 - metro-cache@0.82.1: + metro-cache@0.82.4: dependencies: exponential-backoff: 3.1.2 flow-enums-runtime: 0.0.6 - metro-core: 0.82.1 + https-proxy-agent: 7.0.6 + metro-core: 0.82.4 + transitivePeerDependencies: + - supports-color - metro-config@0.82.1(bufferutil@4.0.9)(utf-8-validate@5.0.10): + metro-config@0.82.4(bufferutil@4.0.9)(utf-8-validate@5.0.10): dependencies: connect: 3.7.0 cosmiconfig: 5.2.1 flow-enums-runtime: 0.0.6 jest-validate: 29.7.0 - metro: 0.82.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) - metro-cache: 0.82.1 - metro-core: 0.82.1 - metro-runtime: 0.82.1 + metro: 0.82.4(bufferutil@4.0.9)(utf-8-validate@5.0.10) + metro-cache: 0.82.4 + metro-core: 0.82.4 + metro-runtime: 0.82.4 transitivePeerDependencies: - bufferutil - supports-color - utf-8-validate - metro-core@0.82.1: + metro-core@0.82.4: dependencies: flow-enums-runtime: 0.0.6 lodash.throttle: 4.1.1 - metro-resolver: 0.82.1 + metro-resolver: 0.82.4 - metro-file-map@0.82.1: + metro-file-map@0.82.4: dependencies: - debug: 4.4.0 + debug: 4.4.1 fb-watchman: 2.0.2 flow-enums-runtime: 0.0.6 graceful-fs: 4.2.11 @@ -7669,112 +8192,112 @@ snapshots: transitivePeerDependencies: - supports-color - metro-minify-terser@0.82.1: + metro-minify-terser@0.82.4: dependencies: flow-enums-runtime: 0.0.6 - terser: 5.39.0 + terser: 5.43.1 - metro-resolver@0.82.1: + metro-resolver@0.82.4: dependencies: flow-enums-runtime: 0.0.6 - metro-runtime@0.82.1: + metro-runtime@0.82.4: dependencies: - '@babel/runtime': 7.27.0 + '@babel/runtime': 7.27.6 flow-enums-runtime: 0.0.6 - metro-source-map@0.82.1: + metro-source-map@0.82.4: dependencies: - '@babel/traverse': 7.27.0 - '@babel/traverse--for-generate-function-map': '@babel/traverse@7.27.0' - '@babel/types': 7.27.0 + '@babel/traverse': 7.27.4 + '@babel/traverse--for-generate-function-map': '@babel/traverse@7.27.4' + '@babel/types': 7.27.6 flow-enums-runtime: 0.0.6 invariant: 2.2.4 - metro-symbolicate: 0.82.1 + metro-symbolicate: 0.82.4 nullthrows: 1.1.1 - ob1: 0.82.1 + ob1: 0.82.4 source-map: 0.5.7 vlq: 1.0.1 transitivePeerDependencies: - supports-color - metro-symbolicate@0.82.1: + metro-symbolicate@0.82.4: dependencies: flow-enums-runtime: 0.0.6 invariant: 2.2.4 - metro-source-map: 0.82.1 + metro-source-map: 0.82.4 nullthrows: 1.1.1 source-map: 0.5.7 vlq: 1.0.1 transitivePeerDependencies: - supports-color - metro-transform-plugins@0.82.1: + metro-transform-plugins@0.82.4: dependencies: - '@babel/core': 7.26.10 - '@babel/generator': 7.27.0 - '@babel/template': 7.27.0 - '@babel/traverse': 7.27.0 + '@babel/core': 7.27.4 + '@babel/generator': 7.27.5 + '@babel/template': 7.27.2 + '@babel/traverse': 7.27.4 flow-enums-runtime: 0.0.6 nullthrows: 1.1.1 transitivePeerDependencies: - supports-color - metro-transform-worker@0.82.1(bufferutil@4.0.9)(utf-8-validate@5.0.10): + metro-transform-worker@0.82.4(bufferutil@4.0.9)(utf-8-validate@5.0.10): dependencies: - '@babel/core': 7.26.10 - '@babel/generator': 7.27.0 - '@babel/parser': 7.27.0 - '@babel/types': 7.27.0 + '@babel/core': 7.27.4 + '@babel/generator': 7.27.5 + '@babel/parser': 7.27.5 + '@babel/types': 7.27.6 flow-enums-runtime: 0.0.6 - metro: 0.82.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) - metro-babel-transformer: 0.82.1 - metro-cache: 0.82.1 - metro-cache-key: 0.82.1 - metro-minify-terser: 0.82.1 - metro-source-map: 0.82.1 - metro-transform-plugins: 0.82.1 + metro: 0.82.4(bufferutil@4.0.9)(utf-8-validate@5.0.10) + metro-babel-transformer: 0.82.4 + metro-cache: 0.82.4 + metro-cache-key: 0.82.4 + metro-minify-terser: 0.82.4 + metro-source-map: 0.82.4 + metro-transform-plugins: 0.82.4 nullthrows: 1.1.1 transitivePeerDependencies: - bufferutil - supports-color - utf-8-validate - metro@0.82.1(bufferutil@4.0.9)(utf-8-validate@5.0.10): + metro@0.82.4(bufferutil@4.0.9)(utf-8-validate@5.0.10): dependencies: - '@babel/code-frame': 7.26.2 - '@babel/core': 7.26.10 - '@babel/generator': 7.27.0 - '@babel/parser': 7.27.0 - '@babel/template': 7.27.0 - '@babel/traverse': 7.27.0 - '@babel/types': 7.27.0 + '@babel/code-frame': 7.27.1 + '@babel/core': 7.27.4 + '@babel/generator': 7.27.5 + '@babel/parser': 7.27.5 + '@babel/template': 7.27.2 + '@babel/traverse': 7.27.4 + '@babel/types': 7.27.6 accepts: 1.3.8 chalk: 4.1.2 ci-info: 2.0.0 connect: 3.7.0 - debug: 4.4.0 + debug: 4.4.1 error-stack-parser: 2.1.4 flow-enums-runtime: 0.0.6 graceful-fs: 4.2.11 - hermes-parser: 0.25.1 + hermes-parser: 0.28.1 image-size: 1.2.1 invariant: 2.2.4 jest-worker: 29.7.0 jsc-safe-url: 0.2.4 lodash.throttle: 4.1.1 - metro-babel-transformer: 0.82.1 - metro-cache: 0.82.1 - metro-cache-key: 0.82.1 - metro-config: 0.82.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) - metro-core: 0.82.1 - metro-file-map: 0.82.1 - metro-resolver: 0.82.1 - metro-runtime: 0.82.1 - metro-source-map: 0.82.1 - metro-symbolicate: 0.82.1 - metro-transform-plugins: 0.82.1 - metro-transform-worker: 0.82.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + metro-babel-transformer: 0.82.4 + metro-cache: 0.82.4 + metro-cache-key: 0.82.4 + metro-config: 0.82.4(bufferutil@4.0.9)(utf-8-validate@5.0.10) + metro-core: 0.82.4 + metro-file-map: 0.82.4 + metro-resolver: 0.82.4 + metro-runtime: 0.82.4 + metro-source-map: 0.82.4 + metro-symbolicate: 0.82.4 + metro-transform-plugins: 0.82.4 + metro-transform-worker: 0.82.4(bufferutil@4.0.9)(utf-8-validate@5.0.10) mime-types: 2.1.35 nullthrows: 1.1.1 serialize-error: 2.1.0 @@ -7802,21 +8325,21 @@ snapshots: mime@1.6.0: {} - minimatch@10.0.1: + minimatch@10.0.3: dependencies: - brace-expansion: 2.0.1 + '@isaacs/brace-expansion': 5.0.0 minimatch@3.1.2: dependencies: - brace-expansion: 1.1.11 + brace-expansion: 1.1.12 minimatch@9.0.1: dependencies: - brace-expansion: 2.0.1 + brace-expansion: 2.0.2 minimatch@9.0.5: dependencies: - brace-expansion: 2.0.1 + brace-expansion: 2.0.2 minipass@7.1.2: {} @@ -7832,11 +8355,11 @@ snapshots: transitivePeerDependencies: - supports-color - motion-dom@12.7.3: + motion-dom@12.18.1: dependencies: - motion-utils: 12.7.2 + motion-utils: 12.18.1 - motion-utils@12.7.2: {} + motion-utils@12.18.1: {} ms@2.0.0: {} @@ -7877,14 +8400,14 @@ snapshots: dependencies: hosted-git-info: 6.1.3 is-core-module: 2.16.1 - semver: 7.7.1 + semver: 7.7.2 validate-npm-package-license: 3.0.4 normalize-path@3.0.0: {} npm-install-checks@6.3.0: dependencies: - semver: 7.7.1 + semver: 7.7.2 npm-normalize-package-bin@3.0.1: {} @@ -7892,7 +8415,7 @@ snapshots: dependencies: hosted-git-info: 6.1.3 proc-log: 3.0.0 - semver: 7.7.1 + semver: 7.7.2 validate-npm-package-name: 5.0.1 npm-pick-manifest@8.0.2: @@ -7900,7 +8423,7 @@ snapshots: npm-install-checks: 6.3.0 npm-normalize-package-bin: 3.0.1 npm-package-arg: 10.1.0 - semver: 7.7.1 + semver: 7.7.2 nth-check@2.1.1: dependencies: @@ -7908,7 +8431,7 @@ snapshots: nullthrows@1.1.1: {} - ob1@0.82.1: + ob1@0.82.4: dependencies: flow-enums-runtime: 0.0.6 @@ -7960,7 +8483,7 @@ snapshots: parse-json@5.2.0: dependencies: - '@babel/code-frame': 7.26.2 + '@babel/code-frame': 7.27.1 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 @@ -7991,48 +8514,52 @@ snapshots: pathe@1.1.2: {} + pathe@2.0.3: {} + picocolors@1.1.1: {} picomatch@2.3.1: {} + picomatch@4.0.2: {} + pirates@4.0.7: {} pngjs@5.0.0: {} - postcss-js@4.0.1(postcss@8.5.3): + postcss-js@4.0.1(postcss@8.5.6): dependencies: camelcase-css: 2.0.1 - postcss: 8.5.3 + postcss: 8.5.6 - postcss-mixins@9.0.4(postcss@8.5.3): + postcss-mixins@9.0.4(postcss@8.5.6): dependencies: fast-glob: 3.3.3 - postcss: 8.5.3 - postcss-js: 4.0.1(postcss@8.5.3) - postcss-simple-vars: 7.0.1(postcss@8.5.3) - sugarss: 4.0.1(postcss@8.5.3) + postcss: 8.5.6 + postcss-js: 4.0.1(postcss@8.5.6) + postcss-simple-vars: 7.0.1(postcss@8.5.6) + sugarss: 4.0.1(postcss@8.5.6) - postcss-nested@6.2.0(postcss@8.5.3): + postcss-nested@6.2.0(postcss@8.5.6): dependencies: - postcss: 8.5.3 + postcss: 8.5.6 postcss-selector-parser: 6.1.2 - postcss-preset-mantine@1.17.0(postcss@8.5.3): + postcss-preset-mantine@1.17.0(postcss@8.5.6): dependencies: - postcss: 8.5.3 - postcss-mixins: 9.0.4(postcss@8.5.3) - postcss-nested: 6.2.0(postcss@8.5.3) + postcss: 8.5.6 + postcss-mixins: 9.0.4(postcss@8.5.6) + postcss-nested: 6.2.0(postcss@8.5.6) postcss-selector-parser@6.1.2: dependencies: cssesc: 3.0.0 util-deprecate: 1.0.2 - postcss-simple-vars@7.0.1(postcss@8.5.3): + postcss-simple-vars@7.0.1(postcss@8.5.6): dependencies: - postcss: 8.5.3 + postcss: 8.5.6 - postcss@8.5.3: + postcss@8.5.6: dependencies: nanoid: 3.3.11 picocolors: 1.1.1 @@ -8048,15 +8575,12 @@ snapshots: ansi-styles: 5.2.0 react-is: 18.3.1 - prisma@6.6.0(typescript@5.8.3): + prisma@6.10.1(typescript@5.8.3): dependencies: - '@prisma/config': 6.6.0 - '@prisma/engines': 6.6.0 + '@prisma/config': 6.10.1 + '@prisma/engines': 6.10.1 optionalDependencies: - fsevents: 2.3.3 typescript: 5.8.3 - transitivePeerDependencies: - - supports-color proc-log@3.0.0: {} @@ -8125,18 +8649,18 @@ snapshots: react-dom: 19.1.0(react@19.1.0) uuid: 8.3.2 - react-devtools-core@6.1.1(bufferutil@4.0.9)(utf-8-validate@5.0.10): + react-devtools-core@6.1.2(bufferutil@4.0.9)(utf-8-validate@5.0.10): dependencies: - shell-quote: 1.8.2 + shell-quote: 1.8.3 ws: 7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10) transitivePeerDependencies: - bufferutil - utf-8-validate - react-diff-viewer-continued@4.0.5(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + react-diff-viewer-continued@4.0.6(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0): dependencies: '@emotion/css': 11.13.5 - '@emotion/react': 11.14.0(@types/react@19.1.2)(react@19.1.0) + '@emotion/react': 11.14.0(@types/react@19.1.8)(react@19.1.0) classnames: 2.5.1 diff: 5.2.0 memoize-one: 6.0.0 @@ -8162,20 +8686,20 @@ snapshots: react-lifecycles-compat@3.0.4: {} - react-native@0.79.1(@babel/core@7.26.10)(@types/react@19.1.2)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10): + react-native@0.79.1(@babel/core@7.27.4)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10): dependencies: '@jest/create-cache-key-function': 29.7.0 '@react-native/assets-registry': 0.79.1 - '@react-native/codegen': 0.79.1(@babel/core@7.26.10) + '@react-native/codegen': 0.79.1(@babel/core@7.27.4) '@react-native/community-cli-plugin': 0.79.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@react-native/gradle-plugin': 0.79.1 '@react-native/js-polyfills': 0.79.1 '@react-native/normalize-colors': 0.79.1 - '@react-native/virtualized-lists': 0.79.1(@types/react@19.1.2)(react-native@0.79.1(@babel/core@7.26.10)(@types/react@19.1.2)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0) + '@react-native/virtualized-lists': 0.79.1(@types/react@19.1.8)(react-native@0.79.1(@babel/core@7.27.4)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0) abort-controller: 3.0.0 anser: 1.4.10 ansi-regex: 5.0.1 - babel-jest: 29.7.0(@babel/core@7.26.10) + babel-jest: 29.7.0(@babel/core@7.27.4) babel-plugin-syntax-hermes-parser: 0.25.1 base64-js: 1.5.1 chalk: 4.1.2 @@ -8186,23 +8710,23 @@ snapshots: invariant: 2.2.4 jest-environment-node: 29.7.0 memoize-one: 5.2.1 - metro-runtime: 0.82.1 - metro-source-map: 0.82.1 + metro-runtime: 0.82.4 + metro-source-map: 0.82.4 nullthrows: 1.1.1 pretty-format: 29.7.0 promise: 8.3.0 react: 19.1.0 - react-devtools-core: 6.1.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + react-devtools-core: 6.1.2(bufferutil@4.0.9)(utf-8-validate@5.0.10) react-refresh: 0.14.2 regenerator-runtime: 0.13.11 scheduler: 0.25.0 - semver: 7.7.1 + semver: 7.7.2 stacktrace-parser: 0.1.11 whatwg-fetch: 3.6.20 ws: 6.2.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) yargs: 17.7.2 optionalDependencies: - '@types/react': 19.1.2 + '@types/react': 19.1.8 transitivePeerDependencies: - '@babel/core' - '@react-native-community/cli' @@ -8217,95 +8741,94 @@ snapshots: react-refresh@0.14.2: {} - react-remove-scroll-bar@2.3.8(@types/react@19.1.2)(react@19.1.0): + react-remove-scroll-bar@2.3.8(@types/react@19.1.8)(react@19.1.0): dependencies: react: 19.1.0 - react-style-singleton: 2.2.3(@types/react@19.1.2)(react@19.1.0) + react-style-singleton: 2.2.3(@types/react@19.1.8)(react@19.1.0) tslib: 2.8.1 optionalDependencies: - '@types/react': 19.1.2 + '@types/react': 19.1.8 - react-remove-scroll@2.6.3(@types/react@19.1.2)(react@19.1.0): + react-remove-scroll@2.7.1(@types/react@19.1.8)(react@19.1.0): dependencies: react: 19.1.0 - react-remove-scroll-bar: 2.3.8(@types/react@19.1.2)(react@19.1.0) - react-style-singleton: 2.2.3(@types/react@19.1.2)(react@19.1.0) + react-remove-scroll-bar: 2.3.8(@types/react@19.1.8)(react@19.1.0) + react-style-singleton: 2.2.3(@types/react@19.1.8)(react@19.1.0) tslib: 2.8.1 - use-callback-ref: 1.3.3(@types/react@19.1.2)(react@19.1.0) - use-sidecar: 1.1.3(@types/react@19.1.2)(react@19.1.0) + use-callback-ref: 1.3.3(@types/react@19.1.8)(react@19.1.0) + use-sidecar: 1.1.3(@types/react@19.1.8)(react@19.1.0) optionalDependencies: - '@types/react': 19.1.2 - - react-router-devtools@1.1.10(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react-router@7.5.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0)(vite@5.4.18(@types/node@20.17.30)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)): - dependencies: - '@babel/core': 7.26.10 - '@babel/generator': 7.27.0 - '@babel/parser': 7.27.0 - '@babel/traverse': 7.27.0 - '@babel/types': 7.27.0 - '@radix-ui/react-accordion': 1.2.4(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@radix-ui/react-select': 2.1.7(@types/react-dom@19.1.2(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@types/react': 19.1.8 + + react-router-devtools@5.0.6(@types/react-dom@19.1.6(@types/react@19.1.8))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react-router@7.6.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0)(vite@6.3.5(@types/node@24.0.3)(jiti@2.4.2)(sugarss@4.0.1(postcss@8.5.6))(terser@5.43.1)(yaml@2.8.0)): + dependencies: + '@babel/core': 7.27.4 + '@babel/generator': 7.27.5 + '@babel/parser': 7.27.5 + '@babel/traverse': 7.27.4 + '@babel/types': 7.27.6 + '@radix-ui/react-accordion': 1.2.11(@types/react-dom@19.1.6(@types/react@19.1.8))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-select': 2.2.5(@types/react-dom@19.1.6(@types/react@19.1.8))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@types/react': 19.1.8 + '@types/react-dom': 19.1.6(@types/react@19.1.8) beautify: 0.0.8 - bippy: 0.3.8(@types/react@19.1.2)(react@19.1.0) + bippy: 0.3.17(@types/react@19.1.8)(react@19.1.0) chalk: 5.4.1 clsx: 2.1.1 date-fns: 4.1.0 - framer-motion: 12.7.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + framer-motion: 12.18.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0) react: 19.1.0 react-d3-tree: 3.6.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - react-diff-viewer-continued: 4.0.5(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + react-diff-viewer-continued: 4.0.6(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) react-dom: 19.1.0(react@19.1.0) react-hotkeys-hook: 4.6.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - react-router: 7.5.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - react-tooltip: 5.28.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - vite: 5.4.18(@types/node@20.17.30)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0) + react-router: 7.6.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + react-tooltip: 5.29.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + tailwind-merge: 3.3.1 + vite: 6.3.5(@types/node@24.0.3)(jiti@2.4.2)(sugarss@4.0.1(postcss@8.5.6))(terser@5.43.1)(yaml@2.8.0) optionalDependencies: '@biomejs/cli-darwin-arm64': 1.9.4 - '@rollup/rollup-darwin-arm64': 4.40.0 - '@rollup/rollup-linux-x64-gnu': 4.40.0 + '@rollup/rollup-darwin-arm64': 4.44.0 + '@rollup/rollup-linux-x64-gnu': 4.44.0 transitivePeerDependencies: - '@emotion/is-prop-valid' - - '@types/react' - - '@types/react-dom' - supports-color - react-router@7.5.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + react-router@7.6.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0): dependencies: - '@types/cookie': 0.6.0 cookie: 1.0.2 react: 19.1.0 set-cookie-parser: 2.7.1 - turbo-stream: 2.4.0 optionalDependencies: react-dom: 19.1.0(react@19.1.0) - react-style-singleton@2.2.3(@types/react@19.1.2)(react@19.1.0): + react-style-singleton@2.2.3(@types/react@19.1.8)(react@19.1.0): dependencies: get-nonce: 1.0.1 react: 19.1.0 tslib: 2.8.1 optionalDependencies: - '@types/react': 19.1.2 + '@types/react': 19.1.8 - react-textarea-autosize@8.5.9(@types/react@19.1.2)(react@19.1.0): + react-textarea-autosize@8.5.9(@types/react@19.1.8)(react@19.1.0): dependencies: - '@babel/runtime': 7.27.0 + '@babel/runtime': 7.27.6 react: 19.1.0 - use-composed-ref: 1.4.0(@types/react@19.1.2)(react@19.1.0) - use-latest: 1.3.0(@types/react@19.1.2)(react@19.1.0) + use-composed-ref: 1.4.0(@types/react@19.1.8)(react@19.1.0) + use-latest: 1.3.0(@types/react@19.1.8)(react@19.1.0) transitivePeerDependencies: - '@types/react' - react-tooltip@5.28.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + react-tooltip@5.29.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0): dependencies: - '@floating-ui/dom': 1.6.13 + '@floating-ui/dom': 1.7.1 classnames: 2.5.1 react: 19.1.0 react-dom: 19.1.0(react@19.1.0) react-transition-group@4.4.5(react-dom@19.1.0(react@19.1.0))(react@19.1.0): dependencies: - '@babel/runtime': 7.27.0 + '@babel/runtime': 7.27.6 dom-helpers: 5.2.1 loose-envify: 1.4.0 prop-types: 15.8.1 @@ -8332,27 +8855,22 @@ snapshots: regenerator-runtime@0.13.11: {} - regenerator-runtime@0.14.1: {} - remix-auth-form@3.0.0(remix-auth@4.2.0): dependencies: remix-auth: 4.2.0 - remix-auth-oauth2@3.4.0(remix-auth@4.2.0): + remix-auth-oauth2@3.4.1(remix-auth@4.2.0): dependencies: '@edgefirst-dev/data': 0.0.4 '@mjackson/headers': 0.10.0 - arctic: 3.6.0 - debug: 4.4.0 + arctic: 3.7.0 remix-auth: 4.2.0 - transitivePeerDependencies: - - supports-color remix-auth@4.2.0: {} - remix-themes@2.0.4(react-router@7.5.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0)): + remix-themes@2.0.4(react-router@7.6.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0)): dependencies: - react-router: 7.5.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + react-router: 7.6.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0) require-directory@2.1.1: {} @@ -8378,30 +8896,30 @@ snapshots: dependencies: glob: 7.2.3 - rollup@4.40.0: + rollup@4.44.0: dependencies: - '@types/estree': 1.0.7 + '@types/estree': 1.0.8 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.40.0 - '@rollup/rollup-android-arm64': 4.40.0 - '@rollup/rollup-darwin-arm64': 4.40.0 - '@rollup/rollup-darwin-x64': 4.40.0 - '@rollup/rollup-freebsd-arm64': 4.40.0 - '@rollup/rollup-freebsd-x64': 4.40.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.40.0 - '@rollup/rollup-linux-arm-musleabihf': 4.40.0 - '@rollup/rollup-linux-arm64-gnu': 4.40.0 - '@rollup/rollup-linux-arm64-musl': 4.40.0 - '@rollup/rollup-linux-loongarch64-gnu': 4.40.0 - '@rollup/rollup-linux-powerpc64le-gnu': 4.40.0 - '@rollup/rollup-linux-riscv64-gnu': 4.40.0 - '@rollup/rollup-linux-riscv64-musl': 4.40.0 - '@rollup/rollup-linux-s390x-gnu': 4.40.0 - '@rollup/rollup-linux-x64-gnu': 4.40.0 - '@rollup/rollup-linux-x64-musl': 4.40.0 - '@rollup/rollup-win32-arm64-msvc': 4.40.0 - '@rollup/rollup-win32-ia32-msvc': 4.40.0 - '@rollup/rollup-win32-x64-msvc': 4.40.0 + '@rollup/rollup-android-arm-eabi': 4.44.0 + '@rollup/rollup-android-arm64': 4.44.0 + '@rollup/rollup-darwin-arm64': 4.44.0 + '@rollup/rollup-darwin-x64': 4.44.0 + '@rollup/rollup-freebsd-arm64': 4.44.0 + '@rollup/rollup-freebsd-x64': 4.44.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.44.0 + '@rollup/rollup-linux-arm-musleabihf': 4.44.0 + '@rollup/rollup-linux-arm64-gnu': 4.44.0 + '@rollup/rollup-linux-arm64-musl': 4.44.0 + '@rollup/rollup-linux-loongarch64-gnu': 4.44.0 + '@rollup/rollup-linux-powerpc64le-gnu': 4.44.0 + '@rollup/rollup-linux-riscv64-gnu': 4.44.0 + '@rollup/rollup-linux-riscv64-musl': 4.44.0 + '@rollup/rollup-linux-s390x-gnu': 4.44.0 + '@rollup/rollup-linux-x64-gnu': 4.44.0 + '@rollup/rollup-linux-x64-musl': 4.44.0 + '@rollup/rollup-win32-arm64-msvc': 4.44.0 + '@rollup/rollup-win32-ia32-msvc': 4.44.0 + '@rollup/rollup-win32-x64-msvc': 4.44.0 fsevents: 2.3.3 rpc-websockets@9.1.1: @@ -8412,7 +8930,7 @@ snapshots: buffer: 6.0.3 eventemitter3: 5.0.1 uuid: 8.3.2 - ws: 8.18.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + ws: 8.18.2(bufferutil@4.0.9)(utf-8-validate@5.0.10) optionalDependencies: bufferutil: 4.0.9 utf-8-validate: 5.0.10 @@ -8433,7 +8951,7 @@ snapshots: semver@6.3.1: {} - semver@7.7.1: {} + semver@7.7.2: {} send@0.19.0: dependencies: @@ -8476,7 +8994,7 @@ snapshots: shebang-regex@3.0.0: {} - shell-quote@1.8.2: {} + shell-quote@1.8.3: {} side-channel-list@1.0.0: dependencies: @@ -8558,6 +9076,12 @@ snapshots: statuses@2.0.1: {} + stream-chain@2.2.5: {} + + stream-json@1.9.1: + dependencies: + stream-chain: 2.2.5 + stream-slice@0.1.2: {} string-width@4.2.3: @@ -8586,9 +9110,9 @@ snapshots: stylis@4.2.0: {} - sugarss@4.0.1(postcss@8.5.3): + sugarss@4.0.1(postcss@8.5.6): dependencies: - postcss: 8.5.3 + postcss: 8.5.6 superstruct@0.15.5: {} @@ -8606,10 +9130,12 @@ snapshots: tabbable@6.2.0: {} - terser@5.39.0: + tailwind-merge@3.3.1: {} + + terser@5.43.1: dependencies: '@jridgewell/source-map': 0.3.6 - acorn: 8.14.1 + acorn: 8.15.0 commander: 2.20.3 source-map-support: 0.5.21 @@ -8623,10 +9149,13 @@ snapshots: throat@5.0.0: {} - through@2.3.8: {} - tinyexec@0.3.2: {} + tinyglobby@0.2.14: + dependencies: + fdir: 6.4.6(picomatch@4.0.2) + picomatch: 4.0.2 + tmpl@1.0.5: {} to-regex-range@5.0.1: @@ -8639,19 +9168,17 @@ snapshots: tr46@0.0.3: {} - tsconfck@3.1.5(typescript@5.8.3): + tsconfck@3.1.6(typescript@5.8.3): optionalDependencies: typescript: 5.8.3 tslib@2.8.1: {} - turbo-stream@2.4.0: {} - type-detect@4.0.8: {} type-fest@0.7.1: {} - type-fest@4.40.0: {} + type-fest@4.41.0: {} type-is@1.6.18: dependencies: @@ -8662,53 +9189,55 @@ snapshots: typescript@5.8.3: {} - undici-types@6.19.8: {} + undici-types@7.10.0: {} - undici@6.21.2: {} + undici-types@7.8.0: {} + + undici@6.21.3: {} universalify@2.0.1: {} unpipe@1.0.0: {} - update-browserslist-db@1.1.3(browserslist@4.24.4): + update-browserslist-db@1.1.3(browserslist@4.25.0): dependencies: - browserslist: 4.24.4 + browserslist: 4.25.0 escalade: 3.2.0 picocolors: 1.1.1 - use-callback-ref@1.3.3(@types/react@19.1.2)(react@19.1.0): + use-callback-ref@1.3.3(@types/react@19.1.8)(react@19.1.0): dependencies: react: 19.1.0 tslib: 2.8.1 optionalDependencies: - '@types/react': 19.1.2 + '@types/react': 19.1.8 - use-composed-ref@1.4.0(@types/react@19.1.2)(react@19.1.0): + use-composed-ref@1.4.0(@types/react@19.1.8)(react@19.1.0): dependencies: react: 19.1.0 optionalDependencies: - '@types/react': 19.1.2 + '@types/react': 19.1.8 - use-isomorphic-layout-effect@1.2.0(@types/react@19.1.2)(react@19.1.0): + use-isomorphic-layout-effect@1.2.1(@types/react@19.1.8)(react@19.1.0): dependencies: react: 19.1.0 optionalDependencies: - '@types/react': 19.1.2 + '@types/react': 19.1.8 - use-latest@1.3.0(@types/react@19.1.2)(react@19.1.0): + use-latest@1.3.0(@types/react@19.1.8)(react@19.1.0): dependencies: react: 19.1.0 - use-isomorphic-layout-effect: 1.2.0(@types/react@19.1.2)(react@19.1.0) + use-isomorphic-layout-effect: 1.2.1(@types/react@19.1.8)(react@19.1.0) optionalDependencies: - '@types/react': 19.1.2 + '@types/react': 19.1.8 - use-sidecar@1.1.3(@types/react@19.1.2)(react@19.1.0): + use-sidecar@1.1.3(@types/react@19.1.8)(react@19.1.0): dependencies: detect-node-es: 1.1.0 react: 19.1.0 tslib: 2.8.1 optionalDependencies: - '@types/react': 19.1.2 + '@types/react': 19.1.8 utf-8-validate@5.0.10: dependencies: @@ -8734,15 +9263,16 @@ snapshots: vary@1.1.2: {} - vite-node@3.0.0-beta.2(@types/node@20.17.30)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0): + vite-node@3.2.4(@types/node@24.0.3)(jiti@2.4.2)(sugarss@4.0.1(postcss@8.5.6))(terser@5.43.1)(yaml@2.8.0): dependencies: cac: 6.7.14 - debug: 4.4.0 - es-module-lexer: 1.6.0 - pathe: 1.1.2 - vite: 5.4.18(@types/node@20.17.30)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0) + debug: 4.4.1 + es-module-lexer: 1.7.0 + pathe: 2.0.3 + vite: 6.3.5(@types/node@24.0.3)(jiti@2.4.2)(sugarss@4.0.1(postcss@8.5.6))(terser@5.43.1)(yaml@2.8.0) transitivePeerDependencies: - '@types/node' + - jiti - less - lightningcss - sass @@ -8751,36 +9281,43 @@ snapshots: - sugarss - supports-color - terser + - tsx + - yaml - vite-plugin-icons-spritesheet@3.0.1(vite@5.4.18(@types/node@20.17.30)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)): + vite-plugin-icons-spritesheet@3.0.1(vite@6.3.5(@types/node@24.0.3)(jiti@2.4.2)(sugarss@4.0.1(postcss@8.5.6))(terser@5.43.1)(yaml@2.8.0)): dependencies: chalk: 5.4.1 - glob: 11.0.1 + glob: 11.0.3 node-html-parser: 7.0.1 tinyexec: 0.3.2 - vite: 5.4.18(@types/node@20.17.30)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0) + vite: 6.3.5(@types/node@24.0.3)(jiti@2.4.2)(sugarss@4.0.1(postcss@8.5.6))(terser@5.43.1)(yaml@2.8.0) - vite-tsconfig-paths@5.1.4(typescript@5.8.3)(vite@5.4.18(@types/node@20.17.30)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)): + vite-tsconfig-paths@5.1.4(typescript@5.8.3)(vite@6.3.5(@types/node@24.0.3)(jiti@2.4.2)(sugarss@4.0.1(postcss@8.5.6))(terser@5.43.1)(yaml@2.8.0)): dependencies: - debug: 4.4.0 + debug: 4.4.1 globrex: 0.1.2 - tsconfck: 3.1.5(typescript@5.8.3) + tsconfck: 3.1.6(typescript@5.8.3) optionalDependencies: - vite: 5.4.18(@types/node@20.17.30)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0) + vite: 6.3.5(@types/node@24.0.3)(jiti@2.4.2)(sugarss@4.0.1(postcss@8.5.6))(terser@5.43.1)(yaml@2.8.0) transitivePeerDependencies: - supports-color - typescript - vite@5.4.18(@types/node@20.17.30)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0): + vite@6.3.5(@types/node@24.0.3)(jiti@2.4.2)(sugarss@4.0.1(postcss@8.5.6))(terser@5.43.1)(yaml@2.8.0): dependencies: - esbuild: 0.21.5 - postcss: 8.5.3 - rollup: 4.40.0 + esbuild: 0.25.5 + fdir: 6.4.6(picomatch@4.0.2) + picomatch: 4.0.2 + postcss: 8.5.6 + rollup: 4.44.0 + tinyglobby: 0.2.14 optionalDependencies: - '@types/node': 20.17.30 + '@types/node': 24.0.3 fsevents: 2.3.3 - sugarss: 4.0.1(postcss@8.5.3) - terser: 5.39.0 + jiti: 2.4.2 + sugarss: 4.0.1(postcss@8.5.6) + terser: 5.43.1 + yaml: 2.8.0 vlq@1.0.1: {} @@ -8848,7 +9385,7 @@ snapshots: bufferutil: 4.0.9 utf-8-validate: 5.0.10 - ws@8.18.1(bufferutil@4.0.9)(utf-8-validate@5.0.10): + ws@8.18.2(bufferutil@4.0.9)(utf-8-validate@5.0.10): optionalDependencies: bufferutil: 4.0.9 utf-8-validate: 5.0.10 @@ -8861,7 +9398,7 @@ snapshots: yaml@1.10.2: {} - yaml@2.7.1: {} + yaml@2.8.0: {} yargs-parser@18.1.3: dependencies: @@ -8894,13 +9431,13 @@ snapshots: y18n: 5.0.8 yargs-parser: 21.1.1 - zod-prisma-types@3.2.4(@prisma/client@6.6.0(prisma@6.6.0(typescript@5.8.3))(typescript@5.8.3))(prisma@6.6.0(typescript@5.8.3)): + zod-prisma-types@3.2.4(@prisma/client@6.10.1(prisma@6.10.1(typescript@5.8.3))(typescript@5.8.3))(prisma@6.10.1(typescript@5.8.3)): dependencies: - '@prisma/client': 6.6.0(prisma@6.6.0(typescript@5.8.3))(typescript@5.8.3) - '@prisma/generator-helper': 6.6.0 + '@prisma/client': 6.10.1(prisma@6.10.1(typescript@5.8.3))(typescript@5.8.3) + '@prisma/generator-helper': 6.10.1 code-block-writer: 12.0.0 lodash: 4.17.21 - prisma: 6.6.0(typescript@5.8.3) - zod: 3.24.2 + prisma: 6.10.1(typescript@5.8.3) + zod: 3.25.67 - zod@3.24.2: {} + zod@3.25.67: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml new file mode 100644 index 0000000..727ec57 --- /dev/null +++ b/pnpm-workspace.yaml @@ -0,0 +1,8 @@ +onlyBuiltDependencies: + - '@prisma/client' + - '@prisma/engines' + - bigint-buffer + - bufferutil + - esbuild + - prisma + - utf-8-validate diff --git a/prisma/schema.prisma b/prisma/schema.prisma index c95e9ca..4834e92 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -19,6 +19,7 @@ model User { username String @unique password String? name String? + bio String? avatarUrl String? admin Boolean @default(false) identities Identity[] diff --git a/public/user-profiles.svg b/public/user-profiles.svg new file mode 100644 index 0000000..5bf6549 --- /dev/null +++ b/public/user-profiles.svg @@ -0,0 +1,68 @@ + + + user-profiles + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/user-profiles.svg b/user-profiles.svg new file mode 100644 index 0000000..5bf6549 --- /dev/null +++ b/user-profiles.svg @@ -0,0 +1,68 @@ + + + user-profiles + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file