diff --git a/.changeset/great-kiwis-peel.md b/.changeset/great-kiwis-peel.md new file mode 100644 index 00000000..d51bd970 --- /dev/null +++ b/.changeset/great-kiwis-peel.md @@ -0,0 +1,15 @@ +--- +"@dojoengine/sdk": patch +"@dojoengine/core": patch +"@dojoengine/create-burner": patch +"@dojoengine/create-dojo": patch +"@dojoengine/predeployed-connector": patch +"@dojoengine/react": patch +"@dojoengine/state": patch +"@dojoengine/torii-client": patch +"@dojoengine/torii-wasm": patch +"@dojoengine/utils": patch +"@dojoengine/utils-wasm": patch +--- + +Add @dojoengine/sdk/state @dojoengine/sdk/react @dojoengine/sdk/sql // Moves hooks to sdk // Update examples diff --git a/examples/example-vite-kitchen-sink/src/components/caller-counter.tsx b/examples/example-vite-kitchen-sink/src/components/caller-counter.tsx index 1774111e..6983d6a8 100644 --- a/examples/example-vite-kitchen-sink/src/components/caller-counter.tsx +++ b/examples/example-vite-kitchen-sink/src/components/caller-counter.tsx @@ -1,13 +1,15 @@ import { useCallback, useEffect, useState } from "react"; -import { Button } from "./ui/button"; -import { useAccount, useSendTransaction } from "@starknet-react/core"; -import { useDojoDb } from "@/dojo/provider"; -import { ensureStarkFelt } from "@/lib/utils"; + import { ParsedEntity, QueryBuilder, SDK } from "@dojoengine/sdk"; +import { useDojoSDK } from "@dojoengine/sdk/react"; import { Subscription } from "@dojoengine/torii-wasm"; -import { dojoConfig } from "@/../dojoConfig"; import { SchemaType } from "@/typescript/models.gen"; +import { setupWorld } from "@/typescript/contracts.gen"; +import { dojoConfig } from "@/../dojoConfig"; + import { addAddressPadding } from "starknet"; +import { Button } from "./ui/button"; +import { useAccount, useSendTransaction } from "@starknet-react/core"; export default function CallerCounter() { const [count, setCount] = useState(0); @@ -29,7 +31,7 @@ export default function CallerCounter() { setIsLoading(true); }, [incrementCallerCounter, setIsLoading]); - const { db } = useDojoDb(); + const { sdk } = useDojoSDK(); useEffect(() => { async function getEntity(db: SDK, address: string) { const entity = await db.getEntities({ @@ -53,10 +55,10 @@ export default function CallerCounter() { return parseInt(count.toString(), 16); } - if (address && db) { - getEntity(db, address).then(setCount).catch(console.error); + if (address && sdk) { + getEntity(sdk, address).then(setCount).catch(console.error); } - }, [address, db]); + }, [address, sdk]); useEffect(() => { async function subscribeToEntityUpdates( @@ -100,8 +102,8 @@ export default function CallerCounter() { }); setSub(sub); } - if (address && db && sub === null) { - subscribeToEntityUpdates(db, address) + if (address && sdk && sub === null) { + subscribeToEntityUpdates(sdk, address) .then(() => {}) .catch(console.error); } @@ -110,7 +112,7 @@ export default function CallerCounter() { sub.free(); } }; - }, [address, db, sub]); + }, [address, sdk, sub]); return (
diff --git a/examples/example-vite-kitchen-sink/src/components/chat.tsx b/examples/example-vite-kitchen-sink/src/components/chat.tsx index bb13bd61..54a3c28c 100644 --- a/examples/example-vite-kitchen-sink/src/components/chat.tsx +++ b/examples/example-vite-kitchen-sink/src/components/chat.tsx @@ -5,13 +5,14 @@ import { Label } from "./ui/label"; import { Textarea } from "./ui/textarea"; import { useCallback, useEffect, useRef, useState, KeyboardEvent } from "react"; import { useForm } from "react-hook-form"; -import { useDojoDb } from "@/dojo/provider"; import { useAccount } from "@starknet-react/core"; import { toValidAscii } from "@/lib/utils"; import { ParsedEntity, SDK } from "@dojoengine/sdk"; import { Subscription } from "@dojoengine/torii-wasm"; import { shortAddress } from "@/lib/utils"; import { Message, SchemaType } from "@/typescript/models.gen"; +import { useDojoSDK } from "@dojoengine/sdk/react"; +import { setupWorld } from "@/typescript/contracts.gen"; interface MessageItem { content: string; @@ -30,7 +31,7 @@ export default function Chat() { const [sub, setSub] = useState(null); const formRef = useRef(null); - const { db } = useDojoDb(); + const { sdk: db } = useDojoSDK(); const publish = useCallback( async (data: FormValues) => { if (!account || !db) return; diff --git a/examples/example-vite-kitchen-sink/src/components/global-counter.tsx b/examples/example-vite-kitchen-sink/src/components/global-counter.tsx index 05e6f398..384aefad 100644 --- a/examples/example-vite-kitchen-sink/src/components/global-counter.tsx +++ b/examples/example-vite-kitchen-sink/src/components/global-counter.tsx @@ -1,12 +1,12 @@ import { useCallback, useEffect, useState } from "react"; import { Button } from "./ui/button"; import { useSendTransaction } from "@starknet-react/core"; -import { useDojoDb } from "@/dojo/provider"; import { ParsedEntity, QueryBuilder, SDK } from "@dojoengine/sdk"; import { Subscription } from "@dojoengine/torii-wasm"; import { dojoConfig } from "@/../dojoConfig"; import { SchemaType } from "@/typescript/models.gen"; -import { addAddressPadding } from "starknet"; +import { useDojoSDK } from "@dojoengine/sdk/react"; +import { setupWorld } from "@/typescript/contracts.gen"; export default function GlobalCOunter() { const [count, setCount] = useState(0); @@ -26,7 +26,7 @@ export default function GlobalCOunter() { setIsLoading(true); }, [incrementGlobalCounter, setIsLoading]); - const { db } = useDojoDb(); + const { sdk: db } = useDojoSDK(); useEffect(() => { async function getEntity(db: SDK) { diff --git a/examples/example-vite-kitchen-sink/src/components/theme-switch.tsx b/examples/example-vite-kitchen-sink/src/components/theme-switch.tsx index 9bd97c07..8e3e79b2 100644 --- a/examples/example-vite-kitchen-sink/src/components/theme-switch.tsx +++ b/examples/example-vite-kitchen-sink/src/components/theme-switch.tsx @@ -4,7 +4,6 @@ import { Subscription } from "@dojoengine/torii-wasm"; import { useAccount } from "@starknet-react/core"; import { ParsedEntity, QueryBuilder, SDK } from "@dojoengine/sdk"; import { SchemaType } from "@/typescript/models.gen"; -import { useDojoDb } from "@/dojo/provider"; import { Button } from "@/components/ui/button"; import { DropdownMenu, @@ -17,6 +16,8 @@ import { DropdownMenuTrigger, } from "@/components/ui/dropdown"; import { CairoCustomEnum } from "starknet"; +import { useDojoSDK } from "@dojoengine/sdk/react"; +import { setupWorld } from "@/typescript/contracts.gen"; interface ThemeState { current: string | null; @@ -47,7 +48,10 @@ export default function ThemeSwitchButton() { const [entityId, setEntityId] = useState(null); const { address, account } = useAccount(); const [sub, setSub] = useState(null); - const { db, actions } = useDojoDb(); + const { sdk: db, client: actions } = useDojoSDK< + typeof setupWorld, + SchemaType + >(); const handleChangeTheme = useCallback( async (theme: AvailableTheme) => { diff --git a/examples/example-vite-kitchen-sink/src/dojo/provider.tsx b/examples/example-vite-kitchen-sink/src/dojo/provider.tsx deleted file mode 100644 index 3f94b385..00000000 --- a/examples/example-vite-kitchen-sink/src/dojo/provider.tsx +++ /dev/null @@ -1,21 +0,0 @@ -import { SchemaType, schema } from "../typescript/models.gen"; -import { createContext, useContext, useEffect, useState } from "react"; -import type { SDK } from "@dojoengine/sdk"; -import { DojoProvider } from "@dojoengine/core"; -import { setupWorld } from "@/typescript/contracts.gen"; - -export function useDojoDb() { - return useContext(DojoContext); -} - -export interface DojoContextInterface { - db?: SDK; - provider?: DojoProvider; - actions?: ReturnType; -} - -export const DojoContext = createContext({ - db: undefined, - provider: undefined, - actions: undefined, -}); diff --git a/examples/example-vite-kitchen-sink/src/main.tsx b/examples/example-vite-kitchen-sink/src/main.tsx index 433a0aa0..118c65af 100644 --- a/examples/example-vite-kitchen-sink/src/main.tsx +++ b/examples/example-vite-kitchen-sink/src/main.tsx @@ -7,15 +7,15 @@ import Home from "./app/page"; import "./app/globals.css"; import { init } from "@dojoengine/sdk"; -import { env, getRpcUrl } from "@/env"; +import { DojoSdkProvider } from "@dojoengine/sdk/react"; import { dojoConfig } from "../dojoConfig"; -import { DojoContext } from "@/dojo/provider"; -import { DojoProvider } from "@dojoengine/core"; import { setupWorld } from "./typescript/contracts.gen"; import { SchemaType, schema } from "./typescript/models.gen"; +import { env, getRpcUrl } from "@/env"; + async function main() { - const db = await init( + const sdk = await init( { client: { rpcUrl: getRpcUrl(), @@ -32,16 +32,18 @@ async function main() { }, schema ); - const provider = new DojoProvider(dojoConfig.manifest, getRpcUrl()); - const actions = setupWorld(provider); createRoot(document.getElementById("root")!).render( - + - + ); } diff --git a/examples/example-vite-react-sdk/src/App.tsx b/examples/example-vite-react-sdk/src/App.tsx index fd73ad75..d92eccd7 100644 --- a/examples/example-vite-react-sdk/src/App.tsx +++ b/examples/example-vite-react-sdk/src/App.tsx @@ -1,25 +1,15 @@ -import { useEffect, useMemo } from "react"; -import { - ParsedEntity, - QueryBuilder, - SDK, - createDojoStore, -} from "@dojoengine/sdk"; +import { useContext, useEffect, useMemo } from "react"; +import { ParsedEntity, QueryBuilder } from "@dojoengine/sdk"; import { getEntityIdFromKeys } from "@dojoengine/utils"; import { AccountInterface, addAddressPadding, CairoCustomEnum } from "starknet"; import { ModelsMapping, SchemaType } from "./typescript/models.gen.ts"; -import { useDojo } from "./useDojo.tsx"; import useModel from "./useModel.tsx"; import { useSystemCalls } from "./useSystemCalls.ts"; import { useAccount } from "@starknet-react/core"; import { WalletAccount } from "./wallet-account.tsx"; import { HistoricalEvents } from "./historical-events.tsx"; - -/** - * Global store for managing Dojo game state. - */ -export const useDojoStore = createDojoStore(); +import { useDojoSDK } from "@dojoengine/sdk/react"; /** * Main application component that provides game functionality and UI. @@ -27,10 +17,8 @@ export const useDojoStore = createDojoStore(); * * @param props.sdk - The Dojo SDK instance configured with the game schema */ -function App({ sdk }: { sdk: SDK }) { - const { - setup: { client }, - } = useDojo(); +function App() { + const { useDojoStore, client, sdk } = useDojoSDK(); const { account } = useAccount(); const state = useDojoStore((state) => state); const entities = useDojoStore((state) => state.entities); @@ -280,7 +268,6 @@ function App({ sdk }: { sdk: SDK }) { "N/A"} - {/* @ts-expect-error we have an option here so type is ok */} {lastDirection} @@ -296,7 +283,7 @@ function App({ sdk }: { sdk: SDK }) { {/* // Here sdk is passed as props but this can be done via contexts */} - + ); diff --git a/examples/example-vite-react-sdk/src/historical-events.tsx b/examples/example-vite-react-sdk/src/historical-events.tsx index 6e1f6c47..e9e09145 100644 --- a/examples/example-vite-react-sdk/src/historical-events.tsx +++ b/examples/example-vite-react-sdk/src/historical-events.tsx @@ -4,9 +4,11 @@ import { SchemaType } from "./typescript/models.gen"; import { AccountInterface, addAddressPadding } from "starknet"; import { useEffect, useState } from "react"; import { Subscription } from "@dojoengine/torii-client"; +import { useDojoSDK } from "@dojoengine/sdk/react"; -export function HistoricalEvents({ sdk }: { sdk: SDK }) { +export function HistoricalEvents() { const { account } = useAccount(); + const { sdk } = useDojoSDK(); const [events, setEvents] = useState[][]>([]); const [subscription, setSubscription] = useState(null); diff --git a/examples/example-vite-react-sdk/src/main.tsx b/examples/example-vite-react-sdk/src/main.tsx index 7b9d811f..d2bbf439 100644 --- a/examples/example-vite-react-sdk/src/main.tsx +++ b/examples/example-vite-react-sdk/src/main.tsx @@ -3,12 +3,14 @@ import { createRoot } from "react-dom/client"; import App from "./App.tsx"; -import "./index.css"; +// Dojo related imports import { init } from "@dojoengine/sdk"; +import { DojoSdkProvider } from "@dojoengine/sdk/react"; import { SchemaType, schema } from "./typescript/models.gen.ts"; +import { setupWorld } from "./typescript/contracts.gen.ts"; + +import "./index.css"; import { dojoConfig } from "../dojoConfig.ts"; -import { DojoContextProvider } from "./DojoContext.tsx"; -import { setupBurnerManager } from "@dojoengine/create-burner"; import StarknetProvider from "./starknet-provider.tsx"; /** @@ -38,13 +40,15 @@ async function main() { createRoot(document.getElementById("root")!).render( - - + ); } diff --git a/examples/example-vite-react-sdk/src/useDojo.tsx b/examples/example-vite-react-sdk/src/useDojo.tsx deleted file mode 100644 index a778f46f..00000000 --- a/examples/example-vite-react-sdk/src/useDojo.tsx +++ /dev/null @@ -1,28 +0,0 @@ -import { useContext } from "react"; -import { DojoContext } from "./DojoContext"; - -/** - * Custom hook to access the Dojo context and account information. - * Must be used within a DojoProvider component. - * - * @returns An object containing: - * - setup: The Dojo setup configuration - * - account: The current account information - * @throws {Error} If used outside of a DojoProvider context - */ -export const useDojo = () => { - const context = useContext(DojoContext); - - if (!context) { - throw new Error( - "The `useDojo` hook must be used within a `DojoProvider`" - ); - } - - const { account, ...setup } = context; - - return { - setup, - account, - }; -}; diff --git a/examples/example-vite-react-sdk/src/useModel.tsx b/examples/example-vite-react-sdk/src/useModel.tsx deleted file mode 100644 index b3efe5da..00000000 --- a/examples/example-vite-react-sdk/src/useModel.tsx +++ /dev/null @@ -1,29 +0,0 @@ -import { BigNumberish } from "starknet"; -import { useDojoStore } from "./App"; -import { SchemaType } from "./typescript/models.gen.ts"; - -/** - * Custom hook to retrieve a specific model for a given entityId within a specified namespace. - * - * @param entityId - The ID of the entity. - * @param model - The model to retrieve, specified as a string in the format "namespace-modelName". - * @returns The model structure if found, otherwise undefined. - */ -function useModel< - N extends keyof SchemaType, - M extends keyof SchemaType[N] & string, ->(entityId: BigNumberish, model: `${N}-${M}`): SchemaType[N][M] | undefined { - const [namespace, modelName] = model.split("-") as [N, M]; - - // Select only the specific model data for the given entityId - const modelData = useDojoStore( - (state) => - state.entities[entityId.toString()]?.models?.[namespace]?.[ - modelName - ] as SchemaType[N][M] | undefined - ); - - return modelData; -} - -export default useModel; diff --git a/examples/example-vite-react-sql/package.json b/examples/example-vite-react-sql/package.json index 11b44d15..b48ad464 100644 --- a/examples/example-vite-react-sql/package.json +++ b/examples/example-vite-react-sql/package.json @@ -14,18 +14,18 @@ "license": "ISC", "devDependencies": { "@tanstack/eslint-plugin-query": "^5.62.16", - "@tanstack/router-devtools": "^1.95.1", - "@tanstack/router-plugin": "^1.95.1", - "@types/node": "^22.10.5", + "@tanstack/router-devtools": "^1.97.0", + "@tanstack/router-plugin": "^1.97.0", + "@types/node": "^22.10.6", "@types/react": "^18.3.18", "@types/react-dom": "^18.3.5", "@types/uuid": "^10.0.0", "@vitejs/plugin-react": "^4.3.4", "autoprefixer": "^10.4.20", "drizzle-kit": "^0.30.1", - "postcss": "^8.4.49", + "postcss": "^8.5.1", "tailwindcss": "^3.4.17", - "typescript": "^5.6.2", + "typescript": "^5.7.3", "vite": "^6.0.7", "vite-plugin-top-level-await": "^1.4.4", "vite-plugin-wasm": "^3.4.1" @@ -44,8 +44,8 @@ "@radix-ui/react-slot": "^1.1.1", "@starknet-react/chains": "catalog:", "@starknet-react/core": "catalog:", - "@tanstack/react-query": "^5.62.16", - "@tanstack/react-router": "^1.95.1", + "@tanstack/react-query": "^5.64.1", + "@tanstack/react-router": "^1.97.0", "axios": "^1.7.9", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", diff --git a/examples/example-vite-react-sql/src/components/playground/action.tsx b/examples/example-vite-react-sql/src/components/playground/action.tsx index 6f75bda0..bcf2ee65 100644 --- a/examples/example-vite-react-sql/src/components/playground/action.tsx +++ b/examples/example-vite-react-sql/src/components/playground/action.tsx @@ -1,4 +1,4 @@ -import { useModel } from "@/hooks/useModel"; +import { useModel } from "@dojoengine/sdk/react"; import { usePlayerActions } from "@/hooks/usePlayerActions"; import { ModelsMapping } from "@/typescript/models.gen"; import { useAccount } from "@starknet-react/core"; diff --git a/examples/example-vite-react-sql/src/components/playground/direction-count.tsx b/examples/example-vite-react-sql/src/components/playground/direction-count.tsx index 71448897..8289e71b 100644 --- a/examples/example-vite-react-sql/src/components/playground/direction-count.tsx +++ b/examples/example-vite-react-sql/src/components/playground/direction-count.tsx @@ -1,6 +1,8 @@ -import { useDojoStore } from "@/hooks/useDojoStore"; -import { useQuery } from "@/hooks/useQuery"; +import { SchemaType } from "@/typescript/models.gen"; +import { DojoContext } from "@dojoengine/sdk/react"; +import { useToriiSQLQuery } from "@dojoengine/sdk/sql"; import { useQueryClient } from "@tanstack/react-query"; +import { useContext } from "react"; type QueryResponse = Array<{ count: number; @@ -39,9 +41,10 @@ function formatFn(rows: QueryResponse): DirectionCount { export function DirectionCount() { // use queryClient to invalidateQuery when state is changing. + const { useDojoStore } = useContext(DojoContext); const queryClient = useQueryClient(); useDojoStore.subscribe( - (s) => s.entities, + (s: SchemaType) => s.entities, () => { queryClient.invalidateQueries({ queryKey: [DIRECTION_COUNT_QUERY], @@ -51,7 +54,7 @@ export function DirectionCount() { // use the isRefetching prop here so that react knows the state is changing and actually rerender compoentnt // @ts-expect-error it's ok if I dont use this variable compiler, react needs it - const { data: directions, isRefetching } = useQuery( + const { data: directions, isRefetching } = useToriiSQLQuery( DIRECTION_COUNT_QUERY, formatFn ); @@ -60,13 +63,13 @@ export function DirectionCount() { return (
Player went :
- Left {directions.Left} times + Left 0 times
- Up {directions.Up} times + Up 0 times
- Down {directions.Down} times + Down 0 times
- Right {directions.Right} times + Right 0 times
); diff --git a/examples/example-vite-react-sql/src/components/playground/schema.tsx b/examples/example-vite-react-sql/src/components/playground/schema.tsx index 6423a418..4da7ffd6 100644 --- a/examples/example-vite-react-sql/src/components/playground/schema.tsx +++ b/examples/example-vite-react-sql/src/components/playground/schema.tsx @@ -1,4 +1,4 @@ -import { useQuery } from "@/hooks/useQuery"; +import { useToriiSQLQuery } from "@dojoengine/sdk/sql"; import { Accordion, AccordionContent, @@ -46,7 +46,7 @@ function formatSchema(rows: Rows) { } export function Schema() { - const { data: schema } = useQuery(SCHEMA_QUERY, formatSchema); + const { data: schema } = useToriiSQLQuery(SCHEMA_QUERY, formatSchema); return (
diff --git a/examples/example-vite-react-sql/src/components/playground/total-entities.tsx b/examples/example-vite-react-sql/src/components/playground/total-entities.tsx index 65dd3627..9207c829 100644 --- a/examples/example-vite-react-sql/src/components/playground/total-entities.tsx +++ b/examples/example-vite-react-sql/src/components/playground/total-entities.tsx @@ -1,4 +1,4 @@ -import { useQuery } from "@/hooks/useQuery"; +import { useToriiSQLQuery } from "@dojoengine/sdk/sql"; type QueryResponse = Array<{ totalEntities: string; @@ -12,7 +12,10 @@ function formatFn(rows: QueryResponse): number { } export function TotalEntities() { - const { data: totalEntities } = useQuery(TOTAL_ENTITIES_QUERY, formatFn); + const { data: totalEntities } = useToriiSQLQuery( + TOTAL_ENTITIES_QUERY, + formatFn + ); return (
Total player spawned : diff --git a/examples/example-vite-react-sql/src/hooks/useDojoStore.ts b/examples/example-vite-react-sql/src/hooks/useDojoStore.ts deleted file mode 100644 index ce0022ce..00000000 --- a/examples/example-vite-react-sql/src/hooks/useDojoStore.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { createDojoStore } from "@dojoengine/sdk"; -import { SchemaType } from "@/typescript/models.gen"; - -/** - * Global store for managing Dojo game state. - */ -export const useDojoStore = createDojoStore(); diff --git a/examples/example-vite-react-sql/src/hooks/usePlayerActions.ts b/examples/example-vite-react-sql/src/hooks/usePlayerActions.ts index 4c850fbd..05a673d0 100644 --- a/examples/example-vite-react-sql/src/hooks/usePlayerActions.ts +++ b/examples/example-vite-react-sql/src/hooks/usePlayerActions.ts @@ -1,14 +1,15 @@ -import { DojoContext } from "@/dojo-sdk-provider"; -import { SchemaType } from "@/typescript/models.gen"; +import { useEffect, useMemo } from "react"; + import { ParsedEntity, QueryBuilder } from "@dojoengine/sdk"; +import { useDojoSDK } from "@dojoengine/sdk/react"; import { getEntityIdFromKeys } from "@dojoengine/utils"; -import { useContext, useEffect, useMemo } from "react"; +import { SchemaType } from "@/typescript/models.gen"; import { addAddressPadding } from "starknet"; -import { useDojoStore } from "./useDojoStore"; export function usePlayerActions(address: string | undefined) { - const { sdk } = useContext(DojoContext); + const { sdk, useDojoStore } = useDojoSDK(); const state = useDojoStore((state) => state); + const entityId = useMemo(() => { if (address) { return getEntityIdFromKeys([BigInt(address)]); diff --git a/examples/example-vite-react-sql/src/hooks/useQuery.ts b/examples/example-vite-react-sql/src/hooks/useQuery.ts deleted file mode 100644 index b4064c78..00000000 --- a/examples/example-vite-react-sql/src/hooks/useQuery.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { useQuery as useTanStackQuery } from "@tanstack/react-query"; - -const fetchSchema = async (query: string, formatFn: Function) => { - try { - const response = await fetch(`http://localhost:8080/sql`, { - method: "POST", - headers: { - "Content-Type": "application/json", - }, - body: query, - }); - if (!response.ok) throw new Error("Failed to fetch schema"); - return formatFn(await response.json()); - } catch (error) { - console.error("Error fetching schema:", error); - throw error; - } -}; - -export function useQuery( - query: string, - formatFn: (rows: Input) => Output, - defaultValue?: Output -) { - const { data, error, isPending, isRefetching } = useTanStackQuery({ - queryKey: [query], - queryFn: async () => { - return await fetchSchema(query, formatFn); - }, - placeholderData: defaultValue ?? [], - }); - - return { - data, - error, - isPending, - isRefetching, - }; -} diff --git a/examples/example-vite-react-sql/src/hooks/useSystemCalls.ts b/examples/example-vite-react-sql/src/hooks/useSystemCalls.ts index 2e5c400b..ea443af7 100644 --- a/examples/example-vite-react-sql/src/hooks/useSystemCalls.ts +++ b/examples/example-vite-react-sql/src/hooks/useSystemCalls.ts @@ -1,7 +1,6 @@ -import { useCallback, useContext } from "react"; +import { useCallback } from "react"; import { v4 as uuidv4 } from "uuid"; -import { useDojoStore } from "./useDojoStore"; -import { DojoContext } from "@/dojo-sdk-provider"; +import { useDojoSDK } from "@dojoengine/sdk/react"; import { useAccount } from "@starknet-react/core"; import { BigNumberish, @@ -12,7 +11,7 @@ import { export function useSystemCalls(entityId: BigNumberish) { const { account } = useAccount(); - const { client } = useContext(DojoContext); + const { useDojoStore, client } = useDojoSDK(); const state = useDojoStore((s) => s); const spawn = useCallback(async () => { @@ -80,7 +79,6 @@ export function useSystemCalls(entityId: BigNumberish) { (entity) => { const result = entity?.models?.dojo_starter?.Moves?.last_direction?.isSome() && - // @ts-expect-error inner enum is not hydrated there entity?.models?.dojo_starter?.Moves?.last_direction ?.Some === direction.activeVariant(); // cast result to boolean diff --git a/examples/example-vite-react-sql/src/main.tsx b/examples/example-vite-react-sql/src/main.tsx index 5adb24d4..6e6cbf82 100644 --- a/examples/example-vite-react-sql/src/main.tsx +++ b/examples/example-vite-react-sql/src/main.tsx @@ -1,15 +1,18 @@ import { createRoot } from "react-dom/client"; -import { RouterProvider, createRouter } from "@tanstack/react-router"; -import { init } from "@dojoengine/sdk"; - -import "./index.css"; +import { StrictMode } from "react"; // Import the generated route tree import { routeTree } from "./routeTree.gen"; -import { StrictMode } from "react"; +import { RouterProvider, createRouter } from "@tanstack/react-router"; + +// Dojo related imports +import { init } from "@dojoengine/sdk"; +import { DojoSdkProvider } from "@dojoengine/sdk/react"; import { schema, SchemaType } from "./typescript/models.gen"; import { dojoConfig } from "../dojoConfig"; -import { DojoSdkProvider } from "./dojo-sdk-provider"; +import { setupWorld } from "./typescript/contracts.gen"; + +import "./index.css"; // Create a new router instance const router = createRouter({ routeTree }); @@ -47,7 +50,11 @@ async function main() { ); createRoot(document.getElementById("root")!).render( - + diff --git a/examples/example-vite-react-sql/tsconfig.app.tsbuildinfo b/examples/example-vite-react-sql/tsconfig.app.tsbuildinfo index 3a27a23b..e9e67b81 100644 --- a/examples/example-vite-react-sql/tsconfig.app.tsbuildinfo +++ b/examples/example-vite-react-sql/tsconfig.app.tsbuildinfo @@ -1 +1 @@ -{"root":["./src/dojo-sdk-provider.tsx","./src/main.tsx","./src/routetree.gen.ts","./src/components/documentation.tsx","./src/components/header.tsx","./src/components/starknet-provider.tsx","./src/components/theme-provider.tsx","./src/components/wallet-provider.tsx","./src/components/playground/action.tsx","./src/components/playground/direction-count.tsx","./src/components/playground/metrics.tsx","./src/components/playground/playground.tsx","./src/components/playground/schema.tsx","./src/components/playground/total-entities.tsx","./src/components/ui/accordion.tsx","./src/components/ui/button.tsx","./src/components/ui/dropdown-menu.tsx","./src/components/ui/popover.tsx","./src/hooks/usedojostore.ts","./src/hooks/usemodel.ts","./src/hooks/useplayeractions.ts","./src/hooks/usequery.ts","./src/hooks/usesystemcalls.ts","./src/lib/utils.ts","./src/routes/__root.tsx","./src/routes/documentation.lazy.tsx","./src/routes/index.lazy.tsx","./src/routes/playground.lazy.tsx","./src/typescript/contracts.gen.ts","./src/typescript/models.gen.ts"],"version":"5.7.2"} \ No newline at end of file +{"root":["./src/dojo-sdk-provider.tsx","./src/main.tsx","./src/routetree.gen.ts","./src/components/documentation.tsx","./src/components/header.tsx","./src/components/starknet-provider.tsx","./src/components/theme-provider.tsx","./src/components/wallet-provider.tsx","./src/components/playground/action.tsx","./src/components/playground/direction-count.tsx","./src/components/playground/metrics.tsx","./src/components/playground/playground.tsx","./src/components/playground/schema.tsx","./src/components/playground/total-entities.tsx","./src/components/ui/accordion.tsx","./src/components/ui/button.tsx","./src/components/ui/dropdown-menu.tsx","./src/components/ui/popover.tsx","./src/hooks/useplayeractions.ts","./src/hooks/usesystemcalls.ts","./src/lib/utils.ts","./src/routes/__root.tsx","./src/routes/documentation.lazy.tsx","./src/routes/index.lazy.tsx","./src/routes/playground.lazy.tsx","./src/typescript/contracts.gen.ts","./src/typescript/models.gen.ts"],"version":"5.7.3"} \ No newline at end of file diff --git a/examples/example-vite-react-sql/tsconfig.node.tsbuildinfo b/examples/example-vite-react-sql/tsconfig.node.tsbuildinfo index 1e7ed279..0440098c 100644 --- a/examples/example-vite-react-sql/tsconfig.node.tsbuildinfo +++ b/examples/example-vite-react-sql/tsconfig.node.tsbuildinfo @@ -1 +1 @@ -{"root":["./vite.config.ts"],"version":"5.7.2"} \ No newline at end of file +{"root":["./vite.config.ts"],"version":"5.7.3"} \ No newline at end of file diff --git a/packages/sdk/package.json b/packages/sdk/package.json index 0e6b6ff4..b7e0773d 100644 --- a/packages/sdk/package.json +++ b/packages/sdk/package.json @@ -5,6 +5,29 @@ "author": "Dojo Team", "license": "MIT", "main": "dist/index.js", + "types": "dist/index.d.ts", + "exports": { + ".": { + "types": "./dist/index.d.ts", + "import": "./dist/index.js", + "require": "./dist/index.cjs" + }, + "./state": { + "types": "./dist/src/state.d.ts", + "import": "./dist/src/state.js", + "require": "./dist/src/state.cjs" + }, + "./react": { + "types": "./dist/src/react.d.ts", + "import": "./dist/src/react.js", + "require": "./dist/src/react.cjs" + }, + "./sql": { + "types": "./dist/src/sql.d.ts", + "import": "./dist/src/sql.js", + "require": "./dist/src/sql.cjs" + } + }, "type": "module", "scripts": { "build": "tsup --dts-resolve", @@ -29,9 +52,15 @@ "vitest": "^1.6.0" }, "peerDependencies": { - "starknet": "catalog:" + "@types/react": "catalog:", + "@types/react-dom": "catalog:", + "@tanstack/react-query": "^5.62.16", + "starknet": "catalog:", + "react": "catalog:", + "react-dom": "catalog:" }, "dependencies": { + "@dojoengine/core": "workspace:*", "@dojoengine/torii-client": "workspace:*", "immer": "^10.1.1", "zustand": "^4.5.5" diff --git a/packages/sdk/src/index.ts b/packages/sdk/src/index.ts index 95e0a0b1..ee09d120 100644 --- a/packages/sdk/src/index.ts +++ b/packages/sdk/src/index.ts @@ -8,7 +8,6 @@ import { subscribeEventQuery } from "./subscribeEventQuery"; import { SchemaType, SDK, SDKConfig, UnionOfModelData } from "./types"; export * from "./types"; -export * from "./state"; export * from "./queryBuilder"; /** diff --git a/examples/example-vite-react-sql/src/hooks/useModel.ts b/packages/sdk/src/react/hooks.ts similarity index 64% rename from examples/example-vite-react-sql/src/hooks/useModel.ts rename to packages/sdk/src/react/hooks.ts index 9723733b..8978fa2b 100644 --- a/examples/example-vite-react-sql/src/hooks/useModel.ts +++ b/packages/sdk/src/react/hooks.ts @@ -1,6 +1,7 @@ -import { SchemaType } from "@/typescript/models.gen"; +import { useContext } from "react"; import { BigNumberish } from "starknet"; -import { useDojoStore } from "./useDojoStore"; +import { SchemaType } from "../types"; +import { DojoContext, DojoContextType } from "./provider"; /** * Custom hook to retrieve a specific model for a given entityId within a specified namespace. @@ -12,8 +13,14 @@ import { useDojoStore } from "./useDojoStore"; export function useModel< N extends keyof SchemaType, M extends keyof SchemaType[N] & string, + Client extends (...args: any) => any, + Schema extends SchemaType, >(entityId: BigNumberish, model: `${N}-${M}`): SchemaType[N][M] | undefined { const [namespace, modelName] = model.split("-") as [N, M]; + const { useDojoStore } = useContext(DojoContext) as DojoContextType< + Client, + Schema + >; // Select only the specific model data for the given entityId const modelData = useDojoStore( @@ -25,3 +32,10 @@ export function useModel< return modelData; } + +export function useDojoSDK< + Client extends (...args: any) => any, + Schema extends SchemaType, +>(): DojoContextType { + return useContext(DojoContext); +} diff --git a/packages/sdk/src/react/index.ts b/packages/sdk/src/react/index.ts new file mode 100644 index 00000000..cdd2a909 --- /dev/null +++ b/packages/sdk/src/react/index.ts @@ -0,0 +1,2 @@ +export * from "./hooks"; +export * from "./provider"; diff --git a/packages/sdk/src/react/provider.tsx b/packages/sdk/src/react/provider.tsx new file mode 100644 index 00000000..d6afa077 --- /dev/null +++ b/packages/sdk/src/react/provider.tsx @@ -0,0 +1,73 @@ +import { ReactNode, useContext, createContext } from "react"; +import { SchemaType, SDK } from "../types"; +import { DojoConfig, DojoProvider } from "@dojoengine/core"; +import { createDojoStore } from "../state"; + +/** + * Interface defining the shape of the Dojo context. + */ +export interface DojoContextType< + Client extends (...args: any) => any, + Schema extends SchemaType, +> { + /** The Dojo client instance */ + config: DojoConfig; + /** The Dojo client instance */ + client: ReturnType; + /** SDK client instance **/ + sdk: SDK; + /** The Dojo provider */ + provider: DojoProvider; + /** The dojo zustand store */ + useDojoStore: ReturnType>; +} + +/** + * React context for sharing Dojo-related data throughout the application. + */ +// @ts-expect-error Since we c +// annot dynamically set context at runtime, we will get a type error. +export const DojoContext = createContext(undefined); + +/** + * Provider component that makes Dojo context available to child components. + * + * @param props.children - Child components that will have access to the Dojo context + * @param props.burnerManager - Instance of BurnerManager for handling burner accounts + * @throws {Error} If DojoProvider is used more than once in the component tree + */ +export function DojoSdkProvider({ + dojoConfig, + sdk, + clientFn, + children, +}: { + dojoConfig: DojoConfig; + sdk: SDK; + clientFn: Function; + children: ReactNode; +}) { + const currentValue = useContext(DojoContext); + if (currentValue) { + throw new Error("DojoProvider can only be used once"); + } + + const dojoProvider = new DojoProvider( + dojoConfig.manifest, + dojoConfig.rpcUrl + ); + + return ( + (), + }} + > + {children} + + ); +} diff --git a/packages/sdk/src/sql/index.ts b/packages/sdk/src/sql/index.ts new file mode 100644 index 00000000..7682acc6 --- /dev/null +++ b/packages/sdk/src/sql/index.ts @@ -0,0 +1,69 @@ +import { + useQuery as useTanStackQuery, + UseQueryOptions, +} from "@tanstack/react-query"; + +/** + * Simple function to query Torii instance over sql endpoint. + * + * This endpoint is mainly meant to be used as analytical query system. + * For more informations and examples, head over to `examples/example-vite-react-sql` example + * + * + * @template Input - The type your data have raw, just straight out of sql + * @template Output - The type that will have your data after going through `formatFn` + * @param {string} toriiUrl - Torii url + * @param {string} query - Your raw sql query + * @param {(rows: Input) => Output} formatFn - Format function callback + * @returns {Promise} - Formatted data + */ +export async function queryTorii( + toriiUrl: string, + query: string, + formatFn: (rows: Input) => Output +): Promise { + try { + const response = await fetch(`${toriiUrl}/sql`, { + method: "POST", + headers: { + "Content-Type": "application/json", + }, + body: query, + }); + if (!response.ok) throw new Error("Failed to fetch data"); + return formatFn(await response.json()); + } catch (error) { + console.error("Error fetching data:", error); + throw error; + } +} + +/** + * + */ +export function useToriiSQLQuery( + query: string, + formatFn: (rows: Input) => Output, + defaultValue?: UseQueryOptions["placeholderData"], + toriiUrl?: string +) { + const { data, error, isPending, isRefetching } = useTanStackQuery({ + queryKey: [query], + queryFn: async () => { + return await queryTorii( + toriiUrl ?? "http://127.0.0.1:8080", + query, + formatFn + ); + }, + // @ts-expect-error trust me + placeholderData: defaultValue ?? [], + }); + + return { + data, + error, + isPending, + isRefetching, + }; +} diff --git a/packages/sdk/src/state/zustand.ts b/packages/sdk/src/state/zustand.ts index 497845a5..e4375a2f 100644 --- a/packages/sdk/src/state/zustand.ts +++ b/packages/sdk/src/state/zustand.ts @@ -20,7 +20,7 @@ interface PendingTransaction { inversePatches: Patch[]; } -interface GameState { +export interface GameState { entities: Record>; pendingTransactions: Record; setEntities: (entities: ParsedEntity[]) => void; diff --git a/packages/sdk/tsconfig.json b/packages/sdk/tsconfig.json index cd41ca0d..bd345500 100644 --- a/packages/sdk/tsconfig.json +++ b/packages/sdk/tsconfig.json @@ -1,5 +1,6 @@ { "compilerOptions": { + "jsx": "react-jsx", "target": "ESNext", "module": "ESNext", "declaration": true, diff --git a/packages/sdk/tsup.config.ts b/packages/sdk/tsup.config.ts index 16f887ee..05edf348 100644 --- a/packages/sdk/tsup.config.ts +++ b/packages/sdk/tsup.config.ts @@ -4,4 +4,10 @@ import { tsupConfig } from "../../tsup.config"; export default defineConfig({ ...(tsupConfig as Options), + entry: { + index: "src/index.ts", + "src/state": "src/state/index.ts", + "src/react": "src/react/index.ts", + "src/sql": "src/sql/index.ts", + }, }); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index fb95f852..be6b4e18 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -12,9 +12,21 @@ catalogs: '@starknet-react/core': specifier: ^3.6.2 version: 3.6.2 + '@types/react': + specifier: ^18.3.1 + version: 18.3.18 + '@types/react-dom': + specifier: ^18.3.1 + version: 18.3.5 get-starknet-core: specifier: ^4.0.0 version: 4.0.0 + react: + specifier: ^18.3.1 + version: 18.3.1 + react-dom: + specifier: ^18.3.1 + version: 18.3.1 starknet: specifier: 6.21.0 version: 6.21.0 @@ -29,7 +41,7 @@ importers: devDependencies: '@commitlint/cli': specifier: ^18.6.1 - version: 18.6.1(@types/node@22.10.5)(typescript@5.7.3) + version: 18.6.1(@types/node@22.10.6)(typescript@5.7.3) '@commitlint/config-conventional': specifier: ^18.6.3 version: 18.6.3 @@ -44,13 +56,13 @@ importers: version: 9.1.7 lerna: specifier: ^8.1.9 - version: 8.1.9(@swc/core@1.10.6(@swc/helpers@0.5.5))(encoding@0.1.13) + version: 8.1.9(@swc/core@1.10.7(@swc/helpers@0.5.5))(encoding@0.1.13) prettier: specifier: ^3.4.2 version: 3.4.2 tsup: specifier: ^8.3.5 - version: 8.3.5(@swc/core@1.10.6(@swc/helpers@0.5.5))(jiti@2.4.2)(postcss@8.4.49)(tsx@4.19.2)(typescript@5.7.3)(yaml@2.7.0) + version: 8.3.5(@swc/core@1.10.7(@swc/helpers@0.5.5))(jiti@2.4.2)(postcss@8.5.1)(tsx@4.19.2)(typescript@5.7.3)(yaml@2.7.0) typedoc: specifier: ^0.26.11 version: 0.26.11(typescript@5.7.3) @@ -166,13 +178,13 @@ importers: version: 5.7.2 vite: specifier: ^5.4.7 - version: 5.4.11(@types/node@22.10.5)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.6)(terser@5.37.0) vite-plugin-top-level-await: specifier: ^1.4.4 - version: 1.4.4(@swc/helpers@0.5.5)(rollup@4.30.1)(vite@5.4.11(@types/node@22.10.5)(terser@5.37.0)) + version: 1.4.4(@swc/helpers@0.5.5)(rollup@4.30.1)(vite@5.4.11(@types/node@22.10.6)(terser@5.37.0)) vite-plugin-wasm: specifier: ^3.3.0 - version: 3.4.1(vite@5.4.11(@types/node@22.10.5)(terser@5.37.0)) + version: 3.4.1(vite@5.4.11(@types/node@22.10.6)(terser@5.37.0)) examples/example-vite-kitchen-sink: dependencies: @@ -719,10 +731,10 @@ importers: version: 10.0.0 vite-plugin-top-level-await: specifier: ^1.4.4 - version: 1.4.4(@swc/helpers@0.5.5)(rollup@4.30.1)(vite@5.4.11(@types/node@22.10.5)(terser@5.37.0)) + version: 1.4.4(@swc/helpers@0.5.5)(rollup@4.30.1)(vite@5.4.11(@types/node@22.10.6)(terser@5.37.0)) vite-plugin-wasm: specifier: ^3.3.0 - version: 3.4.1(vite@5.4.11(@types/node@22.10.5)(terser@5.37.0)) + version: 3.4.1(vite@5.4.11(@types/node@22.10.6)(terser@5.37.0)) zustand: specifier: ^4.5.5 version: 4.5.5(@types/react@18.3.18)(immer@10.1.1)(react@18.3.1) @@ -738,7 +750,7 @@ importers: version: 18.3.5(@types/react@18.3.18) '@vitejs/plugin-react': specifier: ^4.3.1 - version: 4.3.4(vite@5.4.11(@types/node@22.10.5)(terser@5.37.0)) + version: 4.3.4(vite@5.4.11(@types/node@22.10.6)(terser@5.37.0)) autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.4.49) @@ -768,7 +780,7 @@ importers: version: 8.18.2(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2) vite: specifier: ^5.4.7 - version: 5.4.11(@types/node@22.10.5)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.6)(terser@5.37.0) examples/example-vite-react-sql: dependencies: @@ -810,13 +822,13 @@ importers: version: 3.1.0 '@starknet-react/core': specifier: 'catalog:' - version: 3.6.2(get-starknet-core@4.0.0)(react@18.3.1)(starknet@6.21.0(encoding@0.1.13))(typescript@5.7.2) + version: 3.6.2(get-starknet-core@4.0.0)(react@18.3.1)(starknet@6.21.0(encoding@0.1.13))(typescript@5.7.3) '@tanstack/react-query': - specifier: ^5.62.16 - version: 5.62.16(react@18.3.1) + specifier: ^5.64.1 + version: 5.64.1(react@18.3.1) '@tanstack/react-router': - specifier: ^1.95.1 - version: 1.95.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^1.97.0 + version: 1.97.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) axios: specifier: ^1.7.9 version: 1.7.9(debug@4.4.0) @@ -856,16 +868,16 @@ importers: devDependencies: '@tanstack/eslint-plugin-query': specifier: ^5.62.16 - version: 5.62.16(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2) + version: 5.62.16(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.3) '@tanstack/router-devtools': - specifier: ^1.95.1 - version: 1.95.1(@tanstack/react-router@1.95.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(csstype@3.1.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^1.97.0 + version: 1.97.0(@tanstack/react-router@1.97.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(csstype@3.1.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@tanstack/router-plugin': - specifier: ^1.95.1 - version: 1.95.1(@tanstack/react-router@1.95.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(vite@6.0.7(@types/node@22.10.5)(jiti@2.4.2)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) + specifier: ^1.97.0 + version: 1.97.0(@tanstack/react-router@1.97.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(vite@6.0.7(@types/node@22.10.6)(jiti@2.4.2)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) '@types/node': - specifier: ^22.10.5 - version: 22.10.5 + specifier: ^22.10.6 + version: 22.10.6 '@types/react': specifier: ^18.3.18 version: 18.3.18 @@ -877,31 +889,31 @@ importers: version: 10.0.0 '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.0.7(@types/node@22.10.5)(jiti@2.4.2)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) + version: 4.3.4(vite@6.0.7(@types/node@22.10.6)(jiti@2.4.2)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) autoprefixer: specifier: ^10.4.20 - version: 10.4.20(postcss@8.4.49) + version: 10.4.20(postcss@8.5.1) drizzle-kit: specifier: ^0.30.1 version: 0.30.1 postcss: - specifier: ^8.4.49 - version: 8.4.49 + specifier: ^8.5.1 + version: 8.5.1 tailwindcss: specifier: ^3.4.17 version: 3.4.17 typescript: - specifier: ^5.6.2 - version: 5.7.2 + specifier: ^5.7.3 + version: 5.7.3 vite: specifier: ^6.0.7 - version: 6.0.7(@types/node@22.10.5)(jiti@2.4.2)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) + version: 6.0.7(@types/node@22.10.6)(jiti@2.4.2)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) vite-plugin-top-level-await: specifier: ^1.4.4 - version: 1.4.4(@swc/helpers@0.5.5)(rollup@4.30.1)(vite@6.0.7(@types/node@22.10.5)(jiti@2.4.2)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) + version: 1.4.4(@swc/helpers@0.5.5)(rollup@4.30.1)(vite@6.0.7(@types/node@22.10.6)(jiti@2.4.2)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) vite-plugin-wasm: specifier: ^3.4.1 - version: 3.4.1(vite@6.0.7(@types/node@22.10.5)(jiti@2.4.2)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) + version: 3.4.1(vite@6.0.7(@types/node@22.10.6)(jiti@2.4.2)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) examples/example-vite-react-threejs-recs: dependencies: @@ -1130,14 +1142,14 @@ importers: version: 6.21.0(encoding@0.1.13) vite-plugin-top-level-await: specifier: ^1.4.4 - version: 1.4.4(@swc/helpers@0.5.5)(rollup@4.30.1)(vite@5.4.11(@types/node@22.10.5)(terser@5.37.0)) + version: 1.4.4(@swc/helpers@0.5.5)(rollup@4.30.1)(vite@5.4.11(@types/node@22.10.6)(terser@5.37.0)) vite-plugin-wasm: specifier: ^3.3.0 - version: 3.4.1(vite@5.4.11(@types/node@22.10.5)(terser@5.37.0)) + version: 3.4.1(vite@5.4.11(@types/node@22.10.6)(terser@5.37.0)) devDependencies: '@sveltejs/vite-plugin-svelte': specifier: ^3.1.1 - version: 3.1.2(svelte@4.2.19)(vite@5.4.11(@types/node@22.10.5)(terser@5.37.0)) + version: 3.1.2(svelte@4.2.19)(vite@5.4.11(@types/node@22.10.6)(terser@5.37.0)) '@tsconfig/svelte': specifier: ^5.0.4 version: 5.0.4 @@ -1146,7 +1158,7 @@ importers: version: 4.2.19 svelte-check: specifier: ^3.8.5 - version: 3.8.6(@babel/core@7.26.0)(postcss-load-config@4.0.2(postcss@8.4.49))(postcss@8.4.49)(svelte@4.2.19) + version: 3.8.6(@babel/core@7.26.0)(postcss-load-config@4.0.2(postcss@8.5.1))(postcss@8.5.1)(svelte@4.2.19) tslib: specifier: ^2.6.3 version: 2.8.1 @@ -1155,7 +1167,7 @@ importers: version: 5.7.2 vite: specifier: ^5.4.1 - version: 5.4.11(@types/node@22.10.5)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.6)(terser@5.37.0) examples/example-vue-app-recs: dependencies: @@ -1188,23 +1200,23 @@ importers: version: 6.21.0(encoding@0.1.13) vite-plugin-top-level-await: specifier: ^1.4.4 - version: 1.4.4(@swc/helpers@0.5.5)(rollup@4.30.1)(vite@5.4.11(@types/node@22.10.5)(terser@5.37.0)) + version: 1.4.4(@swc/helpers@0.5.5)(rollup@4.30.1)(vite@5.4.11(@types/node@22.10.6)(terser@5.37.0)) vite-plugin-wasm: specifier: ^3.3.0 - version: 3.4.1(vite@5.4.11(@types/node@22.10.5)(terser@5.37.0)) + version: 3.4.1(vite@5.4.11(@types/node@22.10.6)(terser@5.37.0)) vue: specifier: ^3.5.8 version: 3.5.13(typescript@5.7.2) devDependencies: '@vitejs/plugin-vue': specifier: ^5.1.4 - version: 5.2.1(vite@5.4.11(@types/node@22.10.5)(terser@5.37.0))(vue@3.5.13(typescript@5.7.2)) + version: 5.2.1(vite@5.4.11(@types/node@22.10.6)(terser@5.37.0))(vue@3.5.13(typescript@5.7.2)) typescript: specifier: ^5.6.2 version: 5.7.2 vite: specifier: ^5.4.7 - version: 5.4.11(@types/node@22.10.5)(terser@5.37.0) + version: 5.4.11(@types/node@22.10.6)(terser@5.37.0) vue-tsc: specifier: ^2.1.6 version: 2.2.0(typescript@5.7.2) @@ -1229,16 +1241,16 @@ importers: version: 6.4.18 '@vitest/coverage-v8': specifier: ^1.6.0 - version: 1.6.0(vitest@1.6.0(@types/node@22.10.5)(jsdom@24.1.3)(terser@5.37.0)) + version: 1.6.0(vitest@1.6.0(@types/node@22.10.6)(jsdom@24.1.3)(terser@5.37.0)) tsup: specifier: ^8.3.0 - version: 8.3.5(@swc/core@1.10.6(@swc/helpers@0.5.5))(jiti@2.4.2)(postcss@8.4.49)(tsx@4.19.2)(typescript@5.7.2)(yaml@2.7.0) + version: 8.3.5(@swc/core@1.10.7(@swc/helpers@0.5.5))(jiti@2.4.2)(postcss@8.5.1)(tsx@4.19.2)(typescript@5.7.2)(yaml@2.7.0) typescript: specifier: ^5.6.2 version: 5.7.2 vitest: specifier: ^1.6.0 - version: 1.6.0(@types/node@22.10.5)(jsdom@24.1.3)(terser@5.37.0) + version: 1.6.0(@types/node@22.10.6)(jsdom@24.1.3)(terser@5.37.0) packages/create-burner: dependencies: @@ -1305,7 +1317,7 @@ importers: version: 24.1.3 tsup: specifier: ^8.3.0 - version: 8.3.5(@swc/core@1.10.6(@swc/helpers@0.5.5))(jiti@2.4.2)(postcss@8.4.49)(tsx@4.19.2)(typescript@5.7.2)(yaml@2.7.0) + version: 8.3.5(@swc/core@1.10.7(@swc/helpers@0.5.5))(jiti@2.4.2)(postcss@8.5.1)(tsx@4.19.2)(typescript@5.7.2)(yaml@2.7.0) typescript: specifier: ^5.6.2 version: 5.7.2 @@ -1351,13 +1363,13 @@ importers: version: 6.0.6 tsup: specifier: ^8.3.0 - version: 8.3.5(@swc/core@1.10.6(@swc/helpers@0.5.5))(jiti@2.4.2)(postcss@8.4.49)(tsx@4.19.2)(typescript@5.7.2)(yaml@2.7.0) + version: 8.3.5(@swc/core@1.10.7(@swc/helpers@0.5.5))(jiti@2.4.2)(postcss@8.5.1)(tsx@4.19.2)(typescript@5.7.2)(yaml@2.7.0) typescript: specifier: ^5.6.2 version: 5.7.2 vitest: specifier: ^2.1.1 - version: 2.1.8(@types/node@22.10.5)(jsdom@24.1.3)(terser@5.37.0) + version: 2.1.8(@types/node@22.10.6)(jsdom@24.1.3)(terser@5.37.0) packages/predeployed-connector: dependencies: @@ -1376,7 +1388,7 @@ importers: version: 28.0.2(rollup@4.30.1) '@vitest/coverage-v8': specifier: ^1.6.0 - version: 1.6.0(vitest@1.6.0(@types/node@22.10.5)(jsdom@24.1.3)(terser@5.37.0)) + version: 1.6.0(vitest@1.6.0(@types/node@22.10.6)(jsdom@24.1.3)(terser@5.37.0)) eslint: specifier: ^8.57.1 version: 8.57.1 @@ -1385,16 +1397,16 @@ importers: version: 2.8.8 tsup: specifier: ^8.3.0 - version: 8.3.5(@swc/core@1.10.6(@swc/helpers@0.5.5))(jiti@2.4.2)(postcss@8.4.49)(tsx@4.19.2)(typescript@5.7.2)(yaml@2.7.0) + version: 8.3.5(@swc/core@1.10.7(@swc/helpers@0.5.5))(jiti@2.4.2)(postcss@8.5.1)(tsx@4.19.2)(typescript@5.7.2)(yaml@2.7.0) typescript: specifier: ^5.6.2 version: 5.7.2 vite: specifier: ^3.2.11 - version: 3.2.11(@types/node@22.10.5)(terser@5.37.0) + version: 3.2.11(@types/node@22.10.6)(terser@5.37.0) vitest: specifier: ^1.6.0 - version: 1.6.0(@types/node@22.10.5)(jsdom@24.1.3)(terser@5.37.0) + version: 1.6.0(@types/node@22.10.6)(jsdom@24.1.3)(terser@5.37.0) packages/react: dependencies: @@ -1464,32 +1476,50 @@ importers: version: 0.0.114 tsup: specifier: ^8.3.0 - version: 8.3.5(@swc/core@1.10.6(@swc/helpers@0.5.5))(jiti@2.4.2)(postcss@8.4.49)(tsx@4.19.2)(typescript@5.7.2)(yaml@2.7.0) + version: 8.3.5(@swc/core@1.10.7(@swc/helpers@0.5.5))(jiti@2.4.2)(postcss@8.5.1)(tsx@4.19.2)(typescript@5.7.2)(yaml@2.7.0) typescript: specifier: ^5.6.2 version: 5.7.2 packages/sdk: dependencies: + '@dojoengine/core': + specifier: workspace:* + version: link:../core '@dojoengine/torii-client': specifier: workspace:* version: link:../torii-client + '@tanstack/react-query': + specifier: ^5.62.16 + version: 5.62.16(react@18.3.1) + '@types/react': + specifier: 'catalog:' + version: 18.3.18 + '@types/react-dom': + specifier: 'catalog:' + version: 18.3.5(@types/react@18.3.18) immer: specifier: ^10.1.1 version: 10.1.1 + react: + specifier: 'catalog:' + version: 18.3.1 + react-dom: + specifier: 'catalog:' + version: 18.3.1(react@18.3.1) starknet: specifier: 'catalog:' version: 6.21.0(encoding@0.1.13) zustand: specifier: ^4.5.5 - version: 4.5.5(@types/react@19.0.3)(immer@10.1.1)(react@19.0.0) + version: 4.5.5(@types/react@18.3.18)(immer@10.1.1)(react@18.3.1) devDependencies: '@rollup/plugin-commonjs': specifier: ^28.0.0 version: 28.0.2(rollup@4.30.1) '@vitest/coverage-v8': specifier: ^1.6.0 - version: 1.6.0(vitest@1.6.0(@types/node@22.10.5)(jsdom@24.1.3)(terser@5.37.0)) + version: 1.6.0(vitest@1.6.0(@types/node@22.10.6)(jsdom@24.1.3)(terser@5.37.0)) benchmark: specifier: ^2.1.4 version: 2.1.4 @@ -1504,19 +1534,19 @@ importers: version: 2.8.8 tsup: specifier: ^8.3.0 - version: 8.3.5(@swc/core@1.10.6(@swc/helpers@0.5.5))(jiti@2.4.2)(postcss@8.4.49)(tsx@4.19.2)(typescript@5.7.2)(yaml@2.7.0) + version: 8.3.5(@swc/core@1.10.7(@swc/helpers@0.5.5))(jiti@2.4.2)(postcss@8.5.1)(tsx@4.19.2)(typescript@5.7.2)(yaml@2.7.0) typescript: specifier: ^5.6.2 version: 5.7.2 vite: specifier: ^3.2.11 - version: 3.2.11(@types/node@22.10.5)(terser@5.37.0) + version: 3.2.11(@types/node@22.10.6)(terser@5.37.0) vite-plugin-wasm: specifier: ^3.3.0 - version: 3.4.1(vite@3.2.11(@types/node@22.10.5)(terser@5.37.0)) + version: 3.4.1(vite@3.2.11(@types/node@22.10.6)(terser@5.37.0)) vitest: specifier: ^1.6.0 - version: 1.6.0(@types/node@22.10.5)(jsdom@24.1.3)(terser@5.37.0) + version: 1.6.0(@types/node@22.10.6)(jsdom@24.1.3)(terser@5.37.0) packages/state: dependencies: @@ -1531,11 +1561,11 @@ importers: version: 6.21.0(encoding@0.1.13) vitest: specifier: ^1.6.0 - version: 1.6.0(@types/node@22.10.5)(jsdom@24.1.3)(terser@5.37.0) + version: 1.6.0(@types/node@22.10.6)(jsdom@24.1.3)(terser@5.37.0) devDependencies: tsup: specifier: ^8.3.0 - version: 8.3.5(@swc/core@1.10.6(@swc/helpers@0.5.5))(jiti@2.4.2)(postcss@8.4.49)(tsx@4.19.2)(typescript@5.7.2)(yaml@2.7.0) + version: 8.3.5(@swc/core@1.10.7(@swc/helpers@0.5.5))(jiti@2.4.2)(postcss@8.5.1)(tsx@4.19.2)(typescript@5.7.2)(yaml@2.7.0) typescript: specifier: ^5.6.2 version: 5.7.2 @@ -1548,7 +1578,7 @@ importers: devDependencies: tsup: specifier: ^8.3.0 - version: 8.3.5(@swc/core@1.10.6(@swc/helpers@0.5.5))(jiti@2.4.2)(postcss@8.4.49)(tsx@4.19.2)(typescript@5.7.2)(yaml@2.7.0) + version: 8.3.5(@swc/core@1.10.7(@swc/helpers@0.5.5))(jiti@2.4.2)(postcss@8.5.1)(tsx@4.19.2)(typescript@5.7.2)(yaml@2.7.0) typescript: specifier: ^5.6.2 version: 5.7.2 @@ -1557,7 +1587,7 @@ importers: devDependencies: tsup: specifier: ^8.3.0 - version: 8.3.5(@swc/core@1.10.6(@swc/helpers@0.5.5))(jiti@2.4.2)(postcss@8.4.49)(tsx@4.19.2)(typescript@5.7.2)(yaml@2.7.0) + version: 8.3.5(@swc/core@1.10.7(@swc/helpers@0.5.5))(jiti@2.4.2)(postcss@8.5.1)(tsx@4.19.2)(typescript@5.7.2)(yaml@2.7.0) typescript: specifier: ^5.6.2 version: 5.7.2 @@ -1588,28 +1618,28 @@ importers: version: 6.4.18 '@vitest/coverage-v8': specifier: ^1.6.0 - version: 1.6.0(vitest@1.6.0(@types/node@22.10.5)(jsdom@24.1.3)(terser@5.37.0)) + version: 1.6.0(vitest@1.6.0(@types/node@22.10.6)(jsdom@24.1.3)(terser@5.37.0)) tsup: specifier: ^8.3.0 - version: 8.3.5(@swc/core@1.10.6(@swc/helpers@0.5.5))(jiti@2.4.2)(postcss@8.4.49)(tsx@4.19.2)(typescript@5.7.2)(yaml@2.7.0) + version: 8.3.5(@swc/core@1.10.7(@swc/helpers@0.5.5))(jiti@2.4.2)(postcss@8.5.1)(tsx@4.19.2)(typescript@5.7.2)(yaml@2.7.0) typescript: specifier: ^5.6.2 version: 5.7.2 vitest: specifier: ^1.6.0 - version: 1.6.0(@types/node@22.10.5)(jsdom@24.1.3)(terser@5.37.0) + version: 1.6.0(@types/node@22.10.6)(jsdom@24.1.3)(terser@5.37.0) packages/utils-wasm: devDependencies: tsup: specifier: ^8.3.0 - version: 8.3.5(@swc/core@1.10.6(@swc/helpers@0.5.5))(jiti@2.4.2)(postcss@8.4.49)(tsx@4.19.2)(typescript@5.7.2)(yaml@2.7.0) + version: 8.3.5(@swc/core@1.10.7(@swc/helpers@0.5.5))(jiti@2.4.2)(postcss@8.5.1)(tsx@4.19.2)(typescript@5.7.2)(yaml@2.7.0) typescript: specifier: ^5.6.2 version: 5.7.2 vitest: specifier: ^2.1.1 - version: 2.1.8(@types/node@22.10.5)(jsdom@24.1.3)(terser@5.37.0) + version: 2.1.8(@types/node@22.10.6)(jsdom@24.1.3)(terser@5.37.0) wasm-pack: specifier: ^0.12.1 version: 0.12.1 @@ -1732,6 +1762,10 @@ packages: resolution: {integrity: sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==} engines: {node: '>=6.9.0'} + '@babel/helper-plugin-utils@7.26.5': + resolution: {integrity: sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==} + engines: {node: '>=6.9.0'} + '@babel/helper-remap-async-to-generator@7.25.9': resolution: {integrity: sha512-IZtukuUeBbhgOcaW2s06OXTzVNJR0ybm4W5xC1opWFFJMZbwRj5LCk+ByYH7WdZPZTt8KnFwA8pvjN2yqcPlgw==} engines: {node: '>=6.9.0'} @@ -5931,68 +5965,68 @@ packages: peerDependencies: '@svgr/core': '*' - '@swc/core-darwin-arm64@1.10.6': - resolution: {integrity: sha512-USbMvT8Rw5PvIfF6HyTm+yW84J9c45emzmHBDIWY76vZHkFsS5MepNi+JLQyBzBBgE7ScwBRBNhRx6VNhkSoww==} + '@swc/core-darwin-arm64@1.10.7': + resolution: {integrity: sha512-SI0OFg987P6hcyT0Dbng3YRISPS9uhLX1dzW4qRrfqQdb0i75lPJ2YWe9CN47HBazrIA5COuTzrD2Dc0TcVsSQ==} engines: {node: '>=10'} cpu: [arm64] os: [darwin] - '@swc/core-darwin-x64@1.10.6': - resolution: {integrity: sha512-7t2IozcZN4r1p27ei+Kb8IjN4aLoBDn107fPi+aPLcVp2uFgJEUzhCDuZXBNW2057Mx1OHcjzrkaleRpECz3Xg==} + '@swc/core-darwin-x64@1.10.7': + resolution: {integrity: sha512-RFIAmWVicD/l3RzxgHW0R/G1ya/6nyMspE2cAeDcTbjHi0I5qgdhBWd6ieXOaqwEwiCd0Mot1g2VZrLGoBLsjQ==} engines: {node: '>=10'} cpu: [x64] os: [darwin] - '@swc/core-linux-arm-gnueabihf@1.10.6': - resolution: {integrity: sha512-CPgWT+D0bDp/qhXsLkIJ54LmKU1/zvyGaf/yz8A4iR+YoF6R5CSXENXhNJY8cIrb6+uNWJZzHJ+gefB5V51bpA==} + '@swc/core-linux-arm-gnueabihf@1.10.7': + resolution: {integrity: sha512-QP8vz7yELWfop5mM5foN6KkLylVO7ZUgWSF2cA0owwIaziactB2hCPZY5QU690coJouk9KmdFsPWDnaCFUP8tg==} engines: {node: '>=10'} cpu: [arm] os: [linux] - '@swc/core-linux-arm64-gnu@1.10.6': - resolution: {integrity: sha512-5qZ6hVnqO/ShETXdGSzvdGUVx372qydlj1YWSYiaxQzTAepEBc8TC1NVUgYtOHOKVRkky1d7p6GQ9lymsd4bHw==} + '@swc/core-linux-arm64-gnu@1.10.7': + resolution: {integrity: sha512-NgUDBGQcOeLNR+EOpmUvSDIP/F7i/OVOKxst4wOvT5FTxhnkWrW+StJGKj+DcUVSK5eWOYboSXr1y+Hlywwokw==} engines: {node: '>=10'} cpu: [arm64] os: [linux] - '@swc/core-linux-arm64-musl@1.10.6': - resolution: {integrity: sha512-hB2xZFmXCKf2iJF5y2z01PSuLqEoUP3jIX/XlIHN+/AIP7PkSKsValE63LnjlnWPnSEI0IxUyRE3T3FzWE/fQQ==} + '@swc/core-linux-arm64-musl@1.10.7': + resolution: {integrity: sha512-gp5Un3EbeSThBIh6oac5ZArV/CsSmTKj5jNuuUAuEsML3VF9vqPO+25VuxCvsRf/z3py+xOWRaN2HY/rjMeZog==} engines: {node: '>=10'} cpu: [arm64] os: [linux] - '@swc/core-linux-x64-gnu@1.10.6': - resolution: {integrity: sha512-PRGPp0I22+oJ8RMGg8M4hXYxEffH3ayu0WoSDPOjfol1F51Wj1tfTWN4wVa2RibzJjkBwMOT0KGLGb/hSEDDXQ==} + '@swc/core-linux-x64-gnu@1.10.7': + resolution: {integrity: sha512-k/OxLLMl/edYqbZyUNg6/bqEHTXJT15l9WGqsl/2QaIGwWGvles8YjruQYQ9d4h/thSXLT9gd8bExU2D0N+bUA==} engines: {node: '>=10'} cpu: [x64] os: [linux] - '@swc/core-linux-x64-musl@1.10.6': - resolution: {integrity: sha512-SoNBxlA86lnoV9vIz/TCyakLkdRhFSHx6tFMKNH8wAhz1kKYbZfDmpYoIzeQqdTh0tpx8e/Zu1zdK4smovsZqQ==} + '@swc/core-linux-x64-musl@1.10.7': + resolution: {integrity: sha512-XeDoURdWt/ybYmXLCEE8aSiTOzEn0o3Dx5l9hgt0IZEmTts7HgHHVeRgzGXbR4yDo0MfRuX5nE1dYpTmCz0uyA==} engines: {node: '>=10'} cpu: [x64] os: [linux] - '@swc/core-win32-arm64-msvc@1.10.6': - resolution: {integrity: sha512-6L5Y2E+FVvM+BtoA+mJFjf/SjpFr73w2kHBxINxwH8/PkjAjkePDr5m0ibQhPXV61bTwX49+1otzTY85EsUW9Q==} + '@swc/core-win32-arm64-msvc@1.10.7': + resolution: {integrity: sha512-nYAbi/uLS+CU0wFtBx8TquJw2uIMKBnl04LBmiVoFrsIhqSl+0MklaA9FVMGA35NcxSJfcm92Prl2W2LfSnTqQ==} engines: {node: '>=10'} cpu: [arm64] os: [win32] - '@swc/core-win32-ia32-msvc@1.10.6': - resolution: {integrity: sha512-kxK3tW8DJwEkAkwy0vhwoBAShRebH1QTe0mvH9tlBQ21rToVZQn+GCV/I44dind80hYPw0Tw2JKFVfoEJyBszg==} + '@swc/core-win32-ia32-msvc@1.10.7': + resolution: {integrity: sha512-+aGAbsDsIxeLxw0IzyQLtvtAcI1ctlXVvVcXZMNXIXtTURM876yNrufRo4ngoXB3jnb1MLjIIjgXfFs/eZTUSw==} engines: {node: '>=10'} cpu: [ia32] os: [win32] - '@swc/core-win32-x64-msvc@1.10.6': - resolution: {integrity: sha512-4pJka/+t8XcHee12G/R5VWcilkp5poT2EJhrybpuREkpQ7iC/4WOlOVrohbWQ4AhDQmojYQI/iS+gdF2JFLzTQ==} + '@swc/core-win32-x64-msvc@1.10.7': + resolution: {integrity: sha512-TBf4clpDBjF/UUnkKrT0/th76/zwvudk5wwobiTFqDywMApHip5O0VpBgZ+4raY2TM8k5+ujoy7bfHb22zu17Q==} engines: {node: '>=10'} cpu: [x64] os: [win32] - '@swc/core@1.10.6': - resolution: {integrity: sha512-zgXXsI6SAVwr6XsXyMnqlyLoa1lT+r09bAWI1xT3679ejWqI1Vnl14eJG0GjWYXCEMKHCNytfMq3OOQ62C39QQ==} + '@swc/core@1.10.7': + resolution: {integrity: sha512-py91kjI1jV5D5W/Q+PurBdGsdU5TFbrzamP7zSCqLdMcHkKi3rQEM5jkQcZr0MXXSJTaayLxS3MWYTBIkzPDrg==} engines: {node: '>=10'} peerDependencies: '@swc/helpers': '*' @@ -6032,28 +6066,28 @@ packages: peerDependencies: eslint: ^8.57.0 || ^9.0.0 - '@tanstack/history@1.95.0': - resolution: {integrity: sha512-w1/yWuIBqmG0Z0MPMf1OuOCce7FXyVH4L4dIA4rvpnjIUCH8qRUgloFAVg37nTMUbOmhMsY2NZDxCpKBv+CLJg==} + '@tanstack/history@1.97.0': + resolution: {integrity: sha512-xFdpGJqwSLUJW5TYRNjRO5T41KjGkJeHWyhANZsNJ1KDm7uCVNkfLxNXeCI1XhIFbpzJmk13vo/mY0WJDe0A5g==} engines: {node: '>=12'} '@tanstack/query-core@5.62.16': resolution: {integrity: sha512-9Sgft7Qavcd+sN0V25xVyo0nfmcZXBuODy3FVG7BMWTg1HMLm8wwG5tNlLlmSic1u7l1v786oavn+STiFaPH2g==} - '@tanstack/query-core@5.62.9': - resolution: {integrity: sha512-lwePd8hNYhyQ4nM/iRQ+Wz2cDtspGeZZHFZmCzHJ7mfKXt+9S301fULiY2IR2byJYY6Z03T427E5PoVfMexHjw==} + '@tanstack/query-core@5.64.1': + resolution: {integrity: sha512-978Wx4Wl4UJZbmvU/rkaM9cQtXXrbhK0lsz/UZhYIbyKYA8E4LdomTwyh2GHZ4oU0BKKoDH4YlKk2VscCUgNmg==} - '@tanstack/react-query@5.62.10': - resolution: {integrity: sha512-1e1WpHM5oGf27nWM/NWLY62/X9pbMBWa6ErWYmeuK0OqB9/g9UzA59ogiWbxCmS2wtAFQRhOdHhfSofrkhPl2g==} + '@tanstack/react-query@5.62.16': + resolution: {integrity: sha512-XJIZNj65d2IdvU8VBESmrPakfIm6FSdHDzrS1dPrAwmq3ZX+9riMh/ZfbNQHAWnhrgmq7KoXpgZSRyXnqMYT9A==} peerDependencies: react: ^18 || ^19 - '@tanstack/react-query@5.62.16': - resolution: {integrity: sha512-XJIZNj65d2IdvU8VBESmrPakfIm6FSdHDzrS1dPrAwmq3ZX+9riMh/ZfbNQHAWnhrgmq7KoXpgZSRyXnqMYT9A==} + '@tanstack/react-query@5.64.1': + resolution: {integrity: sha512-vW5ggHpIO2Yjj44b4sB+Fd3cdnlMJppXRBJkEHvld6FXh3j5dwWJoQo7mGtKI2RbSFyiyu/PhGAy0+Vv5ev9Eg==} peerDependencies: react: ^18 || ^19 - '@tanstack/react-router@1.95.1': - resolution: {integrity: sha512-P5x4yNhcdkYsCEoYeGZP8Q9Jlxf0WXJa4G/xvbmM905seZc9FqJqvCSRvX3dWTPOXRABhl4g+8DHqfft0c/AvQ==} + '@tanstack/react-router@1.97.0': + resolution: {integrity: sha512-0AJbgh3sfZDJCzhHpNzYomH8/BIwz6PQNrwKc9MPrVax23NdFP8pDvxPC6L4AVMDUBetcvnrrzpHgXJTSCj/fA==} engines: {node: '>=12'} peerDependencies: react: '>=18' @@ -6065,25 +6099,25 @@ packages: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - '@tanstack/router-devtools@1.95.1': - resolution: {integrity: sha512-3EtYN0k9QxamQgmIH2SeDQDkrydH3Z1noFXKovBOePXKGjebyrlXV8VxBxNerx0TWQjxvlESiJM9DOxOlGujPg==} + '@tanstack/router-devtools@1.97.0': + resolution: {integrity: sha512-iwvCDwAooUs4ZpTZGi+TSZd5XfJNfWUqCmfkDsUK0TX9hTkda2GVFq8hQiA/yFK6Ml777NG1xfpyrojaMBZN9w==} engines: {node: '>=12'} peerDependencies: - '@tanstack/react-router': ^1.95.1 + '@tanstack/react-router': ^1.97.0 react: '>=18' react-dom: '>=18' - '@tanstack/router-generator@1.95.1': - resolution: {integrity: sha512-bUymh20C9AdtwLdZkgfx04S3N9yvm8S60xFFJu1dyYI7gn5g4aPSPYaQKYFmPhc+kQJ67ZbmWVkFBKHZ8YGYvA==} + '@tanstack/router-generator@1.97.0': + resolution: {integrity: sha512-6gttdJJxWfhGkVK9SisnPpMYrJ8OFhCiOmg+e6ZbVs5z+JlWHByub5SRdFiEDHZ7+WsI11Md9rYLdjDgWrYCaA==} engines: {node: '>=12'} peerDependencies: - '@tanstack/react-router': ^1.95.1 + '@tanstack/react-router': ^1.97.0 peerDependenciesMeta: '@tanstack/react-router': optional: true - '@tanstack/router-plugin@1.95.1': - resolution: {integrity: sha512-d8iIaehb/6fAUdhHOuIP/9B9pEXLy0AWTX8yWIK9PB3r/kSShWqNDrx7Qj0O6dg3xK3yiwHSNqPQMtA03s0vag==} + '@tanstack/router-plugin@1.97.0': + resolution: {integrity: sha512-2YnipljbWaAj0IFAwcTra5arWENN/DAs0OvSEpbk+69ukY7PWw070ul9jjmH0OFp7Xhn8pAq7cmHVH9Y370vGQ==} engines: {node: '>=12'} peerDependencies: '@rsbuild/core': '>=1.0.2' @@ -6100,8 +6134,8 @@ packages: '@tanstack/store@0.7.0': resolution: {integrity: sha512-CNIhdoUsmD2NolYuaIs8VfWM467RK6oIBAW4nPEKZhg1smZ+/CwtCdpURgp7nxSqOaV9oKkzdWD80+bC66F/Jg==} - '@tanstack/virtual-file-routes@1.87.6': - resolution: {integrity: sha512-PTpeM8SHL7AJM0pJOacFvHribbUODS51qe9NsMqku4mogh6BWObY1EeVmeGnp9o3VngAEsf+rJMs2zqIVz3WFA==} + '@tanstack/virtual-file-routes@1.97.0': + resolution: {integrity: sha512-UsLBb+ALvxbRTYMlx3WJ36oq13Ps4n8tcN8biFrtiCbA8TiS0sgSAOr0lPQpzQqZuVSjscPjX43ciKf33hvkQw==} engines: {node: '>=12'} '@testing-library/dom@10.4.0': @@ -6203,6 +6237,9 @@ packages: '@types/detect-port@1.3.5': resolution: {integrity: sha512-Rf3/lB9WkDfIL9eEKaSYKc+1L/rNVYBjThk22JTqQw0YozXarX8YljFAz+HCoC6h4B4KwCMsBPZHaFezwT4BNA==} + '@types/diff@6.0.0': + resolution: {integrity: sha512-dhVCYGv3ZSbzmQaBSagrv1WJ6rXCdkyTcDyoNu1MD8JohI7pR7k8wdZEm+mvdxRKXyHVwckFzWU1vJc+Z29MlA==} + '@types/doctrine@0.0.3': resolution: {integrity: sha512-w5jZ0ee+HaPOaX25X2/2oGR/7rgAQSYII7X7pp0m9KgBfMP7uKfMfTvcpl5Dj+eDBbpxKGiqE+flqDr6XTd2RA==} @@ -6320,14 +6357,20 @@ packages: '@types/node@18.19.68': resolution: {integrity: sha512-QGtpFH1vB99ZmTa63K4/FU8twThj4fuVSBkGddTp7uIL/cuoLWIUSL2RcOaigBhfR+hg5pgGkBnkoOxrTVBMKw==} + '@types/node@18.19.70': + resolution: {integrity: sha512-RE+K0+KZoEpDUbGGctnGdkrLFwi1eYKTlIHNl2Um98mUkGsm1u2Ff6Ltd0e8DktTtC98uy7rSj+hO8t/QuLoVQ==} + '@types/node@20.12.14': resolution: {integrity: sha512-scnD59RpYD91xngrQQLGkE+6UrHUPzeKZWhhjBSa3HSkwjbQc38+q3RoIVEwxQGRw3M+j5hpNAM+lgV3cVormg==} '@types/node@20.17.10': resolution: {integrity: sha512-/jrvh5h6NXhEauFFexRin69nA0uHJ5gwk4iDivp/DeoEua3uwCUto6PC86IpRITBOs4+6i2I56K5x5b6WYGXHA==} - '@types/node@22.10.5': - resolution: {integrity: sha512-F8Q+SeGimwOo86fiovQh8qiXfFEh2/ocYv7tU5pJ3EXMSSxk1Joj5wefpFK2fHTf/N6HKGSxIDBT9f3gCxXPkQ==} + '@types/node@20.17.13': + resolution: {integrity: sha512-RNf+4dEeV69PIvyp++4IKM2vnLXtmp/JovfeQm5P5+qpKb6wHoH7INywLdZ7z+gVX46kgBP/fwJJvZYaHxtdyw==} + + '@types/node@22.10.6': + resolution: {integrity: sha512-qNiuwC4ZDAUNcY47xgaSuS92cjf8JbSUoaKS77bmLG1rU7MlATVSiw/IlrjtIyyskXBZ8KkNfjK/P5na7rgXbQ==} '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} @@ -6369,9 +6412,6 @@ packages: '@types/react@18.3.18': resolution: {integrity: sha512-t4yC+vtgnkYjNSKlFx1jkAhH8LgTo2N/7Qvi83kdEaUtMDiwpbLAktKDaAMlRcJ5eSxZkH74eEGt1ky31d7kfQ==} - '@types/react@19.0.3': - resolution: {integrity: sha512-UavfHguIjnnuq9O67uXfgy/h3SRJbidAYvNjLceB+2RIKVRBzVsh0QO+Pw6BCSQqFS9xwzKfwstXx0m6AbAREA==} - '@types/resolve@1.20.2': resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} @@ -6482,8 +6522,8 @@ packages: resolution: {integrity: sha512-YJFSfbd0CJjy14r/EvWapYgV4R5CHzptssoag2M7y3Ra7XNta6GPAJPPP5KGB9j14viYXyrzRO5GkX7CRfo8/g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/scope-manager@8.19.1': - resolution: {integrity: sha512-60L9KIuN/xgmsINzonOcMDSB8p82h95hoBfSBtXuO4jlR1R9L1xSkmVZKgCPVfavDlXihh4ARNjXhh1gGnLC7Q==} + '@typescript-eslint/scope-manager@8.20.0': + resolution: {integrity: sha512-J7+VkpeGzhOt3FeG1+SzhiMj9NzGD/M6KoGn9f4dbz3YzK9hvbhVTmLj/HiTp9DazIzJ8B4XcM80LrR9Dm1rJw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@typescript-eslint/type-utils@5.62.0': @@ -6511,8 +6551,8 @@ packages: resolution: {integrity: sha512-Z/zblEPp8cIvmEn6+tPDIHUbRu/0z5lqZ+NvolL5SvXWT5rQy7+Nch83M0++XzO0XrWRFWECgOAyE8bsJTl1GQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/types@8.19.1': - resolution: {integrity: sha512-JBVHMLj7B1K1v1051ZaMMgLW4Q/jre5qGK0Ew6UgXz1Rqh+/xPzV1aW581OM00X6iOfyr1be+QyW8LOUf19BbA==} + '@typescript-eslint/types@8.20.0': + resolution: {integrity: sha512-cqaMiY72CkP+2xZRrFt3ExRBu0WmVitN/rYPZErA80mHjHx/Svgp8yfbzkJmDoQ/whcytOPO9/IZXnOc+wigRA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@typescript-eslint/typescript-estree@5.62.0': @@ -6530,8 +6570,8 @@ packages: peerDependencies: typescript: '>=4.8.4 <5.8.0' - '@typescript-eslint/typescript-estree@8.19.1': - resolution: {integrity: sha512-jk/TZwSMJlxlNnqhy0Eod1PNEvCkpY6MXOXE/WLlblZ6ibb32i2We4uByoKPv1d0OD2xebDv4hbs3fm11SMw8Q==} + '@typescript-eslint/typescript-estree@8.20.0': + resolution: {integrity: sha512-Y7ncuy78bJqHI35NwzWol8E0X7XkRVS4K4P4TCyzWkOJih5NDvtoRDW4Ba9YJJoB2igm9yXDdYI/+fkiiAxPzA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <5.8.0' @@ -6549,8 +6589,8 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.8.0' - '@typescript-eslint/utils@8.19.1': - resolution: {integrity: sha512-IxG5gLO0Ne+KaUc8iW1A+XuKLd63o4wlbI1Zp692n1xojCl/THvgIKXJXBZixTh5dd5+yTJ/VXH7GJaaw21qXA==} + '@typescript-eslint/utils@8.20.0': + resolution: {integrity: sha512-dq70RUw6UK9ei7vxc4KQtBRk7qkHZv447OUZ6RPQMQl71I3NZxQJX/f32Smr+iqWrB02pHKn2yAdHBb0KNrRMA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -6564,8 +6604,8 @@ packages: resolution: {integrity: sha512-zORcwn4C3trOWiCqFQP1x6G3xTRyZ1LYydnj51cRnJ6hxBlr/cKPckk+PKPUw/fXmvfKTcw7bwY3w9izgx5jZw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/visitor-keys@8.19.1': - resolution: {integrity: sha512-fzmjU8CHK853V/avYZAvuVut3ZTfwN5YtMaoi+X9Y9MA9keaWNHC3zEQ9zvyX/7Hj+5JkNyK1l7TOR2hevHB6Q==} + '@typescript-eslint/visitor-keys@8.20.0': + resolution: {integrity: sha512-v/BpkeeYAsPkKCkR8BDwcno0llhzWVqPOamQrAEMdpZav2Y9OVjd9dwJyBLJWwf335B5DmlifECIkZRJCaGaHA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@typhonjs-typedoc/typedoc-theme-dmt@0.2.3': @@ -7324,6 +7364,9 @@ packages: caniuse-lite@1.0.30001690: resolution: {integrity: sha512-5ExiE3qQN6oF8Clf8ifIDcMRCRE/dMGcETG/XGMD8/XiXm6HXQgQTh1yZYLXXpSOsEUlJm1Xr7kGULZTuGtP/w==} + caniuse-lite@1.0.30001692: + resolution: {integrity: sha512-A95VKan0kdtrsnMubMKxEKUKImOPSuCpYgxSQBo036P5YYgVIcOYJEgt/txJWqObiRQeISNCfef9nvlQ0vbV7A==} + capital-case@1.0.4: resolution: {integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==} @@ -7361,6 +7404,10 @@ packages: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} + chalk@5.4.1: + resolution: {integrity: sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + change-case-all@1.0.14: resolution: {integrity: sha512-CWVm2uT7dmSHdO/z1CXT/n47mWonyypzBbuCy5tN7uMg22BsfkhwT6oHmFCAk+gL1LOOxhdbB9SZz3J1KTY3gA==} @@ -7946,6 +7993,10 @@ packages: resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + diff@7.0.0: + resolution: {integrity: sha512-PJWHUb1RFevKCwaFA9RlG5tCd+FO5iRh9A8HEtkmBH2Li03iJriB6m6JIN4rGz3K3JLawI7/veA1xzRKP6ISBw==} + engines: {node: '>=0.3.1'} + digest-fetch@1.3.0: resolution: {integrity: sha512-CGJuv6iKNM7QyZlM2T3sPAdZWd/p9zQiRNS9G+9COUCwzWFTs0Xp8NF5iePx7wtvhDykReiRRrSeNb4oMmB8lA==} @@ -8139,8 +8190,8 @@ packages: engines: {node: '>=0.10.0'} hasBin: true - electron-to-chromium@1.5.79: - resolution: {integrity: sha512-nYOxJNxQ9Om4EC88BE4pPoNI8xwSFf8pU/BAeOl4Hh/b/i6V4biTAzwV7pXi3ARKeoYO5JZKMIXTryXSVer5RA==} + electron-to-chromium@1.5.82: + resolution: {integrity: sha512-Zq16uk1hfQhyGx5GpwPAYDwddJuSGhtRhgOA2mCxANYaDT79nAeGnaXogMGng4KqLaJUVnOnuL0+TDop9nLOiA==} elliptic@6.5.4: resolution: {integrity: sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==} @@ -11440,6 +11491,10 @@ packages: resolution: {integrity: sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==} engines: {node: ^10 || ^12 || >=14} + postcss@8.5.1: + resolution: {integrity: sha512-6oz2beyjc5VMn/KV1pPw8fliQkhBXrVn1Z3TVyqZxU8kZpzEKhBdmCFqI6ZbmGtamQvQGuU1sgPTk8ZrXDD7jQ==} + engines: {node: ^10 || ^12 || >=14} + potpack@1.0.2: resolution: {integrity: sha512-choctRBIV9EMT9WGAZHn3V7t0Z2pMQyl0EZE6pFc/6ml3ssw7Dlf/oAOvFwjm1HVsqfQN8GfeFyJ+d8tRzqueQ==} @@ -13213,8 +13268,8 @@ packages: typescript: optional: true - viem@2.22.4: - resolution: {integrity: sha512-35/T2ySpUM0kUVEy2SkaWIAIabSRzF/IZxDdnLxuaI1pwURC92ZiHa9J9nL1rWGl0HTyAqUxcycgJEpOvHrcQA==} + viem@2.22.8: + resolution: {integrity: sha512-iB3PW/a/qzpYbpjo3R662u6a/zo6piZHez/N/bOC25C79FYXBCs8mQDqwiHk3FYErUhS4KVZLabKV9zGMd+EgQ==} peerDependencies: typescript: '>=5.0.4' peerDependenciesMeta: @@ -13870,7 +13925,7 @@ snapshots: '@anthropic-ai/sdk@0.9.1(encoding@0.1.13)': dependencies: - '@types/node': 18.19.68 + '@types/node': 18.19.70 '@types/node-fetch': 2.6.12 abort-controller: 3.0.0 agentkeepalive: 4.5.0 @@ -14045,6 +14100,8 @@ snapshots: '@babel/helper-plugin-utils@7.25.9': {} + '@babel/helper-plugin-utils@7.26.5': {} + '@babel/helper-remap-async-to-generator@7.25.9(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 @@ -14136,7 +14193,7 @@ snapshots: dependencies: '@babel/core': 7.26.0 '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 transitivePeerDependencies: - supports-color @@ -14145,7 +14202,7 @@ snapshots: '@babel/compat-data': 7.26.3 '@babel/core': 7.26.0 '@babel/helper-compilation-targets': 7.25.9 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.26.0) '@babel/plugin-transform-parameters': 7.25.9(@babel/core@7.26.0) @@ -14156,12 +14213,12 @@ snapshots: '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-flow@7.26.0(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-import-assertions@7.26.0(@babel/core@7.26.0)': dependencies: @@ -14176,17 +14233,17 @@ snapshots: '@babel/plugin-syntax-jsx@7.25.9(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-typescript@7.25.9(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.26.0)': dependencies: @@ -14301,7 +14358,7 @@ snapshots: '@babel/plugin-transform-flow-strip-types@7.25.9(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-flow': 7.26.0(@babel/core@7.26.0) '@babel/plugin-transform-for-of@7.25.9(@babel/core@7.26.0)': @@ -14454,7 +14511,7 @@ snapshots: '@babel/plugin-transform-react-display-name@7.25.9(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-react-jsx-development@7.25.9(@babel/core@7.26.0)': dependencies: @@ -14466,19 +14523,19 @@ snapshots: '@babel/plugin-transform-react-jsx-self@7.25.9(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-react-jsx-source@7.25.9(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-transform-react-jsx@7.25.9(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 '@babel/helper-annotate-as-pure': 7.25.9 '@babel/helper-module-imports': 7.25.9 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.26.0) '@babel/types': 7.26.5 transitivePeerDependencies: @@ -14534,7 +14591,7 @@ snapshots: '@babel/core': 7.26.0 '@babel/helper-annotate-as-pure': 7.25.9 '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 + '@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.0) transitivePeerDependencies: @@ -14641,7 +14698,7 @@ snapshots: '@babel/preset-flow@7.25.9(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-validator-option': 7.25.9 '@babel/plugin-transform-flow-strip-types': 7.25.9(@babel/core@7.26.0) @@ -14655,7 +14712,7 @@ snapshots: '@babel/preset-typescript@7.26.0(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 + '@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.0) '@babel/plugin-transform-modules-commonjs': 7.26.3(@babel/core@7.26.0) @@ -14680,7 +14737,7 @@ snapshots: dependencies: '@babel/code-frame': 7.26.2 '@babel/parser': 7.26.5 - '@babel/types': 7.26.3 + '@babel/types': 7.26.5 '@babel/traverse@7.26.4': dependencies: @@ -14911,11 +14968,11 @@ snapshots: '@colors/colors@1.5.0': optional: true - '@commitlint/cli@18.6.1(@types/node@22.10.5)(typescript@5.7.3)': + '@commitlint/cli@18.6.1(@types/node@22.10.6)(typescript@5.7.3)': dependencies: '@commitlint/format': 18.6.1 '@commitlint/lint': 18.6.1 - '@commitlint/load': 18.6.1(@types/node@22.10.5)(typescript@5.7.3) + '@commitlint/load': 18.6.1(@types/node@22.10.6)(typescript@5.7.3) '@commitlint/read': 18.6.1 '@commitlint/types': 18.6.1 execa: 5.1.1 @@ -14965,7 +15022,7 @@ snapshots: '@commitlint/rules': 18.6.1 '@commitlint/types': 18.6.1 - '@commitlint/load@18.6.1(@types/node@22.10.5)(typescript@5.7.3)': + '@commitlint/load@18.6.1(@types/node@22.10.6)(typescript@5.7.3)': dependencies: '@commitlint/config-validator': 18.6.1 '@commitlint/execute-rule': 18.6.1 @@ -14973,7 +15030,7 @@ snapshots: '@commitlint/types': 18.6.1 chalk: 4.1.2 cosmiconfig: 8.3.6(typescript@5.7.3) - cosmiconfig-typescript-loader: 5.1.0(@types/node@22.10.5)(cosmiconfig@8.3.6(typescript@5.7.3))(typescript@5.7.3) + cosmiconfig-typescript-loader: 5.1.0(@types/node@22.10.6)(cosmiconfig@8.3.6(typescript@5.7.3))(typescript@5.7.3) lodash.isplainobject: 4.0.6 lodash.merge: 4.6.2 lodash.uniq: 4.5.0 @@ -16501,7 +16558,7 @@ snapshots: dependencies: '@inquirer/type': 1.5.5 '@types/mute-stream': 0.0.4 - '@types/node': 20.17.10 + '@types/node': 20.17.13 '@types/wrap-ansi': 3.0.0 ansi-escapes: 4.3.2 chalk: 4.1.2 @@ -16829,12 +16886,12 @@ snapshots: proxy-deep: 3.1.1 rxjs: 7.5.5 - '@lerna/create@8.1.9(@swc/core@1.10.6(@swc/helpers@0.5.5))(encoding@0.1.13)(typescript@5.7.3)': + '@lerna/create@8.1.9(@swc/core@1.10.7(@swc/helpers@0.5.5))(encoding@0.1.13)(typescript@5.7.3)': dependencies: '@npmcli/arborist': 7.5.4 '@npmcli/package-json': 5.2.0 '@npmcli/run-script': 8.1.0 - '@nx/devkit': 20.3.1(nx@20.3.1(@swc/core@1.10.6(@swc/helpers@0.5.5))) + '@nx/devkit': 20.3.1(nx@20.3.1(@swc/core@1.10.7(@swc/helpers@0.5.5))) '@octokit/plugin-enterprise-rest': 6.0.1 '@octokit/rest': 19.0.11(encoding@0.1.13) aproba: 2.0.0 @@ -16873,7 +16930,7 @@ snapshots: npm-package-arg: 11.0.2 npm-packlist: 8.0.2 npm-registry-fetch: 17.1.0 - nx: 20.3.1(@swc/core@1.10.6(@swc/helpers@0.5.5)) + nx: 20.3.1(@swc/core@1.10.7(@swc/helpers@0.5.5)) p-map: 4.0.0 p-map-series: 2.1.0 p-queue: 6.6.2 @@ -17216,13 +17273,13 @@ snapshots: - bluebird - supports-color - '@nx/devkit@20.3.1(nx@20.3.1(@swc/core@1.10.6(@swc/helpers@0.5.5)))': + '@nx/devkit@20.3.1(nx@20.3.1(@swc/core@1.10.7(@swc/helpers@0.5.5)))': dependencies: ejs: 3.1.10 enquirer: 2.3.6 ignore: 5.3.2 minimatch: 9.0.3 - nx: 20.3.1(@swc/core@1.10.6(@swc/helpers@0.5.5)) + nx: 20.3.1(@swc/core@1.10.7(@swc/helpers@0.5.5)) semver: 7.6.3 tmp: 0.2.3 tslib: 2.8.1 @@ -18496,7 +18553,7 @@ snapshots: '@scure/starknet@1.1.0': dependencies: '@noble/curves': 1.7.0 - '@noble/hashes': 1.6.1 + '@noble/hashes': 1.6.0 '@shikijs/core@1.27.0': dependencies: @@ -18584,7 +18641,7 @@ snapshots: '@starknet-react/core@2.3.0(react@18.3.1)(starknet@6.21.0(encoding@0.1.13))': dependencies: '@starknet-react/chains': 0.1.7 - '@tanstack/react-query': 5.62.10(react@18.3.1) + '@tanstack/react-query': 5.64.1(react@18.3.1) eventemitter3: 5.0.1 immutable: 4.3.7 react: 18.3.1 @@ -18595,12 +18652,28 @@ snapshots: dependencies: '@starknet-io/types-js': 0.7.10 '@starknet-react/chains': 3.1.0 - '@tanstack/react-query': 5.62.16(react@18.3.1) + '@tanstack/react-query': 5.64.1(react@18.3.1) + eventemitter3: 5.0.1 + get-starknet-core: 4.0.0 + react: 18.3.1 + starknet: 6.21.0(encoding@0.1.13) + viem: 2.22.8(typescript@5.7.2)(zod@3.24.1) + zod: 3.24.1 + transitivePeerDependencies: + - bufferutil + - typescript + - utf-8-validate + + '@starknet-react/core@3.6.2(get-starknet-core@4.0.0)(react@18.3.1)(starknet@6.21.0(encoding@0.1.13))(typescript@5.7.3)': + dependencies: + '@starknet-io/types-js': 0.7.10 + '@starknet-react/chains': 3.1.0 + '@tanstack/react-query': 5.64.1(react@18.3.1) eventemitter3: 5.0.1 get-starknet-core: 4.0.0 react: 18.3.1 starknet: 6.21.0(encoding@0.1.13) - viem: 2.22.4(typescript@5.7.2)(zod@3.24.1) + viem: 2.22.8(typescript@5.7.3)(zod@3.24.1) zod: 3.24.1 transitivePeerDependencies: - bufferutil @@ -18611,12 +18684,12 @@ snapshots: dependencies: '@starknet-io/types-js': 0.7.10 '@starknet-react/chains': 3.1.0 - '@tanstack/react-query': 5.62.16(react@19.0.0) + '@tanstack/react-query': 5.64.1(react@19.0.0) eventemitter3: 5.0.1 get-starknet-core: 4.0.0 react: 19.0.0 starknet: 6.21.0(encoding@0.1.13) - viem: 2.22.4(typescript@5.7.2)(zod@3.24.1) + viem: 2.22.8(typescript@5.7.2)(zod@3.24.1) zod: 3.24.1 transitivePeerDependencies: - bufferutil @@ -18939,7 +19012,7 @@ snapshots: '@storybook/node-logger': 7.6.20 '@storybook/types': 7.6.20 '@types/find-cache-dir': 3.2.1 - '@types/node': 18.19.68 + '@types/node': 18.19.70 '@types/node-fetch': 2.6.12 '@types/pretty-hrtime': 1.0.3 chalk: 4.1.2 @@ -18984,7 +19057,7 @@ snapshots: '@storybook/telemetry': 7.6.20(encoding@0.1.13) '@storybook/types': 7.6.20 '@types/detect-port': 1.3.5 - '@types/node': 18.19.68 + '@types/node': 18.19.70 '@types/pretty-hrtime': 1.0.3 '@types/semver': 7.5.8 better-opn: 3.0.2 @@ -19153,7 +19226,7 @@ snapshots: '@storybook/types': 7.6.20 '@types/escodegen': 0.0.6 '@types/estree': 0.0.51 - '@types/node': 18.19.68 + '@types/node': 18.19.70 acorn: 7.4.1 acorn-jsx: 5.3.2(acorn@7.4.1) acorn-walk: 7.2.0 @@ -19231,26 +19304,26 @@ snapshots: magic-string: 0.25.9 string.prototype.matchall: 4.0.12 - '@sveltejs/vite-plugin-svelte-inspector@2.1.0(@sveltejs/vite-plugin-svelte@3.1.2(svelte@4.2.19)(vite@5.4.11(@types/node@22.10.5)(terser@5.37.0)))(svelte@4.2.19)(vite@5.4.11(@types/node@22.10.5)(terser@5.37.0))': + '@sveltejs/vite-plugin-svelte-inspector@2.1.0(@sveltejs/vite-plugin-svelte@3.1.2(svelte@4.2.19)(vite@5.4.11(@types/node@22.10.6)(terser@5.37.0)))(svelte@4.2.19)(vite@5.4.11(@types/node@22.10.6)(terser@5.37.0))': dependencies: - '@sveltejs/vite-plugin-svelte': 3.1.2(svelte@4.2.19)(vite@5.4.11(@types/node@22.10.5)(terser@5.37.0)) + '@sveltejs/vite-plugin-svelte': 3.1.2(svelte@4.2.19)(vite@5.4.11(@types/node@22.10.6)(terser@5.37.0)) debug: 4.4.0 svelte: 4.2.19 - vite: 5.4.11(@types/node@22.10.5)(terser@5.37.0) + vite: 5.4.11(@types/node@22.10.6)(terser@5.37.0) transitivePeerDependencies: - supports-color - '@sveltejs/vite-plugin-svelte@3.1.2(svelte@4.2.19)(vite@5.4.11(@types/node@22.10.5)(terser@5.37.0))': + '@sveltejs/vite-plugin-svelte@3.1.2(svelte@4.2.19)(vite@5.4.11(@types/node@22.10.6)(terser@5.37.0))': dependencies: - '@sveltejs/vite-plugin-svelte-inspector': 2.1.0(@sveltejs/vite-plugin-svelte@3.1.2(svelte@4.2.19)(vite@5.4.11(@types/node@22.10.5)(terser@5.37.0)))(svelte@4.2.19)(vite@5.4.11(@types/node@22.10.5)(terser@5.37.0)) + '@sveltejs/vite-plugin-svelte-inspector': 2.1.0(@sveltejs/vite-plugin-svelte@3.1.2(svelte@4.2.19)(vite@5.4.11(@types/node@22.10.6)(terser@5.37.0)))(svelte@4.2.19)(vite@5.4.11(@types/node@22.10.6)(terser@5.37.0)) debug: 4.4.0 deepmerge: 4.3.1 kleur: 4.1.5 magic-string: 0.30.17 svelte: 4.2.19 svelte-hmr: 0.16.0(svelte@4.2.19) - vite: 5.4.11(@types/node@22.10.5)(terser@5.37.0) - vitefu: 0.2.5(vite@5.4.11(@types/node@22.10.5)(terser@5.37.0)) + vite: 5.4.11(@types/node@22.10.6)(terser@5.37.0) + vitefu: 0.2.5(vite@5.4.11(@types/node@22.10.6)(terser@5.37.0)) transitivePeerDependencies: - supports-color @@ -19324,51 +19397,51 @@ snapshots: transitivePeerDependencies: - supports-color - '@swc/core-darwin-arm64@1.10.6': + '@swc/core-darwin-arm64@1.10.7': optional: true - '@swc/core-darwin-x64@1.10.6': + '@swc/core-darwin-x64@1.10.7': optional: true - '@swc/core-linux-arm-gnueabihf@1.10.6': + '@swc/core-linux-arm-gnueabihf@1.10.7': optional: true - '@swc/core-linux-arm64-gnu@1.10.6': + '@swc/core-linux-arm64-gnu@1.10.7': optional: true - '@swc/core-linux-arm64-musl@1.10.6': + '@swc/core-linux-arm64-musl@1.10.7': optional: true - '@swc/core-linux-x64-gnu@1.10.6': + '@swc/core-linux-x64-gnu@1.10.7': optional: true - '@swc/core-linux-x64-musl@1.10.6': + '@swc/core-linux-x64-musl@1.10.7': optional: true - '@swc/core-win32-arm64-msvc@1.10.6': + '@swc/core-win32-arm64-msvc@1.10.7': optional: true - '@swc/core-win32-ia32-msvc@1.10.6': + '@swc/core-win32-ia32-msvc@1.10.7': optional: true - '@swc/core-win32-x64-msvc@1.10.6': + '@swc/core-win32-x64-msvc@1.10.7': optional: true - '@swc/core@1.10.6(@swc/helpers@0.5.5)': + '@swc/core@1.10.7(@swc/helpers@0.5.5)': dependencies: '@swc/counter': 0.1.3 '@swc/types': 0.1.17 optionalDependencies: - '@swc/core-darwin-arm64': 1.10.6 - '@swc/core-darwin-x64': 1.10.6 - '@swc/core-linux-arm-gnueabihf': 1.10.6 - '@swc/core-linux-arm64-gnu': 1.10.6 - '@swc/core-linux-arm64-musl': 1.10.6 - '@swc/core-linux-x64-gnu': 1.10.6 - '@swc/core-linux-x64-musl': 1.10.6 - '@swc/core-win32-arm64-msvc': 1.10.6 - '@swc/core-win32-ia32-msvc': 1.10.6 - '@swc/core-win32-x64-msvc': 1.10.6 + '@swc/core-darwin-arm64': 1.10.7 + '@swc/core-darwin-x64': 1.10.7 + '@swc/core-linux-arm-gnueabihf': 1.10.7 + '@swc/core-linux-arm64-gnu': 1.10.7 + '@swc/core-linux-arm64-musl': 1.10.7 + '@swc/core-linux-x64-gnu': 1.10.7 + '@swc/core-linux-x64-musl': 1.10.7 + '@swc/core-win32-arm64-msvc': 1.10.7 + '@swc/core-win32-ia32-msvc': 1.10.7 + '@swc/core-win32-x64-msvc': 1.10.7 '@swc/helpers': 0.5.5 '@swc/counter@0.1.3': {} @@ -19395,38 +19468,38 @@ snapshots: optionalDependencies: typescript: 5.7.2 - '@tanstack/eslint-plugin-query@5.62.16(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2)': + '@tanstack/eslint-plugin-query@5.62.16(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.3)': dependencies: - '@typescript-eslint/utils': 8.19.1(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2) + '@typescript-eslint/utils': 8.20.0(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.3) eslint: 9.17.0(jiti@2.4.2) transitivePeerDependencies: - supports-color - typescript - '@tanstack/history@1.95.0': {} + '@tanstack/history@1.97.0': {} '@tanstack/query-core@5.62.16': {} - '@tanstack/query-core@5.62.9': {} + '@tanstack/query-core@5.64.1': {} - '@tanstack/react-query@5.62.10(react@18.3.1)': + '@tanstack/react-query@5.62.16(react@18.3.1)': dependencies: - '@tanstack/query-core': 5.62.9 + '@tanstack/query-core': 5.62.16 react: 18.3.1 - '@tanstack/react-query@5.62.16(react@18.3.1)': + '@tanstack/react-query@5.64.1(react@18.3.1)': dependencies: - '@tanstack/query-core': 5.62.16 + '@tanstack/query-core': 5.64.1 react: 18.3.1 - '@tanstack/react-query@5.62.16(react@19.0.0)': + '@tanstack/react-query@5.64.1(react@19.0.0)': dependencies: - '@tanstack/query-core': 5.62.16 + '@tanstack/query-core': 5.64.1 react: 19.0.0 - '@tanstack/react-router@1.95.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@tanstack/react-router@1.97.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@tanstack/history': 1.95.0 + '@tanstack/history': 1.97.0 '@tanstack/react-store': 0.7.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) jsesc: 3.1.0 react: 18.3.1 @@ -19441,9 +19514,9 @@ snapshots: react-dom: 18.3.1(react@18.3.1) use-sync-external-store: 1.4.0(react@18.3.1) - '@tanstack/router-devtools@1.95.1(@tanstack/react-router@1.95.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(csstype@3.1.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@tanstack/router-devtools@1.97.0(@tanstack/react-router@1.97.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(csstype@3.1.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@tanstack/react-router': 1.95.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tanstack/react-router': 1.97.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) clsx: 2.1.1 goober: 2.1.16(csstype@3.1.3) react: 18.3.1 @@ -19451,44 +19524,47 @@ snapshots: transitivePeerDependencies: - csstype - '@tanstack/router-generator@1.95.1(@tanstack/react-router@1.95.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': + '@tanstack/router-generator@1.97.0(@tanstack/react-router@1.97.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': dependencies: - '@tanstack/virtual-file-routes': 1.87.6 + '@tanstack/virtual-file-routes': 1.97.0 prettier: 3.4.2 tsx: 4.19.2 zod: 3.24.1 optionalDependencies: - '@tanstack/react-router': 1.95.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tanstack/react-router': 1.97.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@tanstack/router-plugin@1.95.1(@tanstack/react-router@1.95.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(vite@6.0.7(@types/node@22.10.5)(jiti@2.4.2)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0))': + '@tanstack/router-plugin@1.97.0(@tanstack/react-router@1.97.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(vite@6.0.7(@types/node@22.10.6)(jiti@2.4.2)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0))': dependencies: '@babel/core': 7.26.0 - '@babel/generator': 7.26.3 - '@babel/parser': 7.26.3 + '@babel/generator': 7.26.5 + '@babel/parser': 7.26.5 '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.26.0) '@babel/plugin-syntax-typescript': 7.25.9(@babel/core@7.26.0) '@babel/template': 7.25.9 - '@babel/traverse': 7.26.4 - '@babel/types': 7.26.3 - '@tanstack/router-generator': 1.95.1(@tanstack/react-router@1.95.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@tanstack/virtual-file-routes': 1.87.6 + '@babel/traverse': 7.26.5 + '@babel/types': 7.26.5 + '@tanstack/router-generator': 1.97.0(@tanstack/react-router@1.97.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tanstack/virtual-file-routes': 1.97.0 '@types/babel__core': 7.20.5 '@types/babel__generator': 7.6.8 '@types/babel__template': 7.4.4 '@types/babel__traverse': 7.20.6 + '@types/diff': 6.0.0 babel-dead-code-elimination: 1.0.8 + chalk: 5.4.1 chokidar: 3.6.0 + diff: 7.0.0 unplugin: 1.16.1 zod: 3.24.1 optionalDependencies: - vite: 6.0.7(@types/node@22.10.5)(jiti@2.4.2)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) + vite: 6.0.7(@types/node@22.10.6)(jiti@2.4.2)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) transitivePeerDependencies: - '@tanstack/react-router' - supports-color '@tanstack/store@0.7.0': {} - '@tanstack/virtual-file-routes@1.87.6': {} + '@tanstack/virtual-file-routes@1.97.0': {} '@testing-library/dom@10.4.0': dependencies: @@ -19570,20 +19646,20 @@ snapshots: '@types/babel__generator@7.6.8': dependencies: - '@babel/types': 7.26.3 + '@babel/types': 7.26.5 '@types/babel__template@7.4.4': dependencies: - '@babel/parser': 7.26.3 - '@babel/types': 7.26.3 + '@babel/parser': 7.26.5 + '@babel/types': 7.26.5 '@types/babel__traverse@7.20.6': dependencies: - '@babel/types': 7.26.3 + '@babel/types': 7.26.5 '@types/bn.js@5.1.6': dependencies: - '@types/node': 20.17.10 + '@types/node': 22.10.6 '@types/body-parser@1.19.5': dependencies: @@ -19598,12 +19674,14 @@ snapshots: '@types/cross-spawn@6.0.6': dependencies: - '@types/node': 20.17.10 + '@types/node': 22.10.6 '@types/debounce@1.2.4': {} '@types/detect-port@1.3.5': {} + '@types/diff@6.0.0': {} + '@types/doctrine@0.0.3': {} '@types/doctrine@0.0.9': {} @@ -19645,7 +19723,7 @@ snapshots: '@types/fs-extra@11.0.4': dependencies: '@types/jsonfile': 6.1.4 - '@types/node': 20.17.10 + '@types/node': 22.10.6 '@types/glob@7.2.0': dependencies: @@ -19682,7 +19760,7 @@ snapshots: '@types/jsonfile@6.1.4': dependencies: - '@types/node': 20.17.10 + '@types/node': 22.10.6 '@types/lodash@4.17.13': {} @@ -19704,7 +19782,7 @@ snapshots: '@types/mute-stream@0.0.4': dependencies: - '@types/node': 20.17.10 + '@types/node': 20.17.13 '@types/node-cron@3.0.11': {} @@ -19719,6 +19797,10 @@ snapshots: dependencies: undici-types: 5.26.5 + '@types/node@18.19.70': + dependencies: + undici-types: 5.26.5 + '@types/node@20.12.14': dependencies: undici-types: 5.26.5 @@ -19727,7 +19809,11 @@ snapshots: dependencies: undici-types: 6.19.8 - '@types/node@22.10.5': + '@types/node@20.17.13': + dependencies: + undici-types: 6.19.8 + + '@types/node@22.10.6': dependencies: undici-types: 6.20.0 @@ -19739,7 +19825,7 @@ snapshots: '@types/prompts@2.4.9': dependencies: - '@types/node': 20.17.10 + '@types/node': 22.10.6 kleur: 3.0.3 '@types/prop-types@15.7.14': {} @@ -19767,11 +19853,6 @@ snapshots: '@types/prop-types': 15.7.14 csstype: 3.1.3 - '@types/react@19.0.3': - dependencies: - csstype: 3.1.3 - optional: true - '@types/resolve@1.20.2': {} '@types/resolve@1.20.6': {} @@ -19904,10 +19985,10 @@ snapshots: '@typescript-eslint/types': 8.18.2 '@typescript-eslint/visitor-keys': 8.18.2 - '@typescript-eslint/scope-manager@8.19.1': + '@typescript-eslint/scope-manager@8.20.0': dependencies: - '@typescript-eslint/types': 8.19.1 - '@typescript-eslint/visitor-keys': 8.19.1 + '@typescript-eslint/types': 8.20.0 + '@typescript-eslint/visitor-keys': 8.20.0 '@typescript-eslint/type-utils@5.62.0(eslint@8.57.1)(typescript@5.7.2)': dependencies: @@ -19936,7 +20017,7 @@ snapshots: '@typescript-eslint/types@8.18.2': {} - '@typescript-eslint/types@8.19.1': {} + '@typescript-eslint/types@8.20.0': {} '@typescript-eslint/typescript-estree@5.62.0(typescript@5.7.2)': dependencies: @@ -19966,17 +20047,17 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@8.19.1(typescript@5.7.2)': + '@typescript-eslint/typescript-estree@8.20.0(typescript@5.7.3)': dependencies: - '@typescript-eslint/types': 8.19.1 - '@typescript-eslint/visitor-keys': 8.19.1 + '@typescript-eslint/types': 8.20.0 + '@typescript-eslint/visitor-keys': 8.20.0 debug: 4.4.0 fast-glob: 3.3.3 is-glob: 4.0.3 minimatch: 9.0.5 semver: 7.6.3 - ts-api-utils: 2.0.0(typescript@5.7.2) - typescript: 5.7.2 + ts-api-utils: 2.0.0(typescript@5.7.3) + typescript: 5.7.3 transitivePeerDependencies: - supports-color @@ -20006,14 +20087,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.19.1(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2)': + '@typescript-eslint/utils@8.20.0(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.3)': dependencies: '@eslint-community/eslint-utils': 4.4.1(eslint@9.17.0(jiti@2.4.2)) - '@typescript-eslint/scope-manager': 8.19.1 - '@typescript-eslint/types': 8.19.1 - '@typescript-eslint/typescript-estree': 8.19.1(typescript@5.7.2) + '@typescript-eslint/scope-manager': 8.20.0 + '@typescript-eslint/types': 8.20.0 + '@typescript-eslint/typescript-estree': 8.20.0(typescript@5.7.3) eslint: 9.17.0(jiti@2.4.2) - typescript: 5.7.2 + typescript: 5.7.3 transitivePeerDependencies: - supports-color @@ -20027,9 +20108,9 @@ snapshots: '@typescript-eslint/types': 8.18.2 eslint-visitor-keys: 4.2.0 - '@typescript-eslint/visitor-keys@8.19.1': + '@typescript-eslint/visitor-keys@8.20.0': dependencies: - '@typescript-eslint/types': 8.19.1 + '@typescript-eslint/types': 8.20.0 eslint-visitor-keys: 4.2.0 '@typhonjs-typedoc/typedoc-theme-dmt@0.2.3(typedoc@0.26.11(typescript@5.7.3))': @@ -20107,31 +20188,31 @@ snapshots: transitivePeerDependencies: - supports-color - '@vitejs/plugin-react@4.3.4(vite@5.4.11(@types/node@22.10.5)(terser@5.37.0))': + '@vitejs/plugin-react@4.3.4(vite@5.4.11(@types/node@22.10.6)(terser@5.37.0))': dependencies: '@babel/core': 7.26.0 '@babel/plugin-transform-react-jsx-self': 7.25.9(@babel/core@7.26.0) '@babel/plugin-transform-react-jsx-source': 7.25.9(@babel/core@7.26.0) '@types/babel__core': 7.20.5 react-refresh: 0.14.2 - vite: 5.4.11(@types/node@22.10.5)(terser@5.37.0) + vite: 5.4.11(@types/node@22.10.6)(terser@5.37.0) transitivePeerDependencies: - supports-color - '@vitejs/plugin-react@4.3.4(vite@6.0.7(@types/node@22.10.5)(jiti@2.4.2)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0))': + '@vitejs/plugin-react@4.3.4(vite@6.0.7(@types/node@22.10.6)(jiti@2.4.2)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0))': dependencies: '@babel/core': 7.26.0 '@babel/plugin-transform-react-jsx-self': 7.25.9(@babel/core@7.26.0) '@babel/plugin-transform-react-jsx-source': 7.25.9(@babel/core@7.26.0) '@types/babel__core': 7.20.5 react-refresh: 0.14.2 - vite: 6.0.7(@types/node@22.10.5)(jiti@2.4.2)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) + vite: 6.0.7(@types/node@22.10.6)(jiti@2.4.2)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) transitivePeerDependencies: - supports-color - '@vitejs/plugin-vue@5.2.1(vite@5.4.11(@types/node@22.10.5)(terser@5.37.0))(vue@3.5.13(typescript@5.7.2))': + '@vitejs/plugin-vue@5.2.1(vite@5.4.11(@types/node@22.10.6)(terser@5.37.0))(vue@3.5.13(typescript@5.7.2))': dependencies: - vite: 5.4.11(@types/node@22.10.5)(terser@5.37.0) + vite: 5.4.11(@types/node@22.10.6)(terser@5.37.0) vue: 3.5.13(typescript@5.7.2) '@vitest/coverage-v8@1.6.0(vitest@1.6.0(@types/node@18.19.68)(jsdom@24.1.3)(terser@5.37.0))': @@ -20153,7 +20234,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@vitest/coverage-v8@1.6.0(vitest@1.6.0(@types/node@22.10.5)(jsdom@24.1.3)(terser@5.37.0))': + '@vitest/coverage-v8@1.6.0(vitest@1.6.0(@types/node@22.10.6)(jsdom@24.1.3)(terser@5.37.0))': dependencies: '@ampproject/remapping': 2.3.0 '@bcoe/v8-coverage': 0.2.3 @@ -20168,7 +20249,7 @@ snapshots: std-env: 3.8.0 strip-literal: 2.1.1 test-exclude: 6.0.0 - vitest: 1.6.0(@types/node@22.10.5)(jsdom@24.1.3)(terser@5.37.0) + vitest: 1.6.0(@types/node@22.10.6)(jsdom@24.1.3)(terser@5.37.0) transitivePeerDependencies: - supports-color @@ -20191,13 +20272,13 @@ snapshots: chai: 5.1.2 tinyrainbow: 1.2.0 - '@vitest/mocker@2.1.8(vite@5.4.11(@types/node@22.10.5)(terser@5.37.0))': + '@vitest/mocker@2.1.8(vite@5.4.11(@types/node@22.10.6)(terser@5.37.0))': dependencies: '@vitest/spy': 2.1.8 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: - vite: 5.4.11(@types/node@22.10.5)(terser@5.37.0) + vite: 5.4.11(@types/node@22.10.6)(terser@5.37.0) '@vitest/pretty-format@2.1.8': dependencies: @@ -20293,7 +20374,7 @@ snapshots: '@vue/shared': 3.5.13 estree-walker: 2.0.2 magic-string: 0.30.17 - postcss: 8.4.49 + postcss: 8.5.1 source-map-js: 1.2.1 '@vue/compiler-ssr@3.5.13': @@ -20427,6 +20508,11 @@ snapshots: typescript: 5.7.2 zod: 3.24.1 + abitype@1.0.7(typescript@5.7.3)(zod@3.24.1): + optionalDependencies: + typescript: 5.7.3 + zod: 3.24.1 + abort-controller@3.0.0: dependencies: event-target-shim: 5.0.1 @@ -20662,13 +20748,23 @@ snapshots: autoprefixer@10.4.20(postcss@8.4.49): dependencies: browserslist: 4.24.4 - caniuse-lite: 1.0.30001690 + caniuse-lite: 1.0.30001692 fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.1.1 postcss: 8.4.49 postcss-value-parser: 4.2.0 + autoprefixer@10.4.20(postcss@8.5.1): + dependencies: + browserslist: 4.24.4 + caniuse-lite: 1.0.30001692 + fraction.js: 4.3.7 + normalize-range: 0.1.2 + picocolors: 1.1.1 + postcss: 8.5.1 + postcss-value-parser: 4.2.0 + available-typed-arrays@1.0.7: dependencies: possible-typed-array-names: 1.0.0 @@ -20700,15 +20796,15 @@ snapshots: babel-dead-code-elimination@1.0.8: dependencies: '@babel/core': 7.26.0 - '@babel/parser': 7.26.3 - '@babel/traverse': 7.26.4 - '@babel/types': 7.26.3 + '@babel/parser': 7.26.5 + '@babel/traverse': 7.26.5 + '@babel/types': 7.26.5 transitivePeerDependencies: - supports-color babel-plugin-istanbul@6.1.1: dependencies: - '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 '@istanbuljs/load-nyc-config': 1.1.0 '@istanbuljs/schema': 0.1.3 istanbul-lib-instrument: 5.2.1 @@ -20904,8 +21000,8 @@ snapshots: browserslist@4.24.4: dependencies: - caniuse-lite: 1.0.30001690 - electron-to-chromium: 1.5.79 + caniuse-lite: 1.0.30001692 + electron-to-chromium: 1.5.82 node-releases: 2.0.19 update-browserslist-db: 1.1.2(browserslist@4.24.4) @@ -21008,6 +21104,8 @@ snapshots: caniuse-lite@1.0.30001690: {} + caniuse-lite@1.0.30001692: {} + capital-case@1.0.4: dependencies: no-case: 3.0.4 @@ -21070,6 +21168,8 @@ snapshots: ansi-styles: 4.3.0 supports-color: 7.2.0 + chalk@5.4.1: {} + change-case-all@1.0.14: dependencies: change-case: 4.1.2 @@ -21424,9 +21524,9 @@ snapshots: core-util-is@1.0.3: {} - cosmiconfig-typescript-loader@5.1.0(@types/node@22.10.5)(cosmiconfig@8.3.6(typescript@5.7.3))(typescript@5.7.3): + cosmiconfig-typescript-loader@5.1.0(@types/node@22.10.6)(cosmiconfig@8.3.6(typescript@5.7.3))(typescript@5.7.3): dependencies: - '@types/node': 22.10.5 + '@types/node': 22.10.6 cosmiconfig: 8.3.6(typescript@5.7.3) jiti: 1.21.7 typescript: 5.7.3 @@ -21706,6 +21806,8 @@ snapshots: diff-sequences@29.6.3: {} + diff@7.0.0: {} + digest-fetch@1.3.0: dependencies: base-64: 0.1.0 @@ -21831,7 +21933,7 @@ snapshots: dependencies: jake: 10.9.2 - electron-to-chromium@1.5.79: {} + electron-to-chromium@1.5.82: {} elliptic@6.5.4: dependencies: @@ -24080,13 +24182,13 @@ snapshots: dotenv: 16.4.7 dotenv-expand: 10.0.0 - lerna@8.1.9(@swc/core@1.10.6(@swc/helpers@0.5.5))(encoding@0.1.13): + lerna@8.1.9(@swc/core@1.10.7(@swc/helpers@0.5.5))(encoding@0.1.13): dependencies: - '@lerna/create': 8.1.9(@swc/core@1.10.6(@swc/helpers@0.5.5))(encoding@0.1.13)(typescript@5.7.3) + '@lerna/create': 8.1.9(@swc/core@1.10.7(@swc/helpers@0.5.5))(encoding@0.1.13)(typescript@5.7.3) '@npmcli/arborist': 7.5.4 '@npmcli/package-json': 5.2.0 '@npmcli/run-script': 8.1.0 - '@nx/devkit': 20.3.1(nx@20.3.1(@swc/core@1.10.6(@swc/helpers@0.5.5))) + '@nx/devkit': 20.3.1(nx@20.3.1(@swc/core@1.10.7(@swc/helpers@0.5.5))) '@octokit/plugin-enterprise-rest': 6.0.1 '@octokit/rest': 19.0.11(encoding@0.1.13) aproba: 2.0.0 @@ -24131,7 +24233,7 @@ snapshots: npm-package-arg: 11.0.2 npm-packlist: 8.0.2 npm-registry-fetch: 17.1.0 - nx: 20.3.1(@swc/core@1.10.6(@swc/helpers@0.5.5)) + nx: 20.3.1(@swc/core@1.10.7(@swc/helpers@0.5.5)) p-map: 4.0.0 p-map-series: 2.1.0 p-pipe: 3.1.0 @@ -24928,7 +25030,7 @@ snapshots: nwsapi@2.2.16: {} - nx@20.3.1(@swc/core@1.10.6(@swc/helpers@0.5.5)): + nx@20.3.1(@swc/core@1.10.7(@swc/helpers@0.5.5)): dependencies: '@napi-rs/wasm-runtime': 0.2.4 '@yarnpkg/lockfile': 1.1.0 @@ -24975,7 +25077,7 @@ snapshots: '@nx/nx-linux-x64-musl': 20.3.1 '@nx/nx-win32-arm64-msvc': 20.3.1 '@nx/nx-win32-x64-msvc': 20.3.1 - '@swc/core': 1.10.6(@swc/helpers@0.5.5) + '@swc/core': 1.10.7(@swc/helpers@0.5.5) transitivePeerDependencies: - debug @@ -25070,7 +25172,7 @@ snapshots: openai@4.77.0(encoding@0.1.13)(zod@3.24.1): dependencies: - '@types/node': 18.19.68 + '@types/node': 18.19.70 '@types/node-fetch': 2.6.12 abort-controller: 3.0.0 agentkeepalive: 4.5.0 @@ -25134,6 +25236,20 @@ snapshots: transitivePeerDependencies: - zod + ox@0.6.0(typescript@5.7.3)(zod@3.24.1): + dependencies: + '@adraffy/ens-normalize': 1.11.0 + '@noble/curves': 1.7.0 + '@noble/hashes': 1.6.1 + '@scure/bip32': 1.6.0 + '@scure/bip39': 1.5.0 + abitype: 1.0.7(typescript@5.7.3)(zod@3.24.1) + eventemitter3: 5.0.1 + optionalDependencies: + typescript: 5.7.3 + transitivePeerDependencies: + - zod + p-filter@2.1.0: dependencies: p-map: 2.1.0 @@ -25424,37 +25540,37 @@ snapshots: possible-typed-array-names@1.0.0: {} - postcss-import@15.1.0(postcss@8.4.49): + postcss-import@15.1.0(postcss@8.5.1): dependencies: - postcss: 8.4.49 + postcss: 8.5.1 postcss-value-parser: 4.2.0 read-cache: 1.0.0 resolve: 1.22.10 - postcss-js@4.0.1(postcss@8.4.49): + postcss-js@4.0.1(postcss@8.5.1): dependencies: camelcase-css: 2.0.1 - postcss: 8.4.49 + postcss: 8.5.1 - postcss-load-config@4.0.2(postcss@8.4.49): + postcss-load-config@4.0.2(postcss@8.5.1): dependencies: lilconfig: 3.1.3 yaml: 2.7.0 optionalDependencies: - postcss: 8.4.49 + postcss: 8.5.1 - postcss-load-config@6.0.1(jiti@2.4.2)(postcss@8.4.49)(tsx@4.19.2)(yaml@2.7.0): + postcss-load-config@6.0.1(jiti@2.4.2)(postcss@8.5.1)(tsx@4.19.2)(yaml@2.7.0): dependencies: lilconfig: 3.1.3 optionalDependencies: jiti: 2.4.2 - postcss: 8.4.49 + postcss: 8.5.1 tsx: 4.19.2 yaml: 2.7.0 - postcss-nested@6.2.0(postcss@8.4.49): + postcss-nested@6.2.0(postcss@8.5.1): dependencies: - postcss: 8.4.49 + postcss: 8.5.1 postcss-selector-parser: 6.1.2 postcss-selector-parser@6.1.2: @@ -25482,6 +25598,12 @@ snapshots: picocolors: 1.1.1 source-map-js: 1.2.1 + postcss@8.5.1: + dependencies: + nanoid: 3.3.8 + picocolors: 1.1.1 + source-map-js: 1.2.1 + potpack@1.0.2: {} prebuild-install@7.1.2: @@ -26676,14 +26798,14 @@ snapshots: dependencies: react: 18.3.1 - svelte-check@3.8.6(@babel/core@7.26.0)(postcss-load-config@4.0.2(postcss@8.4.49))(postcss@8.4.49)(svelte@4.2.19): + svelte-check@3.8.6(@babel/core@7.26.0)(postcss-load-config@4.0.2(postcss@8.5.1))(postcss@8.5.1)(svelte@4.2.19): dependencies: '@jridgewell/trace-mapping': 0.3.25 chokidar: 3.6.0 picocolors: 1.1.1 sade: 1.8.1 svelte: 4.2.19 - svelte-preprocess: 5.1.4(@babel/core@7.26.0)(postcss-load-config@4.0.2(postcss@8.4.49))(postcss@8.4.49)(svelte@4.2.19)(typescript@5.7.2) + svelte-preprocess: 5.1.4(@babel/core@7.26.0)(postcss-load-config@4.0.2(postcss@8.5.1))(postcss@8.5.1)(svelte@4.2.19)(typescript@5.7.2) typescript: 5.7.2 transitivePeerDependencies: - '@babel/core' @@ -26700,7 +26822,7 @@ snapshots: dependencies: svelte: 4.2.19 - svelte-preprocess@5.1.4(@babel/core@7.26.0)(postcss-load-config@4.0.2(postcss@8.4.49))(postcss@8.4.49)(svelte@4.2.19)(typescript@5.7.2): + svelte-preprocess@5.1.4(@babel/core@7.26.0)(postcss-load-config@4.0.2(postcss@8.5.1))(postcss@8.5.1)(svelte@4.2.19)(typescript@5.7.2): dependencies: '@types/pug': 2.0.10 detect-indent: 6.1.0 @@ -26710,8 +26832,8 @@ snapshots: svelte: 4.2.19 optionalDependencies: '@babel/core': 7.26.0 - postcss: 8.4.49 - postcss-load-config: 4.0.2(postcss@8.4.49) + postcss: 8.5.1 + postcss-load-config: 4.0.2(postcss@8.5.1) typescript: 5.7.2 svelte@4.2.19: @@ -26763,11 +26885,11 @@ snapshots: normalize-path: 3.0.0 object-hash: 3.0.0 picocolors: 1.1.1 - postcss: 8.4.49 - postcss-import: 15.1.0(postcss@8.4.49) - postcss-js: 4.0.1(postcss@8.4.49) - postcss-load-config: 4.0.2(postcss@8.4.49) - postcss-nested: 6.2.0(postcss@8.4.49) + postcss: 8.5.1 + postcss-import: 15.1.0(postcss@8.5.1) + postcss-js: 4.0.1(postcss@8.5.1) + postcss-load-config: 4.0.2(postcss@8.5.1) + postcss-nested: 6.2.0(postcss@8.5.1) postcss-selector-parser: 6.1.2 resolve: 1.22.10 sucrase: 3.35.0 @@ -26991,9 +27113,9 @@ snapshots: dependencies: typescript: 5.7.2 - ts-api-utils@2.0.0(typescript@5.7.2): + ts-api-utils@2.0.0(typescript@5.7.3): dependencies: - typescript: 5.7.2 + typescript: 5.7.3 ts-dedent@2.2.0: {} @@ -27026,7 +27148,7 @@ snapshots: tslib@2.8.1: {} - tsup@8.3.5(@swc/core@1.10.6(@swc/helpers@0.5.5))(jiti@2.4.2)(postcss@8.4.49)(tsx@4.19.2)(typescript@5.7.2)(yaml@2.7.0): + tsup@8.3.5(@swc/core@1.10.7(@swc/helpers@0.5.5))(jiti@2.4.2)(postcss@8.5.1)(tsx@4.19.2)(typescript@5.7.2)(yaml@2.7.0): dependencies: bundle-require: 5.1.0(esbuild@0.24.2) cac: 6.7.14 @@ -27036,7 +27158,7 @@ snapshots: esbuild: 0.24.2 joycon: 3.1.1 picocolors: 1.1.1 - postcss-load-config: 6.0.1(jiti@2.4.2)(postcss@8.4.49)(tsx@4.19.2)(yaml@2.7.0) + postcss-load-config: 6.0.1(jiti@2.4.2)(postcss@8.5.1)(tsx@4.19.2)(yaml@2.7.0) resolve-from: 5.0.0 rollup: 4.29.1 source-map: 0.8.0-beta.0 @@ -27045,8 +27167,8 @@ snapshots: tinyglobby: 0.2.10 tree-kill: 1.2.2 optionalDependencies: - '@swc/core': 1.10.6(@swc/helpers@0.5.5) - postcss: 8.4.49 + '@swc/core': 1.10.7(@swc/helpers@0.5.5) + postcss: 8.5.1 typescript: 5.7.2 transitivePeerDependencies: - jiti @@ -27054,7 +27176,7 @@ snapshots: - tsx - yaml - tsup@8.3.5(@swc/core@1.10.6(@swc/helpers@0.5.5))(jiti@2.4.2)(postcss@8.4.49)(tsx@4.19.2)(typescript@5.7.3)(yaml@2.7.0): + tsup@8.3.5(@swc/core@1.10.7(@swc/helpers@0.5.5))(jiti@2.4.2)(postcss@8.5.1)(tsx@4.19.2)(typescript@5.7.3)(yaml@2.7.0): dependencies: bundle-require: 5.1.0(esbuild@0.24.2) cac: 6.7.14 @@ -27064,7 +27186,7 @@ snapshots: esbuild: 0.24.2 joycon: 3.1.1 picocolors: 1.1.1 - postcss-load-config: 6.0.1(jiti@2.4.2)(postcss@8.4.49)(tsx@4.19.2)(yaml@2.7.0) + postcss-load-config: 6.0.1(jiti@2.4.2)(postcss@8.5.1)(tsx@4.19.2)(yaml@2.7.0) resolve-from: 5.0.0 rollup: 4.29.1 source-map: 0.8.0-beta.0 @@ -27073,8 +27195,8 @@ snapshots: tinyglobby: 0.2.10 tree-kill: 1.2.2 optionalDependencies: - '@swc/core': 1.10.6(@swc/helpers@0.5.5) - postcss: 8.4.49 + '@swc/core': 1.10.7(@swc/helpers@0.5.5) + postcss: 8.5.1 typescript: 5.7.3 transitivePeerDependencies: - jiti @@ -27379,10 +27501,6 @@ snapshots: dependencies: react: 18.3.1 - use-sync-external-store@1.2.2(react@19.0.0): - dependencies: - react: 19.0.0 - use-sync-external-store@1.4.0(react@18.3.1): dependencies: react: 18.3.1 @@ -27455,7 +27573,7 @@ snapshots: - utf-8-validate - zod - viem@2.22.4(typescript@5.7.2)(zod@3.24.1): + viem@2.22.8(typescript@5.7.2)(zod@3.24.1): dependencies: '@noble/curves': 1.7.0 '@noble/hashes': 1.6.1 @@ -27473,6 +27591,24 @@ snapshots: - utf-8-validate - zod + viem@2.22.8(typescript@5.7.3)(zod@3.24.1): + dependencies: + '@noble/curves': 1.7.0 + '@noble/hashes': 1.6.1 + '@scure/bip32': 1.6.0 + '@scure/bip39': 1.5.0 + abitype: 1.0.7(typescript@5.7.3)(zod@3.24.1) + isows: 1.0.6(ws@8.18.0) + ox: 0.6.0(typescript@5.7.3)(zod@3.24.1) + webauthn-p256: 0.0.10 + ws: 8.18.0 + optionalDependencies: + typescript: 5.7.3 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + - zod + viem@2.9.20(typescript@5.7.2)(zod@3.24.1): dependencies: '@adraffy/ens-normalize': 1.10.0 @@ -27508,13 +27644,13 @@ snapshots: - supports-color - terser - vite-node@1.6.0(@types/node@22.10.5)(terser@5.37.0): + vite-node@1.6.0(@types/node@22.10.6)(terser@5.37.0): dependencies: cac: 6.7.14 debug: 4.4.0 pathe: 1.1.2 picocolors: 1.1.1 - vite: 5.4.11(@types/node@22.10.5)(terser@5.37.0) + vite: 5.4.11(@types/node@22.10.6)(terser@5.37.0) transitivePeerDependencies: - '@types/node' - less @@ -27526,13 +27662,13 @@ snapshots: - supports-color - terser - vite-node@2.1.8(@types/node@22.10.5)(terser@5.37.0): + vite-node@2.1.8(@types/node@22.10.6)(terser@5.37.0): dependencies: cac: 6.7.14 debug: 4.4.0 es-module-lexer: 1.6.0 pathe: 1.1.2 - vite: 5.4.11(@types/node@22.10.5)(terser@5.37.0) + vite: 5.4.11(@types/node@22.10.6)(terser@5.37.0) transitivePeerDependencies: - '@types/node' - less @@ -27581,7 +27717,7 @@ snapshots: vite-plugin-top-level-await@1.4.4(@swc/helpers@0.5.5)(rollup@2.79.2)(vite@4.5.5(@types/node@20.17.10)(terser@5.37.0)): dependencies: '@rollup/plugin-virtual': 3.0.2(rollup@2.79.2) - '@swc/core': 1.10.6(@swc/helpers@0.5.5) + '@swc/core': 1.10.7(@swc/helpers@0.5.5) uuid: 10.0.0 vite: 4.5.5(@types/node@20.17.10)(terser@5.37.0) transitivePeerDependencies: @@ -27591,7 +27727,7 @@ snapshots: vite-plugin-top-level-await@1.4.4(@swc/helpers@0.5.5)(rollup@4.30.1)(vite@4.5.5(@types/node@20.17.10)(terser@5.37.0)): dependencies: '@rollup/plugin-virtual': 3.0.2(rollup@4.30.1) - '@swc/core': 1.10.6(@swc/helpers@0.5.5) + '@swc/core': 1.10.7(@swc/helpers@0.5.5) uuid: 10.0.0 vite: 4.5.5(@types/node@20.17.10)(terser@5.37.0) transitivePeerDependencies: @@ -27601,36 +27737,36 @@ snapshots: vite-plugin-top-level-await@1.4.4(@swc/helpers@0.5.5)(rollup@4.30.1)(vite@5.4.11(@types/node@20.17.10)(terser@5.37.0)): dependencies: '@rollup/plugin-virtual': 3.0.2(rollup@4.30.1) - '@swc/core': 1.10.6(@swc/helpers@0.5.5) + '@swc/core': 1.10.7(@swc/helpers@0.5.5) uuid: 10.0.0 vite: 5.4.11(@types/node@20.17.10)(terser@5.37.0) transitivePeerDependencies: - '@swc/helpers' - rollup - vite-plugin-top-level-await@1.4.4(@swc/helpers@0.5.5)(rollup@4.30.1)(vite@5.4.11(@types/node@22.10.5)(terser@5.37.0)): + vite-plugin-top-level-await@1.4.4(@swc/helpers@0.5.5)(rollup@4.30.1)(vite@5.4.11(@types/node@22.10.6)(terser@5.37.0)): dependencies: '@rollup/plugin-virtual': 3.0.2(rollup@4.30.1) - '@swc/core': 1.10.6(@swc/helpers@0.5.5) + '@swc/core': 1.10.7(@swc/helpers@0.5.5) uuid: 10.0.0 - vite: 5.4.11(@types/node@22.10.5)(terser@5.37.0) + vite: 5.4.11(@types/node@22.10.6)(terser@5.37.0) transitivePeerDependencies: - '@swc/helpers' - rollup - vite-plugin-top-level-await@1.4.4(@swc/helpers@0.5.5)(rollup@4.30.1)(vite@6.0.7(@types/node@22.10.5)(jiti@2.4.2)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)): + vite-plugin-top-level-await@1.4.4(@swc/helpers@0.5.5)(rollup@4.30.1)(vite@6.0.7(@types/node@22.10.6)(jiti@2.4.2)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)): dependencies: '@rollup/plugin-virtual': 3.0.2(rollup@4.30.1) - '@swc/core': 1.10.6(@swc/helpers@0.5.5) + '@swc/core': 1.10.7(@swc/helpers@0.5.5) uuid: 10.0.0 - vite: 6.0.7(@types/node@22.10.5)(jiti@2.4.2)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) + vite: 6.0.7(@types/node@22.10.6)(jiti@2.4.2)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) transitivePeerDependencies: - '@swc/helpers' - rollup - vite-plugin-wasm@3.4.1(vite@3.2.11(@types/node@22.10.5)(terser@5.37.0)): + vite-plugin-wasm@3.4.1(vite@3.2.11(@types/node@22.10.6)(terser@5.37.0)): dependencies: - vite: 3.2.11(@types/node@22.10.5)(terser@5.37.0) + vite: 3.2.11(@types/node@22.10.6)(terser@5.37.0) vite-plugin-wasm@3.4.1(vite@4.5.5(@types/node@20.17.10)(terser@5.37.0)): dependencies: @@ -27640,13 +27776,13 @@ snapshots: dependencies: vite: 5.4.11(@types/node@20.17.10)(terser@5.37.0) - vite-plugin-wasm@3.4.1(vite@5.4.11(@types/node@22.10.5)(terser@5.37.0)): + vite-plugin-wasm@3.4.1(vite@5.4.11(@types/node@22.10.6)(terser@5.37.0)): dependencies: - vite: 5.4.11(@types/node@22.10.5)(terser@5.37.0) + vite: 5.4.11(@types/node@22.10.6)(terser@5.37.0) - vite-plugin-wasm@3.4.1(vite@6.0.7(@types/node@22.10.5)(jiti@2.4.2)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)): + vite-plugin-wasm@3.4.1(vite@6.0.7(@types/node@22.10.6)(jiti@2.4.2)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)): dependencies: - vite: 6.0.7(@types/node@22.10.5)(jiti@2.4.2)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) + vite: 6.0.7(@types/node@22.10.6)(jiti@2.4.2)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) vite-preset-react@2.3.0(vite@5.4.11(@types/node@20.17.10)(terser@5.37.0)): dependencies: @@ -27655,14 +27791,14 @@ snapshots: transitivePeerDependencies: - supports-color - vite@3.2.11(@types/node@22.10.5)(terser@5.37.0): + vite@3.2.11(@types/node@22.10.6)(terser@5.37.0): dependencies: esbuild: 0.15.18 - postcss: 8.4.49 + postcss: 8.5.1 resolve: 1.22.10 rollup: 2.79.2 optionalDependencies: - '@types/node': 22.10.5 + '@types/node': 22.10.6 fsevents: 2.3.3 terser: 5.37.0 @@ -27679,7 +27815,7 @@ snapshots: vite@5.4.11(@types/node@18.19.68)(terser@5.37.0): dependencies: esbuild: 0.21.5 - postcss: 8.4.49 + postcss: 8.5.1 rollup: 4.29.1 optionalDependencies: '@types/node': 18.19.68 @@ -27689,39 +27825,39 @@ snapshots: vite@5.4.11(@types/node@20.17.10)(terser@5.37.0): dependencies: esbuild: 0.21.5 - postcss: 8.4.49 + postcss: 8.5.1 rollup: 4.29.1 optionalDependencies: '@types/node': 20.17.10 fsevents: 2.3.3 terser: 5.37.0 - vite@5.4.11(@types/node@22.10.5)(terser@5.37.0): + vite@5.4.11(@types/node@22.10.6)(terser@5.37.0): dependencies: esbuild: 0.21.5 - postcss: 8.4.49 + postcss: 8.5.1 rollup: 4.29.1 optionalDependencies: - '@types/node': 22.10.5 + '@types/node': 22.10.6 fsevents: 2.3.3 terser: 5.37.0 - vite@6.0.7(@types/node@22.10.5)(jiti@2.4.2)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0): + vite@6.0.7(@types/node@22.10.6)(jiti@2.4.2)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0): dependencies: esbuild: 0.24.2 - postcss: 8.4.49 + postcss: 8.5.1 rollup: 4.30.1 optionalDependencies: - '@types/node': 22.10.5 + '@types/node': 22.10.6 fsevents: 2.3.3 jiti: 2.4.2 terser: 5.37.0 tsx: 4.19.2 yaml: 2.7.0 - vitefu@0.2.5(vite@5.4.11(@types/node@22.10.5)(terser@5.37.0)): + vitefu@0.2.5(vite@5.4.11(@types/node@22.10.6)(terser@5.37.0)): optionalDependencies: - vite: 5.4.11(@types/node@22.10.5)(terser@5.37.0) + vite: 5.4.11(@types/node@22.10.6)(terser@5.37.0) vitest@1.6.0(@types/node@18.19.68)(jsdom@24.1.3)(terser@5.37.0): dependencies: @@ -27758,7 +27894,7 @@ snapshots: - supports-color - terser - vitest@1.6.0(@types/node@22.10.5)(jsdom@24.1.3)(terser@5.37.0): + vitest@1.6.0(@types/node@22.10.6)(jsdom@24.1.3)(terser@5.37.0): dependencies: '@vitest/expect': 1.6.0 '@vitest/runner': 1.6.0 @@ -27777,11 +27913,11 @@ snapshots: strip-literal: 2.1.1 tinybench: 2.9.0 tinypool: 0.8.4 - vite: 5.4.11(@types/node@22.10.5)(terser@5.37.0) - vite-node: 1.6.0(@types/node@22.10.5)(terser@5.37.0) + vite: 5.4.11(@types/node@22.10.6)(terser@5.37.0) + vite-node: 1.6.0(@types/node@22.10.6)(terser@5.37.0) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 22.10.5 + '@types/node': 22.10.6 jsdom: 24.1.3 transitivePeerDependencies: - less @@ -27793,10 +27929,10 @@ snapshots: - supports-color - terser - vitest@2.1.8(@types/node@22.10.5)(jsdom@24.1.3)(terser@5.37.0): + vitest@2.1.8(@types/node@22.10.6)(jsdom@24.1.3)(terser@5.37.0): dependencies: '@vitest/expect': 2.1.8 - '@vitest/mocker': 2.1.8(vite@5.4.11(@types/node@22.10.5)(terser@5.37.0)) + '@vitest/mocker': 2.1.8(vite@5.4.11(@types/node@22.10.6)(terser@5.37.0)) '@vitest/pretty-format': 2.1.8 '@vitest/runner': 2.1.8 '@vitest/snapshot': 2.1.8 @@ -27812,11 +27948,11 @@ snapshots: tinyexec: 0.3.1 tinypool: 1.0.2 tinyrainbow: 1.2.0 - vite: 5.4.11(@types/node@22.10.5)(terser@5.37.0) - vite-node: 2.1.8(@types/node@22.10.5)(terser@5.37.0) + vite: 5.4.11(@types/node@22.10.6)(terser@5.37.0) + vite-node: 2.1.8(@types/node@22.10.6)(terser@5.37.0) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 22.10.5 + '@types/node': 22.10.6 jsdom: 24.1.3 transitivePeerDependencies: - less @@ -28250,14 +28386,6 @@ snapshots: immer: 10.1.1 react: 18.3.1 - zustand@4.5.5(@types/react@19.0.3)(immer@10.1.1)(react@19.0.0): - dependencies: - use-sync-external-store: 1.2.2(react@19.0.0) - optionalDependencies: - '@types/react': 19.0.3 - immer: 10.1.1 - react: 19.0.0 - zustand@5.0.2(@types/react@18.3.18)(immer@10.1.1)(react@18.3.1)(use-sync-external-store@1.4.0(react@18.3.1)): optionalDependencies: '@types/react': 18.3.18 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index b60a0672..3d6a6ea6 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -7,3 +7,7 @@ catalog: get-starknet-core: ^4.0.0 "@starknet-react/core": ^3.6.2 "@starknet-react/chains": ^3.1.0 + "@types/react": ^18.3.1 + "@types/react-dom": ^18.3.1 + react: ^18.3.1 + react-dom: ^18.3.1