diff --git a/.changeset/dull-dodos-love.md b/.changeset/dull-dodos-love.md new file mode 100644 index 0000000000..b322550524 --- /dev/null +++ b/.changeset/dull-dodos-love.md @@ -0,0 +1,9 @@ +--- +"@latticexyz/cli": patch +"@latticexyz/faucet": patch +"@latticexyz/store-indexer": patch +"@latticexyz/store-sync": patch +"@latticexyz/world-modules": patch +--- + +Upgrade `zod` to `3.23.8` to avoid issues with [excessively deep type instantiations](https://github.com/colinhacks/zod/issues/577). diff --git a/e2e/packages/sync-test/package.json b/e2e/packages/sync-test/package.json index 71a17ea3a1..21a4c1db7c 100644 --- a/e2e/packages/sync-test/package.json +++ b/e2e/packages/sync-test/package.json @@ -34,6 +34,6 @@ "viem": "2.9.20", "vite": "^4.2.1", "vitest": "0.34.6", - "zod": "^3.22.2" + "zod": "3.23.8" } } diff --git a/e2e/pnpm-lock.yaml b/e2e/pnpm-lock.yaml index f69e72be81..c1de440a8e 100644 --- a/e2e/pnpm-lock.yaml +++ b/e2e/pnpm-lock.yaml @@ -67,7 +67,7 @@ importers: version: 1.7.0 viem: specifier: 2.9.20 - version: 2.9.20(typescript@5.4.2)(zod@3.22.2) + version: 2.9.20(typescript@5.4.2)(zod@3.23.8) devDependencies: rimraf: specifier: ^3.0.2 @@ -164,7 +164,7 @@ importers: version: 0.0.6 abitype: specifier: 1.0.0 - version: 1.0.0(typescript@5.4.2)(zod@3.22.2) + version: 1.0.0(typescript@5.4.2)(zod@3.23.8) chalk: specifier: ^5.2.0 version: 5.2.0 @@ -188,7 +188,7 @@ importers: version: 5.4.2 viem: specifier: 2.9.20 - version: 2.9.20(typescript@5.4.2)(zod@3.22.2) + version: 2.9.20(typescript@5.4.2)(zod@3.23.8) vite: specifier: ^4.2.1 version: 4.3.5(@types/node@20.1.3) @@ -196,8 +196,8 @@ importers: specifier: 0.34.6 version: 0.34.6(happy-dom@12.10.3) zod: - specifier: ^3.22.2 - version: 3.22.2 + specifier: 3.23.8 + version: 3.23.8 packages/test-data: devDependencies: @@ -227,7 +227,7 @@ importers: version: 5.4.2 viem: specifier: 2.9.20 - version: 2.9.20(typescript@5.4.2)(zod@3.22.2) + version: 2.9.20(typescript@5.4.2)(zod@3.23.8) packages: @@ -1306,8 +1306,8 @@ packages: resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} engines: {node: '>=12.20'} - zod@3.22.2: - resolution: {integrity: sha512-wvWkphh5WQsJbVk1tbx1l1Ly4yg+XecD+Mq280uBGt9wa5BKSWf4Mhp6GmrkPixhMxmabYY7RbzlwVP32pbGCg==} + zod@3.23.8: + resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} snapshots: @@ -1584,10 +1584,10 @@ snapshots: loupe: 2.3.6 pretty-format: 29.7.0 - abitype@1.0.0(typescript@5.4.2)(zod@3.22.2): + abitype@1.0.0(typescript@5.4.2)(zod@3.23.8): optionalDependencies: typescript: 5.4.2 - zod: 3.22.2 + zod: 3.23.8 abort-controller-x@0.4.1: {} @@ -2084,14 +2084,14 @@ snapshots: ufo@1.3.2: {} - viem@2.9.20(typescript@5.4.2)(zod@3.22.2): + viem@2.9.20(typescript@5.4.2)(zod@3.23.8): dependencies: '@adraffy/ens-normalize': 1.10.0 '@noble/curves': 1.2.0 '@noble/hashes': 1.3.2 '@scure/bip32': 1.3.2 '@scure/bip39': 1.2.1 - abitype: 1.0.0(typescript@5.4.2)(zod@3.22.2) + abitype: 1.0.0(typescript@5.4.2)(zod@3.23.8) isows: 1.0.3(ws@8.13.0) ws: 8.13.0 optionalDependencies: @@ -2206,4 +2206,4 @@ snapshots: yocto-queue@1.0.0: {} - zod@3.22.2: {} + zod@3.23.8: {} diff --git a/packages/cli/package.json b/packages/cli/package.json index 7a37a93596..5c37abeb09 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -68,7 +68,7 @@ "typescript": "5.4.2", "viem": "2.9.20", "yargs": "^17.7.1", - "zod": "^3.22.2", + "zod": "3.23.8", "zod-validation-error": "^1.3.0" }, "devDependencies": { diff --git a/packages/cli/src/deploy/ensureFunctions.ts b/packages/cli/src/deploy/ensureFunctions.ts index aaea68a512..3f29bd65ce 100644 --- a/packages/cli/src/deploy/ensureFunctions.ts +++ b/packages/cli/src/deploy/ensureFunctions.ts @@ -1,8 +1,8 @@ import { Client, Transport, Chain, Account, Hex } from "viem"; import { hexToResource, writeContract } from "@latticexyz/common"; +import { getFunctions } from "@latticexyz/world/internal"; import { WorldDeploy, WorldFunction, worldAbi } from "./common"; import { debug } from "./debug"; -import { getFunctions } from "./getFunctions"; import pRetry from "p-retry"; import { wait } from "@latticexyz/common/utils"; @@ -15,7 +15,12 @@ export async function ensureFunctions({ readonly worldDeploy: WorldDeploy; readonly functions: readonly WorldFunction[]; }): Promise { - const worldFunctions = await getFunctions({ client, worldDeploy }); + const worldFunctions = await getFunctions({ + client, + worldAddress: worldDeploy.address, + fromBlock: worldDeploy.deployBlock, + toBlock: worldDeploy.stateBlock, + }); const worldSelectorToFunction = Object.fromEntries(worldFunctions.map((func) => [func.selector, func])); const toSkip = functions.filter((func) => worldSelectorToFunction[func.selector]); diff --git a/packages/cli/src/deploy/getSystems.ts b/packages/cli/src/deploy/getSystems.ts index 70b88132d2..02455408b6 100644 --- a/packages/cli/src/deploy/getSystems.ts +++ b/packages/cli/src/deploy/getSystems.ts @@ -1,10 +1,10 @@ import { DeployedSystem, WorldDeploy } from "./common"; import { Client } from "viem"; -import { getResourceIds } from "./getResourceIds"; import { hexToResource, resourceToLabel } from "@latticexyz/common"; +import { getFunctions } from "@latticexyz/world/internal"; +import { getResourceIds } from "./getResourceIds"; import { getTableValue } from "./getTableValue"; import { debug } from "./debug"; -import { getFunctions } from "./getFunctions"; import { getResourceAccess } from "./getResourceAccess"; import worldConfig from "@latticexyz/world/mud.config"; @@ -17,7 +17,12 @@ export async function getSystems({ }): Promise { const [resourceIds, functions, resourceAccess] = await Promise.all([ getResourceIds({ client, worldDeploy }), - getFunctions({ client, worldDeploy }), + getFunctions({ + client, + worldAddress: worldDeploy.address, + fromBlock: worldDeploy.deployBlock, + toBlock: worldDeploy.stateBlock, + }), getResourceAccess({ client, worldDeploy }), ]); const systems = resourceIds.map(hexToResource).filter((resource) => resource.type === "system"); diff --git a/packages/faucet/package.json b/packages/faucet/package.json index 9971f0fc67..bd9e86d0fa 100644 --- a/packages/faucet/package.json +++ b/packages/faucet/package.json @@ -46,7 +46,7 @@ "dotenv": "^16.0.3", "fastify": "^4.21.0", "viem": "2.9.20", - "zod": "^3.22.2" + "zod": "3.23.8" }, "devDependencies": { "@types/debug": "^4.1.7", diff --git a/packages/store-indexer/package.json b/packages/store-indexer/package.json index d2cf1a82d6..08c6fe8546 100644 --- a/packages/store-indexer/package.json +++ b/packages/store-indexer/package.json @@ -73,7 +73,7 @@ "superjson": "^1.12.4", "trpc-koa-adapter": "^1.1.3", "viem": "2.9.20", - "zod": "^3.22.2" + "zod": "3.23.8" }, "devDependencies": { "@types/accepts": "^1.3.7", diff --git a/packages/store-sync/package.json b/packages/store-sync/package.json index 48d1ac2e98..878aa2306c 100644 --- a/packages/store-sync/package.json +++ b/packages/store-sync/package.json @@ -84,7 +84,7 @@ "sql.js": "^1.8.0", "superjson": "^1.12.4", "viem": "2.9.20", - "zod": "^3.22.2", + "zod": "3.23.8", "zustand": "^4.3.7" }, "devDependencies": { diff --git a/packages/world-modules/package.json b/packages/world-modules/package.json index 8ed932afdb..6f443939f6 100644 --- a/packages/world-modules/package.json +++ b/packages/world-modules/package.json @@ -47,7 +47,7 @@ "@latticexyz/schema-type": "workspace:*", "@latticexyz/store": "workspace:*", "@latticexyz/world": "workspace:*", - "zod": "^3.22.2" + "zod": "3.23.8" }, "devDependencies": { "@latticexyz/abi-ts": "workspace:*", diff --git a/packages/world/package.json b/packages/world/package.json index 13e4394152..7f8754b1ee 100644 --- a/packages/world/package.json +++ b/packages/world/package.json @@ -67,11 +67,13 @@ "@latticexyz/store": "workspace:*", "abitype": "1.0.0", "arktype": "catalog:", + "debug": "^4.3.4", "viem": "2.9.20" }, "devDependencies": { "@latticexyz/abi-ts": "workspace:*", "@latticexyz/gas-report": "workspace:*", + "@types/debug": "^4.1.7", "@types/ejs": "^3.1.1", "@types/mocha": "^9.1.1", "@types/node": "^18.15.11", diff --git a/packages/world/ts/common.ts b/packages/world/ts/common.ts new file mode 100644 index 0000000000..7769b1bc36 --- /dev/null +++ b/packages/world/ts/common.ts @@ -0,0 +1,9 @@ +import { Hex } from "viem"; + +export type WorldFunction = { + readonly signature: string; + readonly selector: Hex; + readonly systemId: Hex; + readonly systemFunctionSignature: string; + readonly systemFunctionSelector: Hex; +}; diff --git a/packages/world/ts/debug.ts b/packages/world/ts/debug.ts new file mode 100644 index 0000000000..7ae5bfce61 --- /dev/null +++ b/packages/world/ts/debug.ts @@ -0,0 +1,10 @@ +import createDebug from "debug"; + +export const debug = createDebug("mud:world"); +export const error = createDebug("mud:world"); + +// Pipe debug output to stdout instead of stderr +debug.log = console.debug.bind(console); + +// Pipe error output to stderr +error.log = console.error.bind(console); diff --git a/packages/world/ts/exports/internal.ts b/packages/world/ts/exports/internal.ts index 91e9a57d21..9899b7b47a 100644 --- a/packages/world/ts/exports/internal.ts +++ b/packages/world/ts/exports/internal.ts @@ -7,4 +7,7 @@ export * from "../actions/callFrom"; export * from "../callWithSignatureTypes"; +export * from "../getFunctions"; +export * from "../getWorldAbi"; + export { resolveTableId, resolveWithContext } from "../config/v2/dynamicResolution"; diff --git a/packages/world/ts/functionSignatureToAbiItem.ts b/packages/world/ts/functionSignatureToAbiItem.ts new file mode 100644 index 0000000000..e123aeecee --- /dev/null +++ b/packages/world/ts/functionSignatureToAbiItem.ts @@ -0,0 +1,6 @@ +import { AbiItem, parseAbiItem } from "viem"; + +export function functionSignatureToAbiItem(functionSignature: string): AbiItem { + const formattedSignature = `function ${functionSignature}`; + return parseAbiItem(formattedSignature); +} diff --git a/packages/cli/src/deploy/getFunctions.ts b/packages/world/ts/getFunctions.ts similarity index 79% rename from packages/cli/src/deploy/getFunctions.ts rename to packages/world/ts/getFunctions.ts index 19993a7cb1..34dc39363a 100644 --- a/packages/cli/src/deploy/getFunctions.ts +++ b/packages/world/ts/getFunctions.ts @@ -1,5 +1,5 @@ -import { Client, parseAbiItem } from "viem"; -import { WorldDeploy, WorldFunction } from "./common"; +import { Client, parseAbiItem, Address } from "viem"; +import { WorldFunction } from "./common"; import { debug } from "./debug"; import { storeSetRecordEvent } from "@latticexyz/store"; import { getLogs } from "viem/actions"; @@ -10,22 +10,26 @@ import { getSchemaTypes, getValueSchema, } from "@latticexyz/protocol-parser/internal"; -import worldConfig from "@latticexyz/world/mud.config"; +import worldConfig from "../mud.config"; export async function getFunctions({ client, - worldDeploy, + worldAddress, + fromBlock, + toBlock, }: { readonly client: Client; - readonly worldDeploy: WorldDeploy; + readonly worldAddress: Address; + readonly fromBlock: bigint; + readonly toBlock: bigint; }): Promise { // This assumes we only use `FunctionSelectors._set(...)`, which is true as of this writing. - debug("looking up function selectors for", worldDeploy.address); + debug("looking up function selectors for", worldAddress); const selectorLogs = await getLogs(client, { strict: true, - fromBlock: worldDeploy.deployBlock, - toBlock: worldDeploy.stateBlock, - address: worldDeploy.address, + fromBlock, + toBlock, + address: worldAddress, event: parseAbiItem(storeSetRecordEvent), args: { tableId: worldConfig.namespaces.world.tables.FunctionSelectors.tableId }, }); @@ -42,15 +46,15 @@ export async function getFunctions({ ), }; }); - debug("found", selectors.length, "function selectors for", worldDeploy.address); + debug("found", selectors.length, "function selectors for", worldAddress); // This assumes we only use `FunctionSignatures._set(...)`, which is true as of this writing. - debug("looking up function signatures for", worldDeploy.address); + debug("looking up function signatures for", worldAddress); const signatureLogs = await getLogs(client, { strict: true, - fromBlock: worldDeploy.deployBlock, - toBlock: worldDeploy.stateBlock, - address: worldDeploy.address, + fromBlock, + toBlock, + address: worldAddress, event: parseAbiItem(storeSetRecordEvent), args: { tableId: worldConfig.namespaces.world.tables.FunctionSignatures.tableId }, }); @@ -69,7 +73,7 @@ export async function getFunctions({ ]; }), ); - debug("found", signatureLogs.length, "function signatures for", worldDeploy.address); + debug("found", signatureLogs.length, "function signatures for", worldAddress); const functions = selectors.map(({ worldFunctionSelector, systemFunctionSelector, systemId }) => ({ selector: worldFunctionSelector, diff --git a/packages/world/ts/getWorldAbi.ts b/packages/world/ts/getWorldAbi.ts new file mode 100644 index 0000000000..8509782333 --- /dev/null +++ b/packages/world/ts/getWorldAbi.ts @@ -0,0 +1,27 @@ +import { Client, Abi, Address, getAddress } from "viem"; +import IBaseWorldAbi from "../out/IBaseWorld.sol/IBaseWorld.abi.json"; +import { functionSignatureToAbiItem } from "./functionSignatureToAbiItem"; +import { getFunctions } from "./getFunctions"; + +export async function getWorldAbi({ + client, + worldAddress, + fromBlock, + toBlock, +}: { + readonly client: Client; + readonly worldAddress: Address; + readonly fromBlock: bigint; + readonly toBlock: bigint; +}): Promise { + const worldFunctions = await getFunctions({ + client, + worldAddress: getAddress(worldAddress), + fromBlock, + toBlock, + }); + const worldFunctionsAbi = worldFunctions.map((func) => functionSignatureToAbiItem(func.signature)); + const abi = [...IBaseWorldAbi, ...worldFunctionsAbi]; + + return abi; +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3b44750626..dbe52e82ed 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -113,7 +113,7 @@ importers: version: link:../common abitype: specifier: 1.0.0 - version: 1.0.0(typescript@5.4.2)(zod@3.23.7) + version: 1.0.0(typescript@5.4.2)(zod@3.23.8) debug: specifier: ^4.3.4 version: 4.3.4 @@ -122,7 +122,7 @@ importers: version: 7.5.5 viem: specifier: 2.9.20 - version: 2.9.20(typescript@5.4.2)(zod@3.23.7) + version: 2.9.20(typescript@5.4.2)(zod@3.23.8) devDependencies: '@types/debug': specifier: ^4.1.7 @@ -168,7 +168,7 @@ importers: version: link:../world abitype: specifier: 1.0.0 - version: 1.0.0(typescript@5.4.2)(zod@3.23.7) + version: 1.0.0(typescript@5.4.2)(zod@3.23.8) asn1.js: specifier: ^5.4.1 version: 5.4.1 @@ -219,16 +219,16 @@ importers: version: 5.4.2 viem: specifier: 2.9.20 - version: 2.9.20(typescript@5.4.2)(zod@3.23.7) + version: 2.9.20(typescript@5.4.2)(zod@3.23.8) yargs: specifier: ^17.7.1 version: 17.7.1 zod: - specifier: ^3.22.2 - version: 3.23.7 + specifier: 3.23.8 + version: 3.23.8 zod-validation-error: specifier: ^1.3.0 - version: 1.3.0(zod@3.23.7) + version: 1.3.0(zod@3.23.8) devDependencies: '@types/debug': specifier: ^4.1.7 @@ -301,7 +301,7 @@ importers: version: 1.3.1(prettier@3.2.5) viem: specifier: 2.9.20 - version: 2.9.20(typescript@5.4.2)(zod@3.23.7) + version: 2.9.20(typescript@5.4.2)(zod@3.23.8) devDependencies: '@types/debug': specifier: ^4.1.7 @@ -338,7 +338,7 @@ importers: version: 6.3.0 viem: specifier: 2.9.20 - version: 2.9.20(typescript@5.4.2)(zod@3.23.7) + version: 2.9.20(typescript@5.4.2)(zod@3.23.8) devDependencies: tsup: specifier: ^6.7.0 @@ -403,7 +403,7 @@ importers: version: 18.3.2(react-dom@18.2.0(react@18.2.0))(react@18.2.0) viem: specifier: 2.9.20 - version: 2.9.20(typescript@5.4.2)(zod@3.23.7) + version: 2.9.20(typescript@5.4.2)(zod@3.23.8) zustand: specifier: ^4.3.7 version: 4.3.7(react@18.2.0) @@ -461,10 +461,10 @@ importers: version: 4.21.0 viem: specifier: 2.9.20 - version: 2.9.20(typescript@5.4.2)(zod@3.23.7) + version: 2.9.20(typescript@5.4.2)(zod@3.23.8) zod: - specifier: ^3.22.2 - version: 3.23.7 + specifier: 3.23.8 + version: 3.23.8 devDependencies: '@types/debug': specifier: ^4.1.7 @@ -538,10 +538,10 @@ importers: version: link:../schema-type abitype: specifier: 1.0.0 - version: 1.0.0(typescript@5.4.2)(zod@3.23.7) + version: 1.0.0(typescript@5.4.2)(zod@3.23.8) viem: specifier: 2.9.20 - version: 2.9.20(typescript@5.4.2)(zod@3.23.7) + version: 2.9.20(typescript@5.4.2)(zod@3.23.8) devDependencies: tsup: specifier: ^6.7.0 @@ -569,7 +569,7 @@ importers: version: link:../store viem: specifier: 2.9.20 - version: 2.9.20(typescript@5.4.2)(zod@3.23.7) + version: 2.9.20(typescript@5.4.2)(zod@3.23.8) devDependencies: tsup: specifier: ^6.7.0 @@ -668,10 +668,10 @@ importers: dependencies: abitype: specifier: 1.0.0 - version: 1.0.0(typescript@5.4.2)(zod@3.23.7) + version: 1.0.0(typescript@5.4.2)(zod@3.23.8) viem: specifier: 2.9.20 - version: 2.9.20(typescript@5.4.2)(zod@3.23.7) + version: 2.9.20(typescript@5.4.2)(zod@3.23.8) devDependencies: '@latticexyz/gas-report': specifier: workspace:* @@ -727,13 +727,13 @@ importers: version: link:../schema-type abitype: specifier: 1.0.0 - version: 1.0.0(typescript@5.4.2)(zod@3.23.7) + version: 1.0.0(typescript@5.4.2)(zod@3.23.8) arktype: specifier: 'catalog:' version: 2.0.0-beta.5 viem: specifier: 2.9.20 - version: 2.9.20(typescript@5.4.2)(zod@3.23.7) + version: 2.9.20(typescript@5.4.2)(zod@3.23.8) devDependencies: '@latticexyz/abi-ts': specifier: workspace:* @@ -845,10 +845,10 @@ importers: version: 1.1.3(@trpc/server@10.34.0)(koa@2.14.2) viem: specifier: 2.9.20 - version: 2.9.20(typescript@5.4.2)(zod@3.23.7) + version: 2.9.20(typescript@5.4.2)(zod@3.23.8) zod: - specifier: ^3.22.2 - version: 3.23.7 + specifier: 3.23.8 + version: 3.23.8 devDependencies: '@types/accepts': specifier: ^1.3.7 @@ -951,10 +951,10 @@ importers: version: 1.12.4 viem: specifier: 2.9.20 - version: 2.9.20(typescript@5.4.2)(zod@3.23.7) + version: 2.9.20(typescript@5.4.2)(zod@3.23.8) zod: - specifier: ^3.22.2 - version: 3.23.7 + specifier: 3.23.8 + version: 3.23.8 zustand: specifier: ^4.3.7 version: 4.3.7(react@18.2.0) @@ -1028,13 +1028,16 @@ importers: version: link:../store abitype: specifier: 1.0.0 - version: 1.0.0(typescript@5.4.2)(zod@3.23.7) + version: 1.0.0(typescript@5.4.2)(zod@3.23.8) arktype: specifier: 'catalog:' version: 2.0.0-beta.5 + debug: + specifier: ^4.3.4 + version: 4.3.4 viem: specifier: 2.9.20 - version: 2.9.20(typescript@5.4.2)(zod@3.23.7) + version: 2.9.20(typescript@5.4.2)(zod@3.23.8) devDependencies: '@latticexyz/abi-ts': specifier: workspace:* @@ -1042,6 +1045,9 @@ importers: '@latticexyz/gas-report': specifier: workspace:* version: link:../gas-report + '@types/debug': + specifier: ^4.1.7 + version: 4.1.7 '@types/ejs': specifier: ^3.1.1 version: 3.1.1 @@ -1094,8 +1100,8 @@ importers: specifier: workspace:* version: link:../world zod: - specifier: ^3.22.2 - version: 3.23.7 + specifier: 3.23.8 + version: 3.23.8 devDependencies: '@latticexyz/abi-ts': specifier: workspace:* @@ -1180,7 +1186,7 @@ importers: version: 4.16.2 viem: specifier: 2.9.20 - version: 2.9.20(typescript@5.4.2)(zod@3.23.7) + version: 2.9.20(typescript@5.4.2)(zod@3.23.8) vite: specifier: ^4.2.1 version: 4.3.6(@types/node@20.12.12) @@ -2764,6 +2770,7 @@ packages: abab@2.0.6: resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} + deprecated: Use your platform's native atob() and btoa() methods instead abbrev@1.1.1: resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} @@ -2925,6 +2932,7 @@ packages: are-we-there-yet@3.0.1: resolution: {integrity: sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + deprecated: This package is no longer supported. arg@5.0.2: resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} @@ -3493,6 +3501,7 @@ packages: domexception@4.0.0: resolution: {integrity: sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==} engines: {node: '>=12'} + deprecated: Use your platform's native DOMException instead dotenv@16.0.3: resolution: {integrity: sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==} @@ -4035,6 +4044,7 @@ packages: gauge@4.0.4: resolution: {integrity: sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + deprecated: This package is no longer supported. gensync@1.0.0-beta.2: resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} @@ -5122,6 +5132,7 @@ packages: npmlog@6.0.2: resolution: {integrity: sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + deprecated: This package is no longer supported. number-is-nan@1.0.1: resolution: {integrity: sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==} @@ -6737,8 +6748,8 @@ packages: peerDependencies: zod: ^3.18.0 - zod@3.23.7: - resolution: {integrity: sha512-NBeIoqbtOiUMomACV/y+V3Qfs9+Okr18vR5c/5pHClPpufWOrsx8TENboDPe265lFdfewX2yBtNTLPvnmCxwog==} + zod@3.23.8: + resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} zustand@4.3.7: resolution: {integrity: sha512-dY8ERwB9Nd21ellgkBZFhudER8KVlelZm8388B5nDAXhO/+FZDhYMuRnqDgu5SYyRgz/iaf8RKnbUs/cHfOGlQ==} @@ -8858,10 +8869,10 @@ snapshots: abind@1.0.5: {} - abitype@1.0.0(typescript@5.4.2)(zod@3.23.7): + abitype@1.0.0(typescript@5.4.2)(zod@3.23.8): optionalDependencies: typescript: 5.4.2 - zod: 3.23.7 + zod: 3.23.8 abort-controller@3.0.0: dependencies: @@ -13058,14 +13069,14 @@ snapshots: vary@1.1.2: {} - viem@2.9.20(typescript@5.4.2)(zod@3.23.7): + viem@2.9.20(typescript@5.4.2)(zod@3.23.8): dependencies: '@adraffy/ens-normalize': 1.10.0 '@noble/curves': 1.2.0 '@noble/hashes': 1.3.2 '@scure/bip32': 1.3.2 '@scure/bip39': 1.2.1 - abitype: 1.0.0(typescript@5.4.2)(zod@3.23.7) + abitype: 1.0.0(typescript@5.4.2)(zod@3.23.8) isows: 1.0.3(ws@8.13.0) ws: 8.13.0 optionalDependencies: @@ -13338,11 +13349,11 @@ snapshots: yocto-queue@1.0.0: {} - zod-validation-error@1.3.0(zod@3.23.7): + zod-validation-error@1.3.0(zod@3.23.8): dependencies: - zod: 3.23.7 + zod: 3.23.8 - zod@3.23.7: {} + zod@3.23.8: {} zustand@4.3.7(react@18.2.0): dependencies: