add unichain

This commit is contained in:
horsefacts 2025-03-05 09:49:56 -08:00 committed by lucas-neynar
parent db989d609d
commit c4f4135adb
No known key found for this signature in database
4 changed files with 180 additions and 164 deletions

View File

@ -10,10 +10,10 @@
}, },
"dependencies": { "dependencies": {
"@farcaster/auth-kit": "^0.6.0", "@farcaster/auth-kit": "^0.6.0",
"@farcaster/frame-core": "^0.0.22", "@farcaster/frame-core": "^0.0.29",
"@farcaster/frame-node": "^0.0.7", "@farcaster/frame-node": "^0.0.18",
"@farcaster/frame-sdk": "^0.0.26", "@farcaster/frame-sdk": "^0.0.31",
"@farcaster/frame-wagmi-connector": "^0.0.6", "@farcaster/frame-wagmi-connector": "^0.0.19",
"@radix-ui/react-label": "^2.1.1", "@radix-ui/react-label": "^2.1.1",
"@tanstack/react-query": "^5.61.0", "@tanstack/react-query": "^5.61.0",
"@upstash/redis": "^1.34.3", "@upstash/redis": "^1.34.3",
@ -27,8 +27,8 @@
"react-dom": "19.0.0-rc-66855b96-20241106", "react-dom": "19.0.0-rc-66855b96-20241106",
"tailwind-merge": "^2.6.0", "tailwind-merge": "^2.6.0",
"tailwindcss-animate": "^1.0.7", "tailwindcss-animate": "^1.0.7",
"viem": "^2.21.55", "viem": "^2.23.6",
"wagmi": "^2.14.3" "wagmi": "^2.14.12"
}, },
"devDependencies": { "devDependencies": {
"@types/node": "^20", "@types/node": "^20",

View File

@ -1,10 +1,10 @@
"use client"; "use client";
import { useEffect, useCallback, useState, useMemo } from "react"; import { useEffect, useCallback, useState, useMemo } from "react";
import { Input } from "../components/ui/input" import { Input } from "../components/ui/input";
import { signIn, signOut, getCsrfToken } from "next-auth/react"; import { signIn, signOut, getCsrfToken } from "next-auth/react";
import sdk, { import sdk, {
AddFrame, AddFrame,
FrameNotificationDetails, FrameNotificationDetails,
SignIn as SignInCore, SignIn as SignInCore,
type Context, type Context,
@ -24,13 +24,12 @@ import {
import { config } from "~/components/providers/WagmiProvider"; import { config } from "~/components/providers/WagmiProvider";
import { Button } from "~/components/ui/Button"; import { Button } from "~/components/ui/Button";
import { truncateAddress } from "~/lib/truncateAddress"; import { truncateAddress } from "~/lib/truncateAddress";
import { base, degen, mainnet, optimism } from "wagmi/chains"; import { base, degen, mainnet, optimism, unichain } from "wagmi/chains";
import { BaseError, UserRejectedRequestError } from "viem"; import { BaseError, UserRejectedRequestError } from "viem";
import { useSession } from "next-auth/react" import { useSession } from "next-auth/react";
import { createStore } from 'mipd' import { createStore } from "mipd";
import { Label } from "~/components/ui/label"; import { Label } from "~/components/ui/label";
export default function Demo( export default function Demo(
{ title }: { title?: string } = { title: "Frames v2 Demo" } { title }: { title?: string } = { title: "Frames v2 Demo" }
) { ) {
@ -91,6 +90,8 @@ export default function Demo(
return degen; return degen;
} else if (chainId === degen.id) { } else if (chainId === degen.id) {
return mainnet; return mainnet;
} else if (chainId === mainnet.id) {
return unichain;
} else { } else {
return base; return base;
} }
@ -98,7 +99,7 @@ export default function Demo(
const handleSwitchChain = useCallback(() => { const handleSwitchChain = useCallback(() => {
switchChain({ chainId: nextChain.id }); switchChain({ chainId: nextChain.id });
}, [switchChain, chainId]); }, [switchChain, nextChain.id]);
useEffect(() => { useEffect(() => {
const load = async () => { const load = async () => {
@ -143,15 +144,14 @@ export default function Demo(
console.log("Calling ready"); console.log("Calling ready");
sdk.actions.ready({}); sdk.actions.ready({});
// Set up a MIPD Store, and request Providers. // Set up a MIPD Store, and request Providers.
const store = createStore() const store = createStore();
// Subscribe to the MIPD Store.
store.subscribe(providerDetails => {
console.log("PROVIDER DETAILS", providerDetails)
// => [EIP6963ProviderDetail, EIP6963ProviderDetail, ...]
})
// Subscribe to the MIPD Store.
store.subscribe((providerDetails) => {
console.log("PROVIDER DETAILS", providerDetails);
// => [EIP6963ProviderDetail, EIP6963ProviderDetail, ...]
});
}; };
if (sdk && !isSDKLoaded) { if (sdk && !isSDKLoaded) {
console.log("Calling load"); console.log("Calling load");
@ -275,12 +275,14 @@ store.subscribe(providerDetails => {
} }
return ( return (
<div style={{ <div
paddingTop: context?.client.safeAreaInsets?.top ?? 0, style={{
paddingBottom: context?.client.safeAreaInsets?.bottom ?? 0, paddingTop: context?.client.safeAreaInsets?.top ?? 0,
paddingLeft: context?.client.safeAreaInsets?.left ?? 0, paddingBottom: context?.client.safeAreaInsets?.bottom ?? 0,
paddingRight: context?.client.safeAreaInsets?.right ?? 0 , paddingLeft: context?.client.safeAreaInsets?.left ?? 0,
}}> paddingRight: context?.client.safeAreaInsets?.right ?? 0,
}}
>
<div className="w-[300px] mx-auto py-2 px-2"> <div className="w-[300px] mx-auto py-2 px-2">
<h1 className="text-2xl font-bold text-center mb-4">{title}</h1> <h1 className="text-2xl font-bold text-center mb-4">{title}</h1>
@ -596,7 +598,7 @@ function SignIn() {
const [signingOut, setSigningOut] = useState(false); const [signingOut, setSigningOut] = useState(false);
const [signInResult, setSignInResult] = useState<SignInCore.SignInResult>(); const [signInResult, setSignInResult] = useState<SignInCore.SignInResult>();
const [signInFailure, setSignInFailure] = useState<string>(); const [signInFailure, setSignInFailure] = useState<string>();
const { data: session, status } = useSession() const { data: session, status } = useSession();
const getNonce = useCallback(async () => { const getNonce = useCallback(async () => {
const nonce = await getCsrfToken(); const nonce = await getCsrfToken();
@ -632,7 +634,7 @@ function SignIn() {
const handleSignOut = useCallback(async () => { const handleSignOut = useCallback(async () => {
try { try {
setSigningOut(true); setSigningOut(true);
await signOut({ redirect: false }) await signOut({ redirect: false });
setSignInResult(undefined); setSignInResult(undefined);
} finally { } finally {
setSigningOut(false); setSigningOut(false);
@ -641,28 +643,24 @@ function SignIn() {
return ( return (
<> <>
{status !== "authenticated" && {status !== "authenticated" && (
<Button <Button onClick={handleSignIn} disabled={signingIn}>
onClick={handleSignIn}
disabled={signingIn}
>
Sign In with Farcaster Sign In with Farcaster
</Button> </Button>
} )}
{status === "authenticated" && {status === "authenticated" && (
<Button <Button onClick={handleSignOut} disabled={signingOut}>
onClick={handleSignOut}
disabled={signingOut}
>
Sign out Sign out
</Button> </Button>
} )}
{session && {session && (
<div className="my-2 p-2 text-xs overflow-x-scroll bg-gray-100 rounded-lg font-mono"> <div className="my-2 p-2 text-xs overflow-x-scroll bg-gray-100 rounded-lg font-mono">
<div className="font-semibold text-gray-500 mb-1">Session</div> <div className="font-semibold text-gray-500 mb-1">Session</div>
<div className="whitespace-pre">{JSON.stringify(session, null, 2)}</div> <div className="whitespace-pre">
{JSON.stringify(session, null, 2)}
</div>
</div> </div>
} )}
{signInFailure && !signingIn && ( {signInFailure && !signingIn && (
<div className="my-2 p-2 text-xs overflow-x-scroll bg-gray-100 rounded-lg font-mono"> <div className="my-2 p-2 text-xs overflow-x-scroll bg-gray-100 rounded-lg font-mono">
<div className="font-semibold text-gray-500 mb-1">SIWF Result</div> <div className="font-semibold text-gray-500 mb-1">SIWF Result</div>
@ -672,7 +670,9 @@ function SignIn() {
{signInResult && !signingIn && ( {signInResult && !signingIn && (
<div className="my-2 p-2 text-xs overflow-x-scroll bg-gray-100 rounded-lg font-mono"> <div className="my-2 p-2 text-xs overflow-x-scroll bg-gray-100 rounded-lg font-mono">
<div className="font-semibold text-gray-500 mb-1">SIWF Result</div> <div className="font-semibold text-gray-500 mb-1">SIWF Result</div>
<div className="whitespace-pre">{JSON.stringify(signInResult, null, 2)}</div> <div className="whitespace-pre">
{JSON.stringify(signInResult, null, 2)}
</div>
</div> </div>
)} )}
</> </>
@ -680,26 +680,33 @@ function SignIn() {
} }
function ViewProfile() { function ViewProfile() {
const [fid, setFid] = useState('3'); const [fid, setFid] = useState("3");
return ( return (
<> <>
<div> <div>
<Label className="text-xs font-semibold text-gray-500 mb-1" htmlFor="view-profile-fid">Fid</Label> <Label
className="text-xs font-semibold text-gray-500 mb-1"
htmlFor="view-profile-fid"
>
Fid
</Label>
<Input <Input
id="view-profile-fid" id="view-profile-fid"
type="number" type="number"
value={fid} value={fid}
className="mb-2" className="mb-2"
onChange={(e) => { onChange={(e) => {
setFid(e.target.value) setFid(e.target.value);
}} }}
step="1" step="1"
min="1" min="1"
/> />
</div> </div>
<Button <Button
onClick={() => { sdk.actions.viewProfile({ fid: parseInt(fid) }) }} onClick={() => {
sdk.actions.viewProfile({ fid: parseInt(fid) });
}}
> >
View Profile View Profile
</Button> </Button>

View File

@ -1,15 +1,16 @@
import { createConfig, http, WagmiProvider } from "wagmi"; import { createConfig, http, WagmiProvider } from "wagmi";
import { base, degen, mainnet, optimism } from "wagmi/chains"; import { base, degen, mainnet, optimism, unichain } from "wagmi/chains";
import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
import { farcasterFrame } from "@farcaster/frame-wagmi-connector"; import { farcasterFrame } from "@farcaster/frame-wagmi-connector";
export const config = createConfig({ export const config = createConfig({
chains: [base, optimism, mainnet, degen], chains: [base, optimism, mainnet, degen, unichain],
transports: { transports: {
[base.id]: http(), [base.id]: http(),
[optimism.id]: http(), [optimism.id]: http(),
[mainnet.id]: http(), [mainnet.id]: http(),
[degen.id]: http(), [degen.id]: http(),
[unichain.id]: http(),
}, },
connectors: [farcasterFrame()], connectors: [farcasterFrame()],
}); });

230
yarn.lock
View File

@ -24,10 +24,10 @@
dependencies: dependencies:
regenerator-runtime "^0.14.0" regenerator-runtime "^0.14.0"
"@coinbase/wallet-sdk@4.2.3": "@coinbase/wallet-sdk@4.3.0":
version "4.2.3" version "4.3.0"
resolved "https://registry.yarnpkg.com/@coinbase/wallet-sdk/-/wallet-sdk-4.2.3.tgz#a30fa0605b24bc42c37f52a62d2442bcbb7734af" resolved "https://registry.yarnpkg.com/@coinbase/wallet-sdk/-/wallet-sdk-4.3.0.tgz#03b8fce92ac2b3b7cf132f64d6008ac081569b4e"
integrity sha512-BcyHZ/Ec84z0emORzqdXDv4P0oV+tV3a0OirfA8Ko1JGBIAVvB+hzLvZzCDvnuZx7MTK+Dd8Y9Tjlo446BpCIg== integrity sha512-T3+SNmiCw4HzDm4we9wCHCxlP0pqCiwKe4sOwPH3YAK2KSKjxPRydKu6UQJrdONFVLG7ujXvbd/6ZqmvJb8rkw==
dependencies: dependencies:
"@noble/hashes" "^1.4.0" "@noble/hashes" "^1.4.0"
clsx "^1.2.1" clsx "^1.2.1"
@ -134,52 +134,38 @@
qrcode "^1.5.3" qrcode "^1.5.3"
react-remove-scroll "^2.5.7" react-remove-scroll "^2.5.7"
"@farcaster/frame-core@0.0.24": "@farcaster/frame-core@0.0.29", "@farcaster/frame-core@^0.0.29":
version "0.0.24" version "0.0.29"
resolved "https://registry.yarnpkg.com/@farcaster/frame-core/-/frame-core-0.0.24.tgz#35c2403f561a74b6551e3032d6d57a730c3dc413" resolved "https://registry.yarnpkg.com/@farcaster/frame-core/-/frame-core-0.0.29.tgz#328907fafc238d24806ce0923ab82f179a5f390f"
integrity sha512-iO/Jxz6mZBVUoLIY753Id5Yhn6DHBakQkIBXf0mreAcnjPGCMvKx/0xKEM3ns3M801PqoX7VLYO4q+kKxYzQ0A== integrity sha512-+iQjOS4OE0YCeW7hhBOg0QK8Pch7/C3mlkfD0OLey0Thnj4Uab4tWmvmfKxnsJNSYnESx9BT+Sw/pn9cueCl1Q==
dependencies: dependencies:
ox "^0.4.4" ox "^0.4.4"
zod "^3.24.1" zod "^3.24.1"
"@farcaster/frame-core@^0.0.19": "@farcaster/frame-node@^0.0.18":
version "0.0.19" version "0.0.18"
resolved "https://registry.yarnpkg.com/@farcaster/frame-core/-/frame-core-0.0.19.tgz#76621fe6e207c3a5c78a22aa679bbbd7beafdd11" resolved "https://registry.yarnpkg.com/@farcaster/frame-node/-/frame-node-0.0.18.tgz#36ae17eb3ef586785d56ef1e8485be7adc634e41"
integrity sha512-/0XjVZa/rUuUR16GVhhKnAQI33SXI61bB24jNA1DD0L0ytcKsM14wBptW9CF4RDiYIXxtt4mXmnQ+rMhO38RcA== integrity sha512-MBx8NDQTs/RLK6oZ5s7SnonK98mqyOAm7iYk9WMrFCvNILSrhNX86GaL7mrU0CHw9tmHSMFcvzmGR0GSi4V4XQ==
dependencies:
ox "^0.4.0"
zod "^3.23.8"
"@farcaster/frame-core@^0.0.22":
version "0.0.22"
resolved "https://registry.yarnpkg.com/@farcaster/frame-core/-/frame-core-0.0.22.tgz#c5b91f3d7bb27b55873348b1b878472b3e5e5d5d"
integrity sha512-VervdgEXn3wfU+CLFsPMiLiOAXmXY4g+CPAcQ7g1771KW2SdfgLpOmHwvHvGRadfvvZxnPV84h1EwjooSvdsUA==
dependencies: dependencies:
"@farcaster/frame-core" "0.0.29"
"@noble/curves" "^1.7.0"
ox "^0.4.4" ox "^0.4.4"
zod "^3.24.1" zod "^3.24.1"
"@farcaster/frame-node@^0.0.7": "@farcaster/frame-sdk@^0.0.31":
version "0.0.7" version "0.0.31"
resolved "https://registry.yarnpkg.com/@farcaster/frame-node/-/frame-node-0.0.7.tgz#cebbafa2f7def65c0800bdcca47ce86096e4bb4c" resolved "https://registry.yarnpkg.com/@farcaster/frame-sdk/-/frame-sdk-0.0.31.tgz#e5e44c02f6bb2a8a5ae16827d3f8423bed5ed861"
integrity sha512-jhQI3p6gJGKm+3LknShQmC/oVRw8DHq/y2RI6PttFTTBK3OJhxbldLsqUAdIPicjUYUOnoW6tvT/3ToYPyyysA== integrity sha512-ZRFA4HyfE1PIcEi++27ulSqrArv2qdVeYww7juM90DYgvqyGLtX6cTZS0UEoRL7iog2U8Rv2aq1ORLbePCBZuA==
dependencies: dependencies:
"@farcaster/frame-core" "^0.0.19" "@farcaster/frame-core" "0.0.29"
ox "^0.4.0"
"@farcaster/frame-sdk@^0.0.26":
version "0.0.26"
resolved "https://registry.yarnpkg.com/@farcaster/frame-sdk/-/frame-sdk-0.0.26.tgz#2cf5c5e9e8ecdbdbc244e55f41129fc1caa9b88c"
integrity sha512-tOoJcJLXXezjmP0gg/MOU/mCjNdWyL+j99XMylYCovel1etDQjLovGamVex8A6eELryLZ4LElV9AIbxP/i9IfA==
dependencies:
"@farcaster/frame-core" "0.0.24"
comlink "^4.4.2" comlink "^4.4.2"
eventemitter3 "^5.0.1" eventemitter3 "^5.0.1"
ox "^0.4.4" ox "^0.4.4"
"@farcaster/frame-wagmi-connector@^0.0.6": "@farcaster/frame-wagmi-connector@^0.0.19":
version "0.0.6" version "0.0.19"
resolved "https://registry.yarnpkg.com/@farcaster/frame-wagmi-connector/-/frame-wagmi-connector-0.0.6.tgz#a67cec6cfcbaa8e15de70ce3d0f2a5c01cc07638" resolved "https://registry.yarnpkg.com/@farcaster/frame-wagmi-connector/-/frame-wagmi-connector-0.0.19.tgz#e39be5ab32f63c32aee37e116e4db57898ab2db1"
integrity sha512-5Ta8vDs6cJygvg9cs20E29bJZcLWPQRSaUyHuLt+biA1YHbRkzRNr/tDmBd1DV/Y59OXIaNdyBxXb6NNX7wung== integrity sha512-Ey9lEEk4SudkOiTtqY2eMGVTFZwW1lLMEtnAYqb7dCc/mDQowj3GfxNW9a2bdPoq5UEwAwJxxLiVvdERI+Hy3A==
"@humanwhocodes/config-array@^0.13.0": "@humanwhocodes/config-array@^0.13.0":
version "0.13.0" version "0.13.0"
@ -457,10 +443,10 @@
resolved "https://registry.yarnpkg.com/@metamask/safe-event-emitter/-/safe-event-emitter-3.1.2.tgz#bfac8c7a1a149b5bbfe98f59fbfea512dfa3bad4" resolved "https://registry.yarnpkg.com/@metamask/safe-event-emitter/-/safe-event-emitter-3.1.2.tgz#bfac8c7a1a149b5bbfe98f59fbfea512dfa3bad4"
integrity sha512-5yb2gMI1BDm0JybZezeoX/3XhPDOtTbcFvpTXM9kxsoZjPZFh4XciqRbpD6N86HYZqWDhEaKUDuOyR0sQHEjMA== integrity sha512-5yb2gMI1BDm0JybZezeoX/3XhPDOtTbcFvpTXM9kxsoZjPZFh4XciqRbpD6N86HYZqWDhEaKUDuOyR0sQHEjMA==
"@metamask/sdk-communication-layer@0.31.0": "@metamask/sdk-communication-layer@0.32.0":
version "0.31.0" version "0.32.0"
resolved "https://registry.yarnpkg.com/@metamask/sdk-communication-layer/-/sdk-communication-layer-0.31.0.tgz#0acc063b62aa09d044c7aab65801712d760e53b2" resolved "https://registry.yarnpkg.com/@metamask/sdk-communication-layer/-/sdk-communication-layer-0.32.0.tgz#89710e807806836138ea5018b087731d6acab627"
integrity sha512-V9CxdzabDPjQVgmKGHsyU3SYt4Af27g+4DbGCx0fLoHqN/i1RBDZqs/LYbJX3ykJCANzE+llz/MolMCMrzM2RA== integrity sha512-dmj/KFjMi1fsdZGIOtbhxdg3amxhKL/A5BqSU4uh/SyDKPub/OT+x5pX8bGjpTL1WPWY/Q0OIlvFyX3VWnT06Q==
dependencies: dependencies:
bufferutil "^4.0.8" bufferutil "^4.0.8"
date-fns "^2.29.3" date-fns "^2.29.3"
@ -468,23 +454,23 @@
utf-8-validate "^5.0.2" utf-8-validate "^5.0.2"
uuid "^8.3.2" uuid "^8.3.2"
"@metamask/sdk-install-modal-web@0.31.2": "@metamask/sdk-install-modal-web@0.32.0":
version "0.31.2" version "0.32.0"
resolved "https://registry.yarnpkg.com/@metamask/sdk-install-modal-web/-/sdk-install-modal-web-0.31.2.tgz#bb8c92a6844a632be8525e7bb5a35924a926d6cd" resolved "https://registry.yarnpkg.com/@metamask/sdk-install-modal-web/-/sdk-install-modal-web-0.32.0.tgz#86f80420ca364fa0d7710016fa5c81f95537ab23"
integrity sha512-KPv36kQjmTwErU8g2neuHHSgkD5+1hp4D6ERfk5Kc2r73aOYNCdG9wDGRUmFmcY2MKkeK1EuDyZfJ4FPU30fxQ== integrity sha512-TFoktj0JgfWnQaL3yFkApqNwcaqJ+dw4xcnrJueMP3aXkSNev2Ido+WVNOg4IIMxnmOrfAC9t0UJ0u/dC9MjOQ==
dependencies: dependencies:
"@paulmillr/qr" "^0.2.1" "@paulmillr/qr" "^0.2.1"
"@metamask/sdk@0.31.2": "@metamask/sdk@0.32.0":
version "0.31.2" version "0.32.0"
resolved "https://registry.yarnpkg.com/@metamask/sdk/-/sdk-0.31.2.tgz#2ec1c1c7cf6a444e65104862e83814a493047d72" resolved "https://registry.yarnpkg.com/@metamask/sdk/-/sdk-0.32.0.tgz#f0e179746fe69dccd032a9026884b45b519c1975"
integrity sha512-6MWON2g1j7XwAHWam4trusGxeyhQweNLEHPsfuIxSwcsXoEm08Jj80OglJxQI4KwjcDnjSWBkQGG3mmK6ug/cA== integrity sha512-WmGAlP1oBuD9hk4CsdlG1WJFuPtYJY+dnTHJMeCyohTWD2GgkcLMUUuvu9lO1/NVzuOoSi1OrnjbuY1O/1NZ1g==
dependencies: dependencies:
"@babel/runtime" "^7.26.0" "@babel/runtime" "^7.26.0"
"@metamask/onboarding" "^1.0.1" "@metamask/onboarding" "^1.0.1"
"@metamask/providers" "16.1.0" "@metamask/providers" "16.1.0"
"@metamask/sdk-communication-layer" "0.31.0" "@metamask/sdk-communication-layer" "0.32.0"
"@metamask/sdk-install-modal-web" "0.31.2" "@metamask/sdk-install-modal-web" "0.32.0"
"@paulmillr/qr" "^0.2.1" "@paulmillr/qr" "^0.2.1"
bowser "^2.9.0" bowser "^2.9.0"
cross-fetch "^4.0.0" cross-fetch "^4.0.0"
@ -693,7 +679,14 @@
dependencies: dependencies:
"@noble/hashes" "1.5.0" "@noble/hashes" "1.5.0"
"@noble/curves@1.7.0", "@noble/curves@^1.4.0", "@noble/curves@^1.6.0", "@noble/curves@~1.7.0": "@noble/curves@1.8.1", "@noble/curves@^1.7.0", "@noble/curves@~1.8.1":
version "1.8.1"
resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.8.1.tgz#19bc3970e205c99e4bdb1c64a4785706bce497ff"
integrity sha512-warwspo+UYUPep0Q+vtdVB4Ugn8GGQj8iyB3gnRWsztmUHTI3S1nhdiWNsPUGL0vud7JlRRk1XEu7Lq1KGTnMQ==
dependencies:
"@noble/hashes" "1.7.1"
"@noble/curves@^1.4.0", "@noble/curves@^1.6.0", "@noble/curves@~1.7.0":
version "1.7.0" version "1.7.0"
resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.7.0.tgz#0512360622439256df892f21d25b388f52505e45" resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.7.0.tgz#0512360622439256df892f21d25b388f52505e45"
integrity sha512-UTMhXK9SeDhFJVrHeUJ5uZlI6ajXg10O6Ddocf9S6GjbSBVZsJo88HzKwXznNfGpMTRDyJkqMjNDPYgf0qFWnw== integrity sha512-UTMhXK9SeDhFJVrHeUJ5uZlI6ajXg10O6Ddocf9S6GjbSBVZsJo88HzKwXznNfGpMTRDyJkqMjNDPYgf0qFWnw==
@ -720,7 +713,12 @@
resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.6.0.tgz#d4bfb516ad6e7b5111c216a5cc7075f4cf19e6c5" resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.6.0.tgz#d4bfb516ad6e7b5111c216a5cc7075f4cf19e6c5"
integrity sha512-YUULf0Uk4/mAA89w+k3+yUYh6NrEvxZa5T6SY3wlMvE2chHkxFUUIDI8/XW1QSC357iA5pSnqt7XEhvFOqmDyQ== integrity sha512-YUULf0Uk4/mAA89w+k3+yUYh6NrEvxZa5T6SY3wlMvE2chHkxFUUIDI8/XW1QSC357iA5pSnqt7XEhvFOqmDyQ==
"@noble/hashes@1.6.1", "@noble/hashes@^1.1.2", "@noble/hashes@^1.5.0", "@noble/hashes@~1.6.0": "@noble/hashes@1.7.1", "@noble/hashes@~1.7.1":
version "1.7.1"
resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.7.1.tgz#5738f6d765710921e7a751e00c20ae091ed8db0f"
integrity sha512-B8XBPsn4vT/KJAGqDzbwztd+6Yte3P4V7iafm24bxgDe/mlRuK6xmWPuCNrKt2vDafZ8MfJLlchDG/vYafQEjQ==
"@noble/hashes@^1.1.2", "@noble/hashes@^1.5.0", "@noble/hashes@~1.6.0":
version "1.6.1" version "1.6.1"
resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.6.1.tgz#df6e5943edcea504bac61395926d6fd67869a0d5" resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.6.1.tgz#df6e5943edcea504bac61395926d6fd67869a0d5"
integrity sha512-pq5D8h10hHBjyqX+cfBm0i8JUXJ0UhczFc4r74zbuT9XgewFo2E3J1cOaGtdZynILNmQ685YWGzGE1Zv6io50w== integrity sha512-pq5D8h10hHBjyqX+cfBm0i8JUXJ0UhczFc4r74zbuT9XgewFo2E3J1cOaGtdZynILNmQ685YWGzGE1Zv6io50w==
@ -931,6 +929,11 @@
resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.1.9.tgz#e5e142fbbfe251091f9c5f1dd4c834ac04c3dbd1" resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.1.9.tgz#e5e142fbbfe251091f9c5f1dd4c834ac04c3dbd1"
integrity sha512-8YKhl8GHiNI/pU2VMaofa2Tor7PJRAjwQLBBuilkJ9L5+13yVbC7JO/wS7piioAvPSwR3JKM1IJ/u4xQzbcXKg== integrity sha512-8YKhl8GHiNI/pU2VMaofa2Tor7PJRAjwQLBBuilkJ9L5+13yVbC7JO/wS7piioAvPSwR3JKM1IJ/u4xQzbcXKg==
"@scure/base@~1.2.2", "@scure/base@~1.2.4":
version "1.2.4"
resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.2.4.tgz#002eb571a35d69bdb4c214d0995dff76a8dcd2a9"
integrity sha512-5Yy9czTO47mqz+/J8GM6GIId4umdCk1wc1q8rKERQulIoc8VP9pzDcghv10Tl2E7R96ZUx/PhND3ESYUQX8NuQ==
"@scure/bip32@1.4.0": "@scure/bip32@1.4.0":
version "1.4.0" version "1.4.0"
resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.4.0.tgz#4e1f1e196abedcef395b33b9674a042524e20d67" resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.4.0.tgz#4e1f1e196abedcef395b33b9674a042524e20d67"
@ -949,7 +952,16 @@
"@noble/hashes" "~1.5.0" "@noble/hashes" "~1.5.0"
"@scure/base" "~1.1.7" "@scure/base" "~1.1.7"
"@scure/bip32@1.6.0", "@scure/bip32@^1.5.0": "@scure/bip32@1.6.2":
version "1.6.2"
resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.6.2.tgz#093caa94961619927659ed0e711a6e4bf35bffd0"
integrity sha512-t96EPDMbtGgtb7onKKqxRLfE5g05k7uHnHRM2xdE6BP/ZmxaLtPek4J4KfVn/90IQNrU1IOAqMgiDtUdtbe3nw==
dependencies:
"@noble/curves" "~1.8.1"
"@noble/hashes" "~1.7.1"
"@scure/base" "~1.2.2"
"@scure/bip32@^1.5.0":
version "1.6.0" version "1.6.0"
resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.6.0.tgz#6dbc6b4af7c9101b351f41231a879d8da47e0891" resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.6.0.tgz#6dbc6b4af7c9101b351f41231a879d8da47e0891"
integrity sha512-82q1QfklrUUdXJzjuRU7iG7D7XiFx5PHYVS0+oeNKhyDLT7WPqs6pBcM2W5ZdwOwKCwoE1Vy1se+DHjcXwCYnA== integrity sha512-82q1QfklrUUdXJzjuRU7iG7D7XiFx5PHYVS0+oeNKhyDLT7WPqs6pBcM2W5ZdwOwKCwoE1Vy1se+DHjcXwCYnA==
@ -974,7 +986,15 @@
"@noble/hashes" "~1.5.0" "@noble/hashes" "~1.5.0"
"@scure/base" "~1.1.8" "@scure/base" "~1.1.8"
"@scure/bip39@1.5.0", "@scure/bip39@^1.4.0": "@scure/bip39@1.5.4":
version "1.5.4"
resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.5.4.tgz#07fd920423aa671be4540d59bdd344cc1461db51"
integrity sha512-TFM4ni0vKvCfBpohoh+/lY05i9gRbSwXWngAsF4CABQxoaOHijxuaZ2R6cStDQ5CHtHO9aGJTr4ksVJASRRyMA==
dependencies:
"@noble/hashes" "~1.7.1"
"@scure/base" "~1.2.4"
"@scure/bip39@^1.4.0":
version "1.5.0" version "1.5.0"
resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.5.0.tgz#c8f9533dbd787641b047984356531d84485f19be" resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.5.0.tgz#c8f9533dbd787641b047984356531d84485f19be"
integrity sha512-Dop+ASYhnrwm9+HA/HwXg7j2ZqM6yk2fyLWb5znexjctFY3+E+eU8cIWI0Pql0Qx4hPZCijlGq4OL71g+Uz30A== integrity sha512-Dop+ASYhnrwm9+HA/HwXg7j2ZqM6yk2fyLWb5znexjctFY3+E+eU8cIWI0Pql0Qx4hPZCijlGq4OL71g+Uz30A==
@ -1327,22 +1347,22 @@
resolved "https://registry.yarnpkg.com/@vanilla-extract/private/-/private-1.0.6.tgz#f10bbf3189f7b827d0bd7f804a6219dd03ddbdd4" resolved "https://registry.yarnpkg.com/@vanilla-extract/private/-/private-1.0.6.tgz#f10bbf3189f7b827d0bd7f804a6219dd03ddbdd4"
integrity sha512-ytsG/JLweEjw7DBuZ/0JCN4WAQgM9erfSTdS1NQY778hFQSZ6cfCDEZZ0sgVm4k54uNz6ImKB33AYvSR//fjxw== integrity sha512-ytsG/JLweEjw7DBuZ/0JCN4WAQgM9erfSTdS1NQY778hFQSZ6cfCDEZZ0sgVm4k54uNz6ImKB33AYvSR//fjxw==
"@wagmi/connectors@5.7.0": "@wagmi/connectors@5.7.8":
version "5.7.0" version "5.7.8"
resolved "https://registry.yarnpkg.com/@wagmi/connectors/-/connectors-5.7.0.tgz#a5e6c5403009b37f912210fc5d96727b4caa6a2b" resolved "https://registry.yarnpkg.com/@wagmi/connectors/-/connectors-5.7.8.tgz#a6886a3a0598da7fe6b0fc20ed7944717a6700fc"
integrity sha512-cPMmHBGw28fll7VQJC9iF6ngdQ17STTzspqRIjlTkz44zhjwMTf7shw+JJUmqw+0uK7DqRbf/xUHlZE2IVd2mg== integrity sha512-idLCc+GQ/GcGgxakEMC7/NSbpD6r1GB07lfDyEjvI5TMzl18pOZhKiqOTENzNi3hDas6ZMvS1xaGwrWufsb1rA==
dependencies: dependencies:
"@coinbase/wallet-sdk" "4.2.3" "@coinbase/wallet-sdk" "4.3.0"
"@metamask/sdk" "0.31.2" "@metamask/sdk" "0.32.0"
"@safe-global/safe-apps-provider" "0.18.5" "@safe-global/safe-apps-provider" "0.18.5"
"@safe-global/safe-apps-sdk" "9.1.0" "@safe-global/safe-apps-sdk" "9.1.0"
"@walletconnect/ethereum-provider" "2.17.0" "@walletconnect/ethereum-provider" "2.17.0"
cbw-sdk "npm:@coinbase/wallet-sdk@3.9.3" cbw-sdk "npm:@coinbase/wallet-sdk@3.9.3"
"@wagmi/core@2.16.0": "@wagmi/core@2.16.5":
version "2.16.0" version "2.16.5"
resolved "https://registry.yarnpkg.com/@wagmi/core/-/core-2.16.0.tgz#b997b2544cd80b4aac4df25ccb2436bf77f9fbe1" resolved "https://registry.yarnpkg.com/@wagmi/core/-/core-2.16.5.tgz#ae451daba4d84402f4ddf7b1279efeab46f3567f"
integrity sha512-sy4n7Jv6YCbT2jp4zQ/9H6l0A8StsN7P8mm2BRuODgW2w6Fj4j6h2xgYJD2tIjJHkLU/nvPJ7audZ55X7XQU/g== integrity sha512-7WlsxIvcS2WXO/8KnIkutCfY6HACsPsEuZHoYGu2TbwM7wlJv2HmR9zSvmyeEDsTBDPva/tuFbmJo4HJ9llkWA==
dependencies: dependencies:
eventemitter3 "5.0.1" eventemitter3 "5.0.1"
mipd "0.0.7" mipd "0.0.7"
@ -1615,7 +1635,12 @@ abitype@1.0.6:
resolved "https://registry.yarnpkg.com/abitype/-/abitype-1.0.6.tgz#76410903e1d88e34f1362746e2d407513c38565b" resolved "https://registry.yarnpkg.com/abitype/-/abitype-1.0.6.tgz#76410903e1d88e34f1362746e2d407513c38565b"
integrity sha512-MMSqYh4+C/aVqI2RQaWqbvI4Kxo5cQV40WQ4QFtDnNzCkqChm8MuENhElmynZlO0qUy/ObkEUaXtKqYnx1Kp3A== integrity sha512-MMSqYh4+C/aVqI2RQaWqbvI4Kxo5cQV40WQ4QFtDnNzCkqChm8MuENhElmynZlO0qUy/ObkEUaXtKqYnx1Kp3A==
abitype@1.0.7, abitype@^1.0.6: abitype@1.0.8:
version "1.0.8"
resolved "https://registry.yarnpkg.com/abitype/-/abitype-1.0.8.tgz#3554f28b2e9d6e9f35eb59878193eabd1b9f46ba"
integrity sha512-ZeiI6h3GnW06uYDLx0etQtX/p8E24UaHHBj57RSjK7YBFe7iuVn07EDpOeP451D06sF27VOz9JJPlIKJmXgkEg==
abitype@^1.0.6:
version "1.0.7" version "1.0.7"
resolved "https://registry.yarnpkg.com/abitype/-/abitype-1.0.7.tgz#876a0005d211e1c9132825d45bcee7b46416b284" resolved "https://registry.yarnpkg.com/abitype/-/abitype-1.0.7.tgz#876a0005d211e1c9132825d45bcee7b46416b284"
integrity sha512-ZfYYSktDQUwc2eduYu8C4wOs+RDPmnRYMh7zNfzeMtGGgb0U+6tLGjixUic6mXf5xKKCcgT5Qp6cv39tOARVFw== integrity sha512-ZfYYSktDQUwc2eduYu8C4wOs+RDPmnRYMh7zNfzeMtGGgb0U+6tLGjixUic6mXf5xKKCcgT5Qp6cv39tOARVFw==
@ -4131,10 +4156,10 @@ ox@0.1.2:
abitype "^1.0.6" abitype "^1.0.6"
eventemitter3 "5.0.1" eventemitter3 "5.0.1"
ox@^0.4.0: ox@0.6.7:
version "0.4.1" version "0.6.7"
resolved "https://registry.yarnpkg.com/ox/-/ox-0.4.1.tgz#e646e1956b6fba73208d1f19045092c3ad1a6b79" resolved "https://registry.yarnpkg.com/ox/-/ox-0.6.7.tgz#afd53f2ecef68b8526660e9d29dee6e6b599a832"
integrity sha512-N6W5Y9j6d7SjW/5lvQfgGNVYqW0oEb70yP9stkNqYICbxqiQvKJgiVYxn2n+yt+PedgcspFd+EtAAk14P4Impg== integrity sha512-17Gk/eFsFRAZ80p5eKqv89a57uXjd3NgIf1CaXojATPBuujVc/fQSVhBeAU9JCRB+k7J50WQAyWTxK19T9GgbA==
dependencies: dependencies:
"@adraffy/ens-normalize" "^1.10.1" "@adraffy/ens-normalize" "^1.10.1"
"@noble/curves" "^1.6.0" "@noble/curves" "^1.6.0"
@ -4910,16 +4935,7 @@ strict-uri-encode@^2.0.0:
resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546" resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546"
integrity sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ== integrity sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==
"string-width-cjs@npm:string-width@^4.2.0": "string-width-cjs@npm:string-width@^4.2.0", string-width@^4.1.0, string-width@^4.2.0:
version "4.2.3"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
dependencies:
emoji-regex "^8.0.0"
is-fullwidth-code-point "^3.0.0"
strip-ansi "^6.0.1"
string-width@^4.1.0, string-width@^4.2.0:
version "4.2.3" version "4.2.3"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
@ -5014,14 +5030,7 @@ string_decoder@~1.1.1:
dependencies: dependencies:
safe-buffer "~5.1.0" safe-buffer "~5.1.0"
"strip-ansi-cjs@npm:strip-ansi@^6.0.1": "strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1:
version "6.0.1"
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
dependencies:
ansi-regex "^5.0.1"
strip-ansi@^6.0.0, strip-ansi@^6.0.1:
version "6.0.1" version "6.0.1"
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
@ -5377,6 +5386,11 @@ use-sync-external-store@1.2.0:
resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz#7dbefd6ef3fe4e767a0cf5d7287aacfb5846928a" resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz#7dbefd6ef3fe4e767a0cf5d7287aacfb5846928a"
integrity sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA== integrity sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==
use-sync-external-store@1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.4.0.tgz#adbc795d8eeb47029963016cefdf89dc799fcebc"
integrity sha512-9WXSPC5fMv61vaupRkCKCxsPxBocVnwakBEkMIHHpkTTg6icbJtg6jzgtLDm4bl3cSHAca52rYWih0k4K3PfHw==
utf-8-validate@^5.0.2: utf-8-validate@^5.0.2:
version "5.0.10" version "5.0.10"
resolved "https://registry.yarnpkg.com/utf-8-validate/-/utf-8-validate-5.0.10.tgz#d7d10ea39318171ca982718b6b96a8d2442571a2" resolved "https://registry.yarnpkg.com/utf-8-validate/-/utf-8-validate-5.0.10.tgz#d7d10ea39318171ca982718b6b96a8d2442571a2"
@ -5438,29 +5452,28 @@ viem@^2.1.1:
webauthn-p256 "0.0.10" webauthn-p256 "0.0.10"
ws "8.18.0" ws "8.18.0"
viem@^2.21.55: viem@^2.23.6:
version "2.21.55" version "2.23.6"
resolved "https://registry.yarnpkg.com/viem/-/viem-2.21.55.tgz#a57ad31fcf2a0f6c011b1909f02c94421ec4f781" resolved "https://registry.yarnpkg.com/viem/-/viem-2.23.6.tgz#05d9b49cc0b5130707ecdcd1b5c141f72b68606c"
integrity sha512-PgXew7C11cAuEtOSgRyQx2kJxEOPUwIwZA9dMglRByqJuFVA7wSGZZOOo/93iylAA8E15bEdqy9xulU3oKZ70Q== integrity sha512-+yUeK8rktbGFQaLIvY4Tki22HUjian9Z4eKGAUT72RF9bcfkYgK8CJZz9P83tgoeLpiTyX3xcBM4xJZrJyKmsA==
dependencies: dependencies:
"@noble/curves" "1.7.0" "@noble/curves" "1.8.1"
"@noble/hashes" "1.6.1" "@noble/hashes" "1.7.1"
"@scure/bip32" "1.6.0" "@scure/bip32" "1.6.2"
"@scure/bip39" "1.5.0" "@scure/bip39" "1.5.4"
abitype "1.0.7" abitype "1.0.8"
isows "1.0.6" isows "1.0.6"
ox "0.1.2" ox "0.6.7"
webauthn-p256 "0.0.10"
ws "8.18.0" ws "8.18.0"
wagmi@^2.14.3: wagmi@^2.14.12:
version "2.14.3" version "2.14.12"
resolved "https://registry.yarnpkg.com/wagmi/-/wagmi-2.14.3.tgz#3abfe5e9f796890d75d1b7d506e9dccd6b87f254" resolved "https://registry.yarnpkg.com/wagmi/-/wagmi-2.14.12.tgz#28390caef9b035b8f57cd5118822259e50175635"
integrity sha512-sr8o7+EBw22GhieDyXLv8Zr2vgC6xKrYoSuUIpq0xOqEhvMP1q880VtR4lFG1capc2QEWvK72pJ/+jpsEQcMYQ== integrity sha512-HSX7CkwF7YWecV5EqcOQrHUSGqZ+f8GJ8FWRYktVcxitfaAd0YofwfJNJB+zEsV17hV6uZ5Tu1nP32tgz+1eTQ==
dependencies: dependencies:
"@wagmi/connectors" "5.7.0" "@wagmi/connectors" "5.7.8"
"@wagmi/core" "2.16.0" "@wagmi/core" "2.16.5"
use-sync-external-store "1.2.0" use-sync-external-store "1.4.0"
webauthn-p256@0.0.10: webauthn-p256@0.0.10:
version "0.0.10" version "0.0.10"
@ -5663,11 +5676,6 @@ yocto-queue@^0.1.0:
resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"
integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==
zod@^3.23.8:
version "3.24.0"
resolved "https://registry.yarnpkg.com/zod/-/zod-3.24.0.tgz#babb32313f7c5f4a99812feee806d186b4f76bde"
integrity sha512-Hz+wiY8yD0VLA2k/+nsg2Abez674dDGTai33SwNvMPuf9uIrBC9eFgIMQxBBbHFxVXi8W+5nX9DcAh9YNSQm/w==
zod@^3.24.1: zod@^3.24.1:
version "3.24.1" version "3.24.1"
resolved "https://registry.yarnpkg.com/zod/-/zod-3.24.1.tgz#27445c912738c8ad1e9de1bea0359fa44d9d35ee" resolved "https://registry.yarnpkg.com/zod/-/zod-3.24.1.tgz#27445c912738c8ad1e9de1bea0359fa44d9d35ee"