From f8ca862c313d00efa9d9c7fbd4315823f23106fd Mon Sep 17 00:00:00 2001 From: Andrea Franz Date: Wed, 25 Oct 2023 12:24:34 +0200 Subject: [PATCH] add initial local dev env for builder --- docker-compose.yml | 58 ++ packages/builder/.env.example | 6 +- packages/builder/package.json | 3 +- .../src/components/base/ImageInput.tsx | 2 +- packages/builder/src/contracts/deployments.ts | 8 + packages/builder/src/services/pinata.ts | 50 +- packages/builder/src/utils/components.ts | 2 +- packages/builder/src/utils/wagmi.ts | 54 +- packages/builder/src/utils/wallet.ts | 6 + packages/common/src/chains.ts | 46 ++ packages/common/src/index.ts | 17 +- pnpm-lock.yaml | 756 +++++++++++++++--- 12 files changed, 789 insertions(+), 219 deletions(-) create mode 100644 docker-compose.yml diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000000..23a16a5a8b --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,58 @@ +version: '3.8' + +# Ports +# Builder: 3000 +# Explorer: 3001 +# Manager: 3002 +# Pinata: 3003 +# Indexer: 3004 +# Dev chain 1: 3005 +# Subgraph dev chain 1: 3006 +# Dev chain 2: 3007 +# Subgraph dev chain 2: 3008 + +services: + pinata: + image: ghcr.io/gitcoinco/pina:init + ports: + - '127.0.0.1:3003:8000' + + localchain-1: + image: ghcr.io/gitcoinco/allo-contracts-v1:pr-1 + ports: + - '127.0.0.1:3005:8545' + environment: + - DEV_CHAIN_ID=313371 + + localchain-1-init: + image: ghcr.io/gitcoinco/allo-contracts-v1:pr-1 + depends_on: + - pinata + - localchain-1 + environment: + - PINATA_HOST=pinata + - PINATA_PORT=8000 + - DEV_CHAIN_HOST=localchain-1 + - DEV_CHAIN_ID=313371 + restart: "no" + entrypoint: [ "bash", "-c", "sleep 2 && corepack enable && exec ./docker/deploy-contracts.sh"] + + localchain-2: + image: ghcr.io/gitcoinco/allo-contracts-v1:pr-1 + ports: + - '127.0.0.1:3007:8545' + environment: + - DEV_CHAIN_ID=313372 + + localchain-2-init: + image: ghcr.io/gitcoinco/allo-contracts-v1:pr-1 + depends_on: + - pinata + - localchain-2 + environment: + - PINATA_HOST=pinata + - PINATA_PORT=8000 + - DEV_CHAIN_HOST=localchain-2 + - DEV_CHAIN_ID=313372 + restart: "no" + entrypoint: [ "bash", "-c", "sleep 2 && corepack enable && exec ./docker/deploy-contracts.sh"] diff --git a/packages/builder/.env.example b/packages/builder/.env.example index 6af20f5585..74eacc419c 100644 --- a/packages/builder/.env.example +++ b/packages/builder/.env.example @@ -7,9 +7,9 @@ REACT_APP_INFURA_ID= REACT_APP_WALLETCONNECT_ID= REACT_APP_WALLETCONNECT_PROJECT_ID= -# Get your credentials at https://www.pinata.cloud/ -REACT_APP_PINATA_GATEWAY= -REACT_APP_PINATA_JWT= +REACT_APP_IPFS_BASE_URL=http://localhost:3003 +REACT_APP_PINATA_BASE_URL=http://localhost:3003 +REACT_APP_PINATA_JWT=development-token # Get your own key at https://scorer.gitcoin.co REACT_APP_PASSPORT_API_KEY= diff --git a/packages/builder/package.json b/packages/builder/package.json index 945b0f1cc4..5399c188bd 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -77,7 +77,8 @@ "verify-env": "*", "wagmi": "^0.12.19", "web-vitals": "^2.1.4", - "yup": "^0.32.11" + "yup": "^0.32.11", + "zod": "^3.22.4" }, "scripts": { "start": "craco start", diff --git a/packages/builder/src/components/base/ImageInput.tsx b/packages/builder/src/components/base/ImageInput.tsx index 46aefe3a57..95668da868 100644 --- a/packages/builder/src/components/base/ImageInput.tsx +++ b/packages/builder/src/components/base/ImageInput.tsx @@ -100,7 +100,7 @@ export default function ImageInput({ // Fetch existing img path from Pinata for display const pinataClient = new PinataClient(); - const imgUrl = pinataClient.fileURL(ipfsCID); + const imgUrl = pinataClient.fileUrl(ipfsCID); blobExistingImg(imgUrl); return imgUrl; diff --git a/packages/builder/src/contracts/deployments.ts b/packages/builder/src/contracts/deployments.ts index 7395f0cc45..5c1f4c3ffe 100644 --- a/packages/builder/src/contracts/deployments.ts +++ b/packages/builder/src/contracts/deployments.ts @@ -8,6 +8,8 @@ export const chains = { 424: "pgn", 4002: "fantomTestnet", 31337: "localhost", + 313371: "dev1", + 313372: "dev2", 58008: "pgnTestnet", 42161: "arbitrum", 421613: "arbitrumGoerli", @@ -34,6 +36,12 @@ export type DeploymentAddressesMap = { }; export const addresses: DeploymentAddressesMap = { + dev1: { + projectRegistry: "0x9fE46736679d2D9a65F0992F2272dE9f3c7fa6e0", + }, + dev2: { + projectRegistry: "0x9fE46736679d2D9a65F0992F2272dE9f3c7fa6e0", + }, localhost: { projectRegistry: "0x832c5391dc7931312CbdBc1046669c9c3A4A28d5", }, diff --git a/packages/builder/src/services/pinata.ts b/packages/builder/src/services/pinata.ts index c59652c458..11c3aad0ee 100644 --- a/packages/builder/src/services/pinata.ts +++ b/packages/builder/src/services/pinata.ts @@ -1,42 +1,48 @@ -// eslint-disable-next-line -const JWT = process.env.REACT_APP_PINATA_JWT; -// eslint-disable-next-line -const GATEWAY = process.env.REACT_APP_PINATA_GATEWAY; -const PIN_JSON_TO_IPFS_URL = "https://api.pinata.cloud/pinning/pinJSONToIPFS"; -const PIN_FILE_TO_IPFS_URL = "https://api.pinata.cloud/pinning/pinFileToIPFS"; +import { z } from "zod"; export default class PinataClient { private jwt: string; private gateway: string; - private pinJSONToIPFSURL: string; + private pinataBaseUrl: string; - private pinFileToIPFSURL: string; + private pinJSONToIPFSUrl: string; + + private pinFileToIPFSUrl: string; constructor() { - if (JWT === undefined || GATEWAY === undefined) { - throw new Error( - "remember to set the REACT_APP_PINATA_JWT and REACT_APP_PINATA_GATEWAY env vars" - ); - } - this.jwt = JWT!; - this.gateway = GATEWAY.replace(/\/$/, ""); - this.pinJSONToIPFSURL = PIN_JSON_TO_IPFS_URL; - this.pinFileToIPFSURL = PIN_FILE_TO_IPFS_URL; + this.jwt = z + .string({ + required_error: "REACT_APP_PINATA_JWT is required", + }) + .parse(process.env.REACT_APP_PINATA_JWT); + this.gateway = z + .string({ required_error: "REACT_APP_IPFS_BASE_URL is required" }) + .url() + .parse(process.env.REACT_APP_IPFS_BASE_URL) + .replace(/\/$/, ""); + this.pinataBaseUrl = z + .string({ required_error: "REACT_APP_PINATA_BASE_URL" }) + .url() + .parse(process.env.REACT_APP_PINATA_BASE_URL) + .replace(/\/$/, ""); + + this.pinJSONToIPFSUrl = `${this.pinataBaseUrl}/pinning/pinJSONToIPFS`; + this.pinFileToIPFSUrl = `${this.pinataBaseUrl}/pinning/pinFileToIPFS`; } - fileURL(cid: string) { + fileUrl(cid: string) { return `${this.gateway}/ipfs/${cid}`; } fetchText(cid: string) { - const url = this.fileURL(cid); + const url = this.fileUrl(cid); return fetch(url).then((resp) => resp.text()); } fetchJson(cid: string) { - const url = this.fileURL(cid); + const url = this.fileUrl(cid); return fetch(url).then((resp) => resp.json()); } @@ -60,7 +66,7 @@ export default class PinataClient { pinataContent: object, }; - return fetch(this.pinJSONToIPFSURL, { + return fetch(this.pinJSONToIPFSUrl, { method: "POST", headers: { "Content-Type": "application/json", @@ -84,7 +90,7 @@ export default class PinataClient { fd.append("pinataOptions", JSON.stringify(requestData.pinataOptions)); fd.append("pinataMetadata", JSON.stringify(requestData.pinataMetadata)); - return fetch(this.pinFileToIPFSURL, { + return fetch(this.pinFileToIPFSUrl, { method: "POST", headers: { Authorization: `Bearer ${this.jwt}`, diff --git a/packages/builder/src/utils/components.ts b/packages/builder/src/utils/components.ts index 36b74254a8..1202f47d98 100644 --- a/packages/builder/src/utils/components.ts +++ b/packages/builder/src/utils/components.ts @@ -24,7 +24,7 @@ export const getProjectImage = ( } const pinataClient = new PinataClient(); - return pinataClient.fileURL(img); + return pinataClient.fileUrl(img); }; export const formatDateFromMs = (ts: number) => { diff --git a/packages/builder/src/utils/wagmi.ts b/packages/builder/src/utils/wagmi.ts index a48febe8fc..4b7b18399e 100644 --- a/packages/builder/src/utils/wagmi.ts +++ b/packages/builder/src/utils/wagmi.ts @@ -13,14 +13,13 @@ import { optimism, goerli, arbitrumGoerli, - hardhat, avalancheFuji as avalancheFujiChain, avalanche as avalancheChain, } from "wagmi/chains"; import { alchemyProvider } from "wagmi/providers/alchemy"; import { infuraProvider } from "wagmi/providers/infura"; import { publicProvider } from "wagmi/providers/public"; -import PublicGoodsNetworkIcon from "common/src/icons/PublicGoodsNetwork.svg"; +import { pgn, pgnTestnet, devChain1, devChain2 } from "common/src/chains"; import { polygon, polygonMumbai } from "@wagmi/core/chains"; import { FantomFTMLogo } from "../assets"; @@ -82,56 +81,7 @@ export const fantomTestnet: Chain = { iconUrl: FantomFTMLogo, }; -export const pgn: Chain = { - id: 424, - name: "PGN", - network: "pgn", - iconUrl: PublicGoodsNetworkIcon, - nativeCurrency: { - decimals: 18, - name: "Ether", - symbol: "ETH", - }, - rpcUrls: { - default: { http: ["https://rpc.publicgoods.network"] }, - public: { http: ["https://rpc.publicgoods.network"] }, - }, - blockExplorers: { - default: { - name: "pgnscan", - url: "https://explorer.publicgoods.network", - }, - }, -}; - const chainsAvailable: Chain[] = []; -export const pgnTestnet: Chain = { - id: 58008, - name: "PGN Testnet", - network: "pgn testnet", - iconUrl: PublicGoodsNetworkIcon, - nativeCurrency: { - decimals: 18, - name: "Ether", - symbol: "ETH", - }, - rpcUrls: { - default: { http: ["https://sepolia.publicgoods.network"] }, - public: { http: ["https://sepolia.publicgoods.network"] }, - }, - blockExplorers: { - default: { - name: "pgnscan", - url: "https://explorer.sepolia.publicgoods.network", - }, - }, - testnet: true, -}; - -// todo: fix for rpc issue is with hardhat local chain calling rpc -if (process.env.REACT_APP_LOCALCHAIN === "true") { - chainsAvailable.push(hardhat); -} if (process.env.REACT_APP_ENV === "production") { chainsAvailable.push( @@ -145,6 +95,8 @@ if (process.env.REACT_APP_ENV === "production") { ); } else { chainsAvailable.push( + devChain1, + devChain2, optimism, goerli, fantomTestnet, diff --git a/packages/builder/src/utils/wallet.ts b/packages/builder/src/utils/wallet.ts index b50e3ecc99..f28120f209 100644 --- a/packages/builder/src/utils/wallet.ts +++ b/packages/builder/src/utils/wallet.ts @@ -29,6 +29,8 @@ export function shortAddress(address: string): string { } export const networkPrettyNames: { [key in ChainName]: string } = { + dev1: "Development 1", + dev2: "Development 2", mainnet: "Mainnet", goerli: "Goerli", fantomTestnet: "Fantom Testnet", @@ -46,6 +48,8 @@ export const networkPrettyNames: { [key in ChainName]: string } = { }; export const networkIcon: { [key in ChainName]: string } = { + dev1: EthDiamondGlyph, + dev2: EthDiamondGlyph, mainnet: EthDiamondGlyph, goerli: EthDiamondGlyph, fantomTestnet: FTMTestnet, @@ -63,6 +67,8 @@ export const networkIcon: { [key in ChainName]: string } = { }; export const payoutIcon: { [key in ChainName]: string } = { + dev1: WhiteEthIconFilledCircle, + dev2: WhiteEthIconFilledCircle, mainnet: WhiteEthIconFilledCircle, goerli: WhiteEthIconFilledCircle, fantomTestnet: FTMTestnet, diff --git a/packages/common/src/chains.ts b/packages/common/src/chains.ts index 4ea6ea7234..525b57090d 100644 --- a/packages/common/src/chains.ts +++ b/packages/common/src/chains.ts @@ -15,6 +15,7 @@ export enum ChainId { FUJI = 43113, POLYGON = 137, POLYGON_MUMBAI = 80001, + DEV = 313371, } export const pgnTestnet: Chain = { @@ -90,3 +91,48 @@ export function parseChainId(input: string | number): ChainId { // If the input is not a valid enum value, return undefined throw "Invalid chainId " + input; } + +export const devChain1: Chain = { + id: 313371, + name: "Development 1", + network: "dev1", + iconUrl: PublicGoodsNetworkIcon, + nativeCurrency: { + decimals: 18, + name: "Ether", + symbol: "ETH", + }, + rpcUrls: { + default: { http: ["http://localhost:3005"] }, + public: { http: ["http://localhost:3005"] }, + }, + blockExplorers: { + default: { + name: "dev1", + url: "", + }, + }, +}; + +export const devChain2: Chain = { + id: 313372, + name: "Development 2", + network: "dev2", + iconUrl: PublicGoodsNetworkIcon, + nativeCurrency: { + decimals: 18, + name: "Ether", + symbol: "ETH", + }, + rpcUrls: { + default: { http: ["http://localhost:3007"] }, + public: { http: ["http://localhost:3007"] }, + }, + blockExplorers: { + default: { + name: "dev2", + url: "", + }, + }, +}; +>>>>>>> 4612b889 (add initial local dev env for builder) diff --git a/packages/common/src/index.ts b/packages/common/src/index.ts index ed7ac838a2..71c10a5b29 100644 --- a/packages/common/src/index.ts +++ b/packages/common/src/index.ts @@ -41,7 +41,7 @@ export type PassportResponse = { */ export const fetchPassport = ( address: string, - communityId: string + communityId: string, ): Promise => { const url = `${process.env.REACT_APP_PASSPORT_API_ENDPOINT}/registry/score/${communityId}/${address}`; return fetch(url, { @@ -62,7 +62,7 @@ export const fetchPassport = ( */ export const submitPassport = ( address: string, - communityId: string + communityId: string, ): Promise => { const url = `${process.env.REACT_APP_PASSPORT_API_ENDPOINT}/registry/submit-passport`; @@ -97,6 +97,7 @@ export type Payout = { }; export const graphQlEndpoints: Record = { + [ChainId.DEV]: process.env.REACT_APP_SUBGRAPH_DEV_API!, [ChainId.PGN]: process.env.REACT_APP_SUBGRAPH_PGN_API!, [ChainId.GOERLI_CHAIN_ID]: process.env.REACT_APP_SUBGRAPH_GOERLI_API!, [ChainId.PGN_TESTNET]: process.env.REACT_APP_SUBGRAPH_PGN_TESTNET_API!, @@ -140,7 +141,7 @@ export const graphql_fetch = async ( chainId: ChainId, // eslint-disable-next-line @typescript-eslint/ban-types variables: object = {}, - fromProjectRegistry = false + fromProjectRegistry = false, ) => { let endpoint = getGraphQLEndpoint(chainId); @@ -171,7 +172,7 @@ export const graphql_fetch = async ( */ export function fetchProjectPaidInARound( roundId: string, - chainId: ChainId + chainId: ChainId, ): Promise { const { data } = useSWR( [roundId, chainId], @@ -200,9 +201,9 @@ export function fetchProjectPaidInARound( } `, chainId, - { roundId } + { roundId }, ); - } + }, ); const payouts = data?.data?.payoutStrategies[0]?.payouts || []; @@ -234,7 +235,7 @@ export function formatDateWithOrdinal(date: Date) { return `${formattedDate.replace( dayOfMonth.toString(), - `${dayOfMonth}${suffix}` + `${dayOfMonth}${suffix}`, )}`; } @@ -252,7 +253,7 @@ enum ApplicationStatus { } export const convertStatusToText = ( - applicationStatus: string | number + applicationStatus: string | number, ): string => { // Ensure the applicationStatus is a string applicationStatus = applicationStatus.toString(); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a4652b6dfa..72963b3a92 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,9 +1,5 @@ lockfileVersion: '6.0' -settings: - autoInstallPeers: true - excludeLinksFromLockfile: false - overrides: webpack: ^5 @@ -122,7 +118,7 @@ importers: version: 5.14.9 '@wagmi/core': specifier: 0.10.17 - version: 0.10.17(@types/react@18.2.21)(ethers@5.7.2)(lokijs@1.5.12)(react@18.2.0)(typescript@4.9.5) + version: 0.10.17(@types/react@18.2.21)(ethers@5.7.2)(lokijs@1.5.12)(react@18.2.0)(typescript@4.9.5)(zod@3.22.4) '@walletconnect/ethereum-provider': specifier: ^2.9.0 version: 2.10.0(@walletconnect/modal@2.6.1)(lokijs@1.5.12) @@ -152,7 +148,7 @@ importers: version: link:../common craco-esbuild: specifier: ^0.5.2 - version: 0.5.2(@craco/craco@7.1.0)(esbuild@0.19.2)(react-scripts@5.0.1)(webpack@5.88.2) + version: 0.5.2(@craco/craco@7.1.0)(react-scripts@5.0.1) crypto-browserify: specifier: ^3.12.0 version: 3.12.0 @@ -176,7 +172,7 @@ importers: version: 1.0.0 jest: specifier: ^27.0 - version: 27.5.1(ts-node@10.9.1) + version: 27.5.1 os-browserify: specifier: ^0.3.0 version: 0.3.0 @@ -212,7 +208,7 @@ importers: version: 6.15.0(react-dom@18.2.0)(react@18.2.0) react-scripts: specifier: 5.0.1 - version: 5.0.1(@babel/plugin-syntax-flow@7.22.5)(@babel/plugin-transform-react-jsx@7.22.15)(esbuild@0.19.2)(eslint@8.48.0)(react@18.2.0)(ts-node@10.9.1)(typescript@4.9.5) + version: 5.0.1(@babel/plugin-syntax-flow@7.22.5)(@babel/plugin-transform-react-jsx@7.22.15)(eslint@8.48.0)(react@18.2.0)(typescript@4.9.5) redux: specifier: ^4.2.1 version: 4.2.1 @@ -227,13 +223,13 @@ importers: version: 3.2.0 tailwindcss: specifier: ^3.0.24 - version: 3.3.3(ts-node@10.9.1) + version: 3.3.3 ts-debounce: specifier: ^4.0.0 version: 4.0.0 ts-jest: specifier: ^27.0 - version: 27.1.5(@babel/core@7.22.15)(@types/jest@27.5.2)(esbuild@0.19.2)(jest@27.5.1)(typescript@4.9.5) + version: 27.1.5(@babel/core@7.22.15)(@types/jest@27.5.2)(jest@27.5.1)(typescript@4.9.5) typescript: specifier: ^4.6.3 version: 4.9.5 @@ -245,13 +241,16 @@ importers: version: link:../verify-env wagmi: specifier: ^0.12.19 - version: 0.12.19(@types/react@18.2.21)(ethers@5.7.2)(lokijs@1.5.12)(react-dom@18.2.0)(react@18.2.0)(typescript@4.9.5) + version: 0.12.19(@types/react@18.2.21)(ethers@5.7.2)(lokijs@1.5.12)(react-dom@18.2.0)(react@18.2.0)(typescript@4.9.5)(zod@3.22.4) web-vitals: specifier: ^2.1.4 version: 2.1.4 yup: specifier: ^0.32.11 version: 0.32.11 + zod: + specifier: ^3.22.4 + version: 3.22.4 devDependencies: '@babel/eslint-parser': specifier: ^7.17.0 @@ -3979,10 +3978,10 @@ packages: dependencies: autoprefixer: 10.4.15(postcss@8.4.29) cosmiconfig: 7.1.0 - cosmiconfig-typescript-loader: 1.0.9(@types/node@18.17.14)(cosmiconfig@7.1.0)(typescript@4.9.5) + cosmiconfig-typescript-loader: 1.0.9(@types/node@18.17.14)(typescript@4.9.5) cross-spawn: 7.0.3 lodash: 4.17.21 - react-scripts: 5.0.1(@babel/plugin-syntax-flow@7.22.5)(@babel/plugin-transform-react-jsx@7.22.15)(esbuild@0.19.2)(eslint@8.48.0)(react@18.2.0)(ts-node@10.9.1)(typescript@4.9.5) + react-scripts: 5.0.1(@babel/plugin-syntax-flow@7.22.5)(@babel/plugin-transform-react-jsx@7.22.15)(eslint@8.48.0)(react@18.2.0)(typescript@4.9.5) semver: 7.5.4 webpack-merge: 5.9.0 transitivePeerDependencies: @@ -5039,6 +5038,33 @@ packages: dependencies: '@ethersproject/logger': 5.7.0 + /@ethersproject/providers@5.7.2: + resolution: {integrity: sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg==} + dependencies: + '@ethersproject/abstract-provider': 5.7.0 + '@ethersproject/abstract-signer': 5.7.0 + '@ethersproject/address': 5.7.0 + '@ethersproject/base64': 5.7.0 + '@ethersproject/basex': 5.7.0 + '@ethersproject/bignumber': 5.7.0 + '@ethersproject/bytes': 5.7.0 + '@ethersproject/constants': 5.7.0 + '@ethersproject/hash': 5.7.0 + '@ethersproject/logger': 5.7.0 + '@ethersproject/networks': 5.7.1 + '@ethersproject/properties': 5.7.0 + '@ethersproject/random': 5.7.0 + '@ethersproject/rlp': 5.7.0 + '@ethersproject/sha2': 5.7.0 + '@ethersproject/strings': 5.7.0 + '@ethersproject/transactions': 5.7.0 + '@ethersproject/web': 5.7.1 + bech32: 1.1.4 + ws: 7.4.6 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + /@ethersproject/providers@5.7.2(bufferutil@4.0.7)(utf-8-validate@5.0.10): resolution: {integrity: sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg==} dependencies: @@ -5336,7 +5362,7 @@ packages: engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: '@jest/types': 27.5.1 - '@types/node': 18.17.14 + '@types/node': 20.5.9 chalk: 4.1.2 jest-message-util: 27.5.1 jest-util: 27.5.1 @@ -5347,12 +5373,56 @@ packages: engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dependencies: '@jest/types': 28.1.3 - '@types/node': 18.17.14 + '@types/node': 20.5.9 chalk: 4.1.2 jest-message-util: 28.1.3 jest-util: 28.1.3 slash: 3.0.0 + /@jest/core@27.5.1: + resolution: {integrity: sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + dependencies: + '@jest/console': 27.5.1 + '@jest/reporters': 27.5.1 + '@jest/test-result': 27.5.1 + '@jest/transform': 27.5.1 + '@jest/types': 27.5.1 + '@types/node': 20.5.9 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + emittery: 0.8.1 + exit: 0.1.2 + graceful-fs: 4.2.11 + jest-changed-files: 27.5.1 + jest-config: 27.5.1 + jest-haste-map: 27.5.1 + jest-message-util: 27.5.1 + jest-regex-util: 27.5.1 + jest-resolve: 27.5.1 + jest-resolve-dependencies: 27.5.1 + jest-runner: 27.5.1 + jest-runtime: 27.5.1 + jest-snapshot: 27.5.1 + jest-util: 27.5.1 + jest-validate: 27.5.1 + jest-watcher: 27.5.1 + micromatch: 4.0.5 + rimraf: 3.0.2 + slash: 3.0.0 + strip-ansi: 6.0.1 + transitivePeerDependencies: + - bufferutil + - canvas + - supports-color + - ts-node + - utf-8-validate + /@jest/core@27.5.1(ts-node@10.9.1): resolution: {integrity: sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} @@ -5403,7 +5473,7 @@ packages: dependencies: '@jest/fake-timers': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 18.17.14 + '@types/node': 20.5.9 jest-mock: 27.5.1 /@jest/fake-timers@27.5.1: @@ -5412,7 +5482,7 @@ packages: dependencies: '@jest/types': 27.5.1 '@sinonjs/fake-timers': 8.1.0 - '@types/node': 18.17.14 + '@types/node': 20.5.9 jest-message-util: 27.5.1 jest-mock: 27.5.1 jest-util: 27.5.1 @@ -5439,7 +5509,7 @@ packages: '@jest/test-result': 27.5.1 '@jest/transform': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 18.17.14 + '@types/node': 20.5.9 chalk: 4.1.2 collect-v8-coverage: 1.0.2 exit: 0.1.2 @@ -5562,7 +5632,7 @@ packages: dependencies: '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.1 - '@types/node': 18.17.14 + '@types/node': 20.5.9 '@types/yargs': 15.0.15 chalk: 4.1.2 @@ -5572,7 +5642,7 @@ packages: dependencies: '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.1 - '@types/node': 18.17.14 + '@types/node': 20.5.9 '@types/yargs': 16.0.5 chalk: 4.1.2 @@ -5583,7 +5653,7 @@ packages: '@jest/schemas': 28.1.3 '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.1 - '@types/node': 18.17.14 + '@types/node': 20.5.9 '@types/yargs': 17.0.24 chalk: 4.1.2 @@ -5629,7 +5699,7 @@ packages: deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. dependencies: '@json-rpc-tools/utils': 1.7.6 - axios: 0.21.4(debug@4.3.4) + axios: 0.21.4 safe-json-utils: 1.1.1 ws: 7.5.9(bufferutil@4.0.7)(utf-8-validate@5.0.10) transitivePeerDependencies: @@ -5970,7 +6040,7 @@ packages: /@pinata/sdk@1.2.1: resolution: {integrity: sha512-z728bnPa9lhkKeFnpXqE8j8BXeel6iE35o53pjYjmDEHh01ZE5c4L62Ks7zd2/MuDqNaUWUtGm0tNrEiSwFXoQ==} dependencies: - axios: 0.21.4(debug@4.3.4) + axios: 0.21.4 base-path-converter: 1.0.2 form-data: 2.5.1 is-ipfs: 0.6.3 @@ -5994,7 +6064,7 @@ packages: react-refresh: '>=0.10.0 <1.0.0' sockjs-client: ^1.4.0 type-fest: '>=0.17.0 <5.0.0' - webpack: ^5 + webpack: '>=4.43.0 <6.0.0' webpack-dev-server: 3.x || 4.x webpack-hot-middleware: 2.x webpack-plugin-serve: 0.x || 1.x @@ -6022,7 +6092,7 @@ packages: react-refresh: 0.11.0 schema-utils: 3.3.0 source-map: 0.7.4 - webpack: 5.88.2(esbuild@0.19.2) + webpack: 5.88.2 webpack-dev-server: 4.15.1(webpack@5.88.2) /@popperjs/core@2.11.8: @@ -6136,7 +6206,7 @@ packages: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) react-remove-scroll: 2.5.4(@types/react@18.2.21)(react@18.2.0) - wagmi: 0.12.19(@types/react@18.2.21)(ethers@5.7.2)(lokijs@1.5.12)(react-dom@18.2.0)(react@18.2.0)(typescript@4.9.5) + wagmi: 0.12.19(@types/react@18.2.21)(ethers@5.7.2)(lokijs@1.5.12)(react-dom@18.2.0)(react@18.2.0)(typescript@4.9.5)(zod@3.22.4) transitivePeerDependencies: - '@types/react' dev: false @@ -6873,7 +6943,7 @@ packages: peerDependencies: tailwindcss: '>=2.0.0 || >=3.0.0 || >=3.0.0-alpha.1' dependencies: - tailwindcss: 3.3.3(ts-node@10.9.1) + tailwindcss: 3.3.3 /@tailwindcss/typography@0.5.10(tailwindcss@3.3.3): resolution: {integrity: sha512-Pe8BuPJQJd3FfRnm6H0ulKIGoMEQS+Vq01R6M5aCrFB/ccR/shT+0kXLjouGC1gFLm9hopTFN+DMP0pfwRWzPw==} @@ -6884,7 +6954,7 @@ packages: lodash.isplainobject: 4.0.6 lodash.merge: 4.6.2 postcss-selector-parser: 6.0.10 - tailwindcss: 3.3.3(ts-node@10.9.1) + tailwindcss: 3.3.3 dev: false /@tanstack/query-core@4.22.0: @@ -7085,12 +7155,12 @@ packages: resolution: {integrity: sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==} dependencies: '@types/connect': 3.4.36 - '@types/node': 18.17.14 + '@types/node': 20.5.9 /@types/bonjour@3.5.10: resolution: {integrity: sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==} dependencies: - '@types/node': 18.17.14 + '@types/node': 20.5.9 /@types/chai-subset@1.3.3: resolution: {integrity: sha512-frBecisrNGz+F4T6bcc+NLeolfiojh5FxW2klu669+8BARtyQv2C/GkNW6FUodVe4BroGMP/wER/YDGc7rEllw==} @@ -7106,12 +7176,12 @@ packages: resolution: {integrity: sha512-iaQslNbARe8fctL5Lk+DsmgWOM83lM+7FzP0eQUJs1jd3kBE8NWqBTIT2S8SqQOJjxvt2eyIjpOuYeRXq2AdMw==} dependencies: '@types/express-serve-static-core': 4.17.36 - '@types/node': 18.17.14 + '@types/node': 20.5.9 /@types/connect@3.4.36: resolution: {integrity: sha512-P63Zd/JUGq+PdrM1lv0Wv5SBYeA2+CORvbrXbngriYY0jzLUWfQMQQxOhjONEz/wlHOAxOdY7CY65rgQdTjq2w==} dependencies: - '@types/node': 18.17.14 + '@types/node': 20.5.9 /@types/cookie@0.4.1: resolution: {integrity: sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==} @@ -7153,7 +7223,7 @@ packages: /@types/express-serve-static-core@4.17.36: resolution: {integrity: sha512-zbivROJ0ZqLAtMzgzIUC4oNqDG9iF0lSsAqpOD9kbs5xcIM3dTiyuHvBc7R8MtWBp3AAWGaovJa+wzWPjLYW7Q==} dependencies: - '@types/node': 18.17.14 + '@types/node': 20.5.9 '@types/qs': 6.9.8 '@types/range-parser': 1.2.4 '@types/send': 0.17.1 @@ -7169,7 +7239,7 @@ packages: /@types/graceful-fs@4.1.6: resolution: {integrity: sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==} dependencies: - '@types/node': 18.17.14 + '@types/node': 20.5.9 /@types/hoist-non-react-statics@3.3.1: resolution: {integrity: sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==} @@ -7187,7 +7257,7 @@ packages: /@types/http-proxy@1.17.11: resolution: {integrity: sha512-HC8G7c1WmaF2ekqpnFq626xd3Zz0uvaqFmBJNRZCGEZCXkvSdJoNFn/8Ygbd9fKNQj8UzLdCETaI0UWPAjK7IA==} dependencies: - '@types/node': 18.17.14 + '@types/node': 20.5.9 /@types/istanbul-lib-coverage@2.0.4: resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==} @@ -7290,7 +7360,6 @@ packages: /@types/node@20.5.9: resolution: {integrity: sha512-PcGNd//40kHAS3sTlzKB9C9XL4K0sTup8nbG5lC14kzEteTNuAFh9u5nA0o5TWnSG2r/JNPRXFVcHJIIeRlmqQ==} - dev: true /@types/normalize-package-data@2.4.1: resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} @@ -7342,7 +7411,7 @@ packages: /@types/resolve@1.17.1: resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==} dependencies: - '@types/node': 18.17.14 + '@types/node': 20.5.9 /@types/resolve@1.20.2: resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} @@ -7361,7 +7430,7 @@ packages: resolution: {integrity: sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q==} dependencies: '@types/mime': 1.3.2 - '@types/node': 18.17.14 + '@types/node': 20.5.9 /@types/serve-index@1.9.1: resolution: {integrity: sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==} @@ -7373,18 +7442,18 @@ packages: dependencies: '@types/http-errors': 2.0.1 '@types/mime': 3.0.1 - '@types/node': 18.17.14 + '@types/node': 20.5.9 /@types/set-cookie-parser@2.4.3: resolution: {integrity: sha512-7QhnH7bi+6KAhBB+Auejz1uV9DHiopZqu7LfR/5gZZTkejJV5nYeZZpgfFoE0N8aDsXuiYpfKyfyMatCwQhyTQ==} dependencies: - '@types/node': 18.17.14 + '@types/node': 20.5.9 dev: true /@types/sockjs@0.3.33: resolution: {integrity: sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==} dependencies: - '@types/node': 18.17.14 + '@types/node': 20.5.9 /@types/stack-utils@2.0.1: resolution: {integrity: sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==} @@ -7404,13 +7473,13 @@ packages: /@types/ws@7.4.7: resolution: {integrity: sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==} dependencies: - '@types/node': 18.17.14 + '@types/node': 20.5.9 dev: false /@types/ws@8.5.5: resolution: {integrity: sha512-lwhs8hktwxSjf9UaZ9tG5M03PGogvFaH8gUgLNbN9HKIg0dvv6q+gkSuJ8HN4/VbyxkuLzCjlN7GquQ0gUJfIg==} dependencies: - '@types/node': 18.17.14 + '@types/node': 20.5.9 /@types/yargs-parser@21.0.0: resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==} @@ -8125,7 +8194,7 @@ packages: - zod dev: false - /@wagmi/connectors@0.3.24(@wagmi/core@0.10.17)(ethers@5.7.2)(lokijs@1.5.12)(react@18.2.0)(typescript@4.9.5): + /@wagmi/connectors@0.3.24(@wagmi/core@0.10.17)(ethers@5.7.2)(lokijs@1.5.12)(react@18.2.0)(typescript@4.9.5)(zod@3.22.4): resolution: {integrity: sha512-1pI0G9HRblc651dCz9LXuEu/zWQk23XwOUYqJEINb/c2TTLtw5TnTRIcefxxK6RnxeJvcKfnmK0rdZp/4ujFAA==} peerDependencies: '@wagmi/core': '>=0.9.x' @@ -8141,11 +8210,11 @@ packages: '@ledgerhq/connect-kit-loader': 1.1.2 '@safe-global/safe-apps-provider': 0.15.2 '@safe-global/safe-apps-sdk': 7.11.0 - '@wagmi/core': 0.10.17(@types/react@18.2.21)(ethers@5.7.2)(lokijs@1.5.12)(react@18.2.0)(typescript@4.9.5) + '@wagmi/core': 0.10.17(@types/react@18.2.21)(ethers@5.7.2)(lokijs@1.5.12)(react@18.2.0)(typescript@4.9.5)(zod@3.22.4) '@walletconnect/ethereum-provider': 2.9.0(@walletconnect/modal@2.6.1)(lokijs@1.5.12) '@walletconnect/legacy-provider': 2.0.0 '@walletconnect/modal': 2.6.1(react@18.2.0) - abitype: 0.3.0(typescript@4.9.5) + abitype: 0.3.0(typescript@4.9.5)(zod@3.22.4) ethers: 5.7.2 eventemitter3: 4.0.7 typescript: 4.9.5 @@ -8256,7 +8325,7 @@ packages: - zod dev: false - /@wagmi/core@0.10.17(@types/react@18.2.21)(ethers@5.7.2)(lokijs@1.5.12)(react@18.2.0)(typescript@4.9.5): + /@wagmi/core@0.10.17(@types/react@18.2.21)(ethers@5.7.2)(lokijs@1.5.12)(react@18.2.0)(typescript@4.9.5)(zod@3.22.4): resolution: {integrity: sha512-qud45y3IlHp7gYWzoFeyysmhyokRie59Xa5tcx5F1E/v4moD5BY0kzD26mZW/ZQ3WZuVK/lZwiiPRqpqWH52Gw==} peerDependencies: ethers: '>=5.5.1 <6' @@ -8266,8 +8335,8 @@ packages: optional: true dependencies: '@wagmi/chains': 0.2.22(typescript@4.9.5) - '@wagmi/connectors': 0.3.24(@wagmi/core@0.10.17)(ethers@5.7.2)(lokijs@1.5.12)(react@18.2.0)(typescript@4.9.5) - abitype: 0.3.0(typescript@4.9.5) + '@wagmi/connectors': 0.3.24(@wagmi/core@0.10.17)(ethers@5.7.2)(lokijs@1.5.12)(react@18.2.0)(typescript@4.9.5)(zod@3.22.4) + abitype: 0.3.0(typescript@4.9.5)(zod@3.22.4) ethers: 5.7.2 eventemitter3: 4.0.7 typescript: 4.9.5 @@ -8659,7 +8728,7 @@ packages: '@walletconnect/safe-json': 1.0.2 events: 3.3.0 tslib: 1.14.1 - ws: 7.5.9(bufferutil@4.0.7)(utf-8-validate@5.0.10) + ws: 7.5.9 transitivePeerDependencies: - bufferutil - utf-8-validate @@ -8672,7 +8741,7 @@ packages: '@walletconnect/safe-json': 1.0.2 events: 3.3.0 tslib: 1.14.1 - ws: 7.5.9(bufferutil@4.0.7)(utf-8-validate@5.0.10) + ws: 7.5.9 transitivePeerDependencies: - bufferutil - utf-8-validate @@ -9281,6 +9350,20 @@ packages: typescript: 4.9.5 dev: false + /abitype@0.3.0(typescript@4.9.5)(zod@3.22.4): + resolution: {integrity: sha512-0YokyAV4hKMcy97Pl+6QgZBlBdZJN2llslOs7kiFY+cu7kMlVXDBpxMExfv0krzBCQt2t7hNovpQ3y/zvEm18A==} + engines: {pnpm: '>=7'} + peerDependencies: + typescript: '>=4.9.4' + zod: '>=3.19.1' + peerDependenciesMeta: + zod: + optional: true + dependencies: + typescript: 4.9.5 + zod: 3.22.4 + dev: false + /abitype@0.3.0(typescript@5.2.2): resolution: {integrity: sha512-0YokyAV4hKMcy97Pl+6QgZBlBdZJN2llslOs7kiFY+cu7kMlVXDBpxMExfv0krzBCQt2t7hNovpQ3y/zvEm18A==} engines: {pnpm: '>=7'} @@ -9440,10 +9523,8 @@ packages: resolution: {integrity: sha512-hCOfMzbFx5IDutmWLAt6MZwOUjIfSM9G9FyVxytmE4Rs/5YDPWQrD/+IR1w+FweD9H2oOZEnv36TmkjhNURBVA==} dev: false - /ajv-formats@2.1.1(ajv@8.12.0): + /ajv-formats@2.1.1: resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} - peerDependencies: - ajv: ^8.0.0 peerDependenciesMeta: ajv: optional: true @@ -9823,17 +9904,26 @@ packages: resolution: {integrity: sha512-ZtlVZobOeDQhb/y2lMK6mznDw7TJHDNcKx5/bbBkFvArIQ5CVFhSI6hWWQnMx9I8cNmNmZ30wpDyOC2E2nvgbQ==} engines: {node: '>=4'} + /axios@0.21.4: + resolution: {integrity: sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==} + dependencies: + follow-redirects: 1.15.2 + transitivePeerDependencies: + - debug + dev: false + /axios@0.21.4(debug@4.3.4): resolution: {integrity: sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==} dependencies: - follow-redirects: 1.15.2(debug@4.3.4) + follow-redirects: 1.15.2 transitivePeerDependencies: - debug + dev: true /axios@0.27.2: resolution: {integrity: sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==} dependencies: - follow-redirects: 1.15.2(debug@4.3.4) + follow-redirects: 1.15.2 form-data: 4.0.0 transitivePeerDependencies: - debug @@ -9885,14 +9975,14 @@ packages: engines: {node: '>= 8.9'} peerDependencies: '@babel/core': ^7.0.0 - webpack: ^5 + webpack: '>=2' dependencies: '@babel/core': 7.22.15 find-cache-dir: 3.3.2 loader-utils: 2.0.4 make-dir: 3.1.0 schema-utils: 2.7.1 - webpack: 5.88.2(esbuild@0.19.2) + webpack: 5.88.2 /babel-plugin-istanbul@6.1.1: resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} @@ -10998,12 +11088,11 @@ packages: - '@swc/wasm' dev: false - /cosmiconfig-typescript-loader@1.0.9(@types/node@18.17.14)(cosmiconfig@7.1.0)(typescript@4.9.5): + /cosmiconfig-typescript-loader@1.0.9(@types/node@18.17.14)(typescript@4.9.5): resolution: {integrity: sha512-tRuMRhxN4m1Y8hP9SNYfz7jRwt8lZdWxdjg/ohg5esKmsndJIn4yT96oJVcf5x0eA11taXl+sIp+ielu529k6g==} engines: {node: '>=12', npm: '>=6'} peerDependencies: '@types/node': '*' - cosmiconfig: '>=7' typescript: '>=3' dependencies: '@types/node': 18.17.14 @@ -11080,6 +11169,22 @@ packages: - supports-color - webpack + /craco-esbuild@0.5.2(@craco/craco@7.1.0)(react-scripts@5.0.1): + resolution: {integrity: sha512-5NCHz2gFT8MkVo36t22KOBL53JvDrw8R2PHmGxxfaTa8LFZNKmvOI6e8zCzPdY9LeKMdF3svBjMVyXG53pGO1Q==} + peerDependencies: + '@craco/craco': ^6.0.0 || ^7.0.0 || ^7.0.0-alpha + react-scripts: ^5.0.0 + dependencies: + '@craco/craco': 7.1.0(@types/node@18.17.14)(postcss@8.4.29)(react-scripts@5.0.1)(typescript@4.9.5) + esbuild-jest: 0.5.0 + esbuild-loader: 2.21.0 + react-scripts: 5.0.1(@babel/plugin-syntax-flow@7.22.5)(@babel/plugin-transform-react-jsx@7.22.15)(eslint@8.48.0)(react@18.2.0)(typescript@4.9.5) + transitivePeerDependencies: + - esbuild + - supports-color + - webpack + dev: false + /create-ecdh@4.0.4: resolution: {integrity: sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==} dependencies: @@ -11202,7 +11307,7 @@ packages: resolution: {integrity: sha512-xDAXtEVGlD0gJ07iclwWVkLoZOpEvAWaSyf6W18S2pOC//K8+qUDIx8IIT3D+HjnmkJPQeesOPv5aiUaJsCM2g==} engines: {node: '>= 12.13.0'} peerDependencies: - webpack: ^5 + webpack: ^5.0.0 dependencies: icss-utils: 5.1.0(postcss@8.4.29) postcss: 8.4.29 @@ -11212,7 +11317,7 @@ packages: postcss-modules-values: 4.0.0(postcss@8.4.29) postcss-value-parser: 4.2.0 semver: 7.5.4 - webpack: 5.88.2(esbuild@0.19.2) + webpack: 5.88.2 /css-minimizer-webpack-plugin@3.4.1(esbuild@0.19.2)(webpack@5.88.2): resolution: {integrity: sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==} @@ -11242,6 +11347,33 @@ packages: source-map: 0.6.1 webpack: 5.88.2(esbuild@0.19.2) + /css-minimizer-webpack-plugin@3.4.1(webpack@5.88.2): + resolution: {integrity: sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==} + engines: {node: '>= 12.13.0'} + peerDependencies: + '@parcel/css': '*' + clean-css: '*' + csso: '*' + esbuild: '*' + webpack: ^5.0.0 + peerDependenciesMeta: + '@parcel/css': + optional: true + clean-css: + optional: true + csso: + optional: true + esbuild: + optional: true + dependencies: + cssnano: 5.1.15(postcss@8.4.29) + jest-worker: 27.5.1 + postcss: 8.4.29 + schema-utils: 4.2.0 + serialize-javascript: 6.0.1 + source-map: 0.6.1 + webpack: 5.88.2 + /css-prefers-color-scheme@6.0.3(postcss@8.4.29): resolution: {integrity: sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==} engines: {node: ^12 || ^14 || >=16} @@ -12196,6 +12328,18 @@ packages: engines: {node: '>=6'} dev: false + /esbuild-jest@0.5.0: + resolution: {integrity: sha512-AMZZCdEpXfNVOIDvURlqYyHwC8qC1/BFjgsrOiSL1eyiIArVtHL8YAC83Shhn16cYYoAWEW17yZn0W/RJKJKHQ==} + peerDependencies: + esbuild: '>=0.8.50' + dependencies: + '@babel/core': 7.22.15 + '@babel/plugin-transform-modules-commonjs': 7.22.15(@babel/core@7.22.15) + babel-jest: 26.6.3(@babel/core@7.22.15) + transitivePeerDependencies: + - supports-color + dev: false + /esbuild-jest@0.5.0(esbuild@0.19.2): resolution: {integrity: sha512-AMZZCdEpXfNVOIDvURlqYyHwC8qC1/BFjgsrOiSL1eyiIArVtHL8YAC83Shhn16cYYoAWEW17yZn0W/RJKJKHQ==} peerDependencies: @@ -12208,6 +12352,19 @@ packages: transitivePeerDependencies: - supports-color + /esbuild-loader@2.21.0: + resolution: {integrity: sha512-k7ijTkCT43YBSZ6+fBCW1Gin7s46RrJ0VQaM8qA7lq7W+OLsGgtLyFV8470FzYi/4TeDexniTBTPTwZUnXXR5g==} + peerDependencies: + webpack: ^4.40.0 || ^5.0.0 + dependencies: + esbuild: 0.16.17 + joycon: 3.1.1 + json5: 2.2.3 + loader-utils: 2.0.4 + tapable: 2.2.1 + webpack-sources: 1.4.3 + dev: false + /esbuild-loader@2.21.0(webpack@5.88.2): resolution: {integrity: sha512-k7ijTkCT43YBSZ6+fBCW1Gin7s46RrJ0VQaM8qA7lq7W+OLsGgtLyFV8470FzYi/4TeDexniTBTPTwZUnXXR5g==} peerDependencies: @@ -12702,7 +12859,7 @@ packages: '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.48.0)(typescript@4.9.5) '@typescript-eslint/experimental-utils': 5.62.0(eslint@8.48.0)(typescript@4.9.5) eslint: 8.48.0 - jest: 27.5.1(ts-node@10.9.1) + jest: 27.5.1 transitivePeerDependencies: - supports-color - typescript @@ -12957,7 +13114,7 @@ packages: engines: {node: '>= 12.13.0'} peerDependencies: eslint: ^7.0.0 || ^8.0.0 - webpack: ^5 + webpack: ^5.0.0 dependencies: '@types/eslint': 8.44.2 eslint: 8.48.0 @@ -12965,7 +13122,7 @@ packages: micromatch: 4.0.5 normalize-path: 3.0.0 schema-utils: 4.2.0 - webpack: 5.88.2(esbuild@0.19.2) + webpack: 5.88.2 /eslint-webpack-plugin@3.2.0(eslint@8.50.0)(webpack@5.88.2): resolution: {integrity: sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w==} @@ -13197,7 +13354,7 @@ packages: '@ethersproject/networks': 5.7.1 '@ethersproject/pbkdf2': 5.7.0 '@ethersproject/properties': 5.7.0 - '@ethersproject/providers': 5.7.2(bufferutil@4.0.7)(utf-8-validate@5.0.10) + '@ethersproject/providers': 5.7.2 '@ethersproject/random': 5.7.0 '@ethersproject/rlp': 5.7.0 '@ethersproject/sha2': 5.7.0 @@ -13461,11 +13618,11 @@ packages: resolution: {integrity: sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==} engines: {node: '>= 10.13.0'} peerDependencies: - webpack: ^5 + webpack: ^4.0.0 || ^5.0.0 dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.88.2(esbuild@0.19.2) + webpack: 5.88.2 /file-selector@0.6.0: resolution: {integrity: sha512-QlZ5yJC0VxHxQQsQhXvBaC7VRJ2uaxTf+Tfpu4Z/OcVQJVpZO+DGU0rkoVW5ce2SccxugvpBJoMvUs59iILYdw==} @@ -13588,7 +13745,7 @@ packages: tslib: 2.6.2 dev: false - /follow-redirects@1.15.2(debug@4.3.4): + /follow-redirects@1.15.2: resolution: {integrity: sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==} engines: {node: '>=4.0'} peerDependencies: @@ -13596,8 +13753,6 @@ packages: peerDependenciesMeta: debug: optional: true - dependencies: - debug: 4.3.4 /for-each@0.3.3: resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} @@ -13627,7 +13782,7 @@ packages: eslint: '>= 6' typescript: '>= 2.7' vue-template-compiler: '*' - webpack: ^5 + webpack: '>= 4' peerDependenciesMeta: eslint: optional: true @@ -13649,7 +13804,7 @@ packages: semver: 7.5.4 tapable: 1.1.3 typescript: 4.9.5 - webpack: 5.88.2(esbuild@0.19.2) + webpack: 5.88.2 /fork-ts-checker-webpack-plugin@6.5.3(eslint@8.48.0)(typescript@5.2.2)(webpack@5.88.2): resolution: {integrity: sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==} @@ -14190,7 +14345,7 @@ packages: '@ethersproject/bytes': 5.7.0 '@ethersproject/constants': 5.7.0 '@ethersproject/contracts': 5.7.0 - '@ethersproject/providers': 5.7.2(bufferutil@4.0.7)(utf-8-validate@5.0.10) + '@ethersproject/providers': 5.7.2 '@ethersproject/solidity': 5.7.0 '@ethersproject/transactions': 5.7.0 '@ethersproject/wallet': 5.7.0 @@ -14400,14 +14555,14 @@ packages: resolution: {integrity: sha512-6YrDKTuqaP/TquFH7h4srYWsZx+x6k6+FbsTm0ziCwGHDP78Unr1r9F/H4+sGmMbX08GQcJ+K64x55b+7VM/jg==} engines: {node: '>=10.13.0'} peerDependencies: - webpack: ^5 + webpack: ^5.20.0 dependencies: '@types/html-minifier-terser': 6.1.0 html-minifier-terser: 6.1.0 lodash: 4.17.21 pretty-error: 4.0.0 tapable: 2.2.1 - webpack: 5.88.2(esbuild@0.19.2) + webpack: 5.88.2 /htmlparser2@6.1.0: resolution: {integrity: sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==} @@ -14484,7 +14639,7 @@ packages: engines: {node: '>=8.0.0'} dependencies: eventemitter3: 4.0.7 - follow-redirects: 1.15.2(debug@4.3.4) + follow-redirects: 1.15.2 requires-port: 1.0.0 transitivePeerDependencies: - debug @@ -15521,7 +15676,7 @@ packages: peerDependencies: ws: '*' dependencies: - ws: 7.5.9(bufferutil@4.0.7)(utf-8-validate@5.0.10) + ws: 7.5.9 dev: false /isomorphic-ws@5.0.0(ws@8.13.0): @@ -15810,7 +15965,7 @@ packages: isomorphic-ws: 4.0.1(ws@7.5.9) json-stringify-safe: 5.0.1 uuid: 8.3.2 - ws: 7.5.9(bufferutil@4.0.7)(utf-8-validate@5.0.10) + ws: 7.5.9 transitivePeerDependencies: - bufferutil - utf-8-validate @@ -15831,7 +15986,7 @@ packages: '@jest/environment': 27.5.1 '@jest/test-result': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 18.17.14 + '@types/node': 20.5.9 chalk: 4.1.2 co: 4.6.0 dedent: 0.7.0 @@ -15850,6 +16005,35 @@ packages: transitivePeerDependencies: - supports-color + /jest-cli@27.5.1: + resolution: {integrity: sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + dependencies: + '@jest/core': 27.5.1 + '@jest/test-result': 27.5.1 + '@jest/types': 27.5.1 + chalk: 4.1.2 + exit: 0.1.2 + graceful-fs: 4.2.11 + import-local: 3.1.0 + jest-config: 27.5.1 + jest-util: 27.5.1 + jest-validate: 27.5.1 + prompts: 2.4.2 + yargs: 16.2.0 + transitivePeerDependencies: + - bufferutil + - canvas + - supports-color + - ts-node + - utf-8-validate + /jest-cli@27.5.1(ts-node@10.9.1): resolution: {integrity: sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} @@ -15879,7 +16063,7 @@ packages: - ts-node - utf-8-validate - /jest-config@27.5.1(ts-node@10.9.1): + /jest-config@27.5.1: resolution: {integrity: sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} peerDependencies: @@ -15912,19 +16096,58 @@ packages: pretty-format: 27.5.1 slash: 3.0.0 strip-json-comments: 3.1.1 - ts-node: 10.9.1(@types/node@20.4.7)(typescript@5.2.2) transitivePeerDependencies: - bufferutil - canvas - supports-color - utf-8-validate - /jest-diff@27.5.1: - resolution: {integrity: sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==} + /jest-config@27.5.1(ts-node@10.9.1): + resolution: {integrity: sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + peerDependencies: + ts-node: '>=9.0.0' + peerDependenciesMeta: + ts-node: + optional: true dependencies: + '@babel/core': 7.22.15 + '@jest/test-sequencer': 27.5.1 + '@jest/types': 27.5.1 + babel-jest: 27.5.1(@babel/core@7.22.15) chalk: 4.1.2 - diff-sequences: 27.5.1 + ci-info: 3.8.0 + deepmerge: 4.3.1 + glob: 7.2.3 + graceful-fs: 4.2.11 + jest-circus: 27.5.1 + jest-environment-jsdom: 27.5.1 + jest-environment-node: 27.5.1 + jest-get-type: 27.5.1 + jest-jasmine2: 27.5.1 + jest-regex-util: 27.5.1 + jest-resolve: 27.5.1 + jest-runner: 27.5.1 + jest-util: 27.5.1 + jest-validate: 27.5.1 + micromatch: 4.0.5 + parse-json: 5.2.0 + pretty-format: 27.5.1 + slash: 3.0.0 + strip-json-comments: 3.1.1 + ts-node: 10.9.1(@types/node@20.4.7)(typescript@5.2.2) + transitivePeerDependencies: + - bufferutil + - canvas + - supports-color + - utf-8-validate + + /jest-diff@27.5.1: + resolution: {integrity: sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + chalk: 4.1.2 + diff-sequences: 27.5.1 jest-get-type: 27.5.1 pretty-format: 27.5.1 @@ -15968,7 +16191,7 @@ packages: '@jest/environment': 27.5.1 '@jest/fake-timers': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 18.17.14 + '@types/node': 20.5.9 jest-mock: 27.5.1 jest-util: 27.5.1 @@ -15991,7 +16214,7 @@ packages: dependencies: '@jest/types': 26.6.2 '@types/graceful-fs': 4.1.6 - '@types/node': 18.17.14 + '@types/node': 20.5.9 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 @@ -16013,7 +16236,7 @@ packages: dependencies: '@jest/types': 27.5.1 '@types/graceful-fs': 4.1.6 - '@types/node': 18.17.14 + '@types/node': 20.5.9 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 @@ -16034,7 +16257,7 @@ packages: '@jest/source-map': 27.5.1 '@jest/test-result': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 18.17.14 + '@types/node': 20.5.9 chalk: 4.1.2 co: 4.6.0 expect: 27.5.1 @@ -16099,7 +16322,7 @@ packages: engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: '@jest/types': 27.5.1 - '@types/node': 18.17.14 + '@types/node': 20.5.9 /jest-pnp-resolver@1.2.3(jest-resolve@27.5.1): resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} @@ -16158,7 +16381,7 @@ packages: '@jest/test-result': 27.5.1 '@jest/transform': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 18.17.14 + '@types/node': 20.5.9 chalk: 4.1.2 emittery: 0.8.1 graceful-fs: 4.2.11 @@ -16213,14 +16436,14 @@ packages: resolution: {integrity: sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g==} engines: {node: '>= 10.14.2'} dependencies: - '@types/node': 18.17.14 + '@types/node': 20.5.9 graceful-fs: 4.2.11 /jest-serializer@27.5.1: resolution: {integrity: sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: - '@types/node': 18.17.14 + '@types/node': 20.5.9 graceful-fs: 4.2.11 /jest-snapshot@27.5.1: @@ -16261,7 +16484,7 @@ packages: engines: {node: '>= 10.14.2'} dependencies: '@jest/types': 26.6.2 - '@types/node': 18.17.14 + '@types/node': 20.5.9 chalk: 4.1.2 graceful-fs: 4.2.11 is-ci: 2.0.0 @@ -16272,7 +16495,7 @@ packages: engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: '@jest/types': 27.5.1 - '@types/node': 18.17.14 + '@types/node': 20.5.9 chalk: 4.1.2 ci-info: 3.8.0 graceful-fs: 4.2.11 @@ -16283,7 +16506,7 @@ packages: engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dependencies: '@jest/types': 28.1.3 - '@types/node': 18.17.14 + '@types/node': 20.5.9 chalk: 4.1.2 ci-info: 3.8.0 graceful-fs: 4.2.11 @@ -16308,7 +16531,7 @@ packages: dependencies: ansi-escapes: 4.3.2 chalk: 4.1.2 - jest: 27.5.1(ts-node@10.9.1) + jest: 27.5.1 jest-regex-util: 28.0.2 jest-watcher: 28.1.3 slash: 4.0.0 @@ -16321,7 +16544,7 @@ packages: dependencies: '@jest/test-result': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 18.17.14 + '@types/node': 20.5.9 ansi-escapes: 4.3.2 chalk: 4.1.2 jest-util: 27.5.1 @@ -16333,7 +16556,7 @@ packages: dependencies: '@jest/test-result': 28.1.3 '@jest/types': 28.1.3 - '@types/node': 18.17.14 + '@types/node': 20.5.9 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.10.2 @@ -16345,14 +16568,14 @@ packages: peerDependencies: jest: '>= 25' dependencies: - jest: 27.5.1(ts-node@10.9.1) + jest: 27.5.1 dev: true /jest-worker@26.6.2: resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 18.17.14 + '@types/node': 20.5.9 merge-stream: 2.0.0 supports-color: 7.2.0 @@ -16360,7 +16583,7 @@ packages: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 18.17.14 + '@types/node': 20.5.9 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -16368,10 +16591,30 @@ packages: resolution: {integrity: sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dependencies: - '@types/node': 18.17.14 + '@types/node': 20.5.9 merge-stream: 2.0.0 supports-color: 8.1.1 + /jest@27.5.1: + resolution: {integrity: sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + dependencies: + '@jest/core': 27.5.1 + import-local: 3.1.0 + jest-cli: 27.5.1 + transitivePeerDependencies: + - bufferutil + - canvas + - supports-color + - ts-node + - utf-8-validate + /jest@27.5.1(ts-node@10.9.1): resolution: {integrity: sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} @@ -16466,7 +16709,7 @@ packages: whatwg-encoding: 1.0.5 whatwg-mimetype: 2.3.0 whatwg-url: 8.7.0 - ws: 7.5.9(bufferutil@4.0.7)(utf-8-validate@5.0.10) + ws: 7.5.9 xml-name-validator: 3.0.0 transitivePeerDependencies: - bufferutil @@ -17598,10 +17841,10 @@ packages: resolution: {integrity: sha512-Qk7HcgaPkGG6eD77mLvZS1nmxlao3j+9PkrT9Uc7HAE1id3F41+DdBRYRYkbyfNRGzm8/YWtzhw7nVPmwhqTQw==} engines: {node: '>= 12.13.0'} peerDependencies: - webpack: ^5 + webpack: ^5.0.0 dependencies: schema-utils: 4.2.0 - webpack: 5.88.2(esbuild@0.19.2) + webpack: 5.88.2 /mini-svg-data-uri@1.4.4: resolution: {integrity: sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==} @@ -18968,6 +19211,22 @@ packages: postcss: 8.4.29 postcss-value-parser: 4.2.0 + /postcss-load-config@4.0.1(postcss@8.4.29): + resolution: {integrity: sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==} + engines: {node: '>= 14'} + peerDependencies: + postcss: '>=8.0.9' + ts-node: '>=9.0.0' + peerDependenciesMeta: + postcss: + optional: true + ts-node: + optional: true + dependencies: + lilconfig: 2.1.0 + postcss: 8.4.29 + yaml: 2.3.2 + /postcss-load-config@4.0.1(postcss@8.4.29)(ts-node@10.9.1): resolution: {integrity: sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==} engines: {node: '>= 14'} @@ -18990,13 +19249,13 @@ packages: engines: {node: '>= 12.13.0'} peerDependencies: postcss: ^7.0.0 || ^8.0.1 - webpack: ^5 + webpack: ^5.0.0 dependencies: cosmiconfig: 7.1.0 klona: 2.0.6 postcss: 8.4.29 semver: 7.5.4 - webpack: 5.88.2(esbuild@0.19.2) + webpack: 5.88.2 /postcss-logical@5.0.4(postcss@8.4.29): resolution: {integrity: sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==} @@ -19823,7 +20082,7 @@ packages: engines: {node: '>=14'} peerDependencies: typescript: '>=2.7' - webpack: ^5 + webpack: '>=4' peerDependenciesMeta: typescript: optional: true @@ -19853,7 +20112,7 @@ packages: strip-ansi: 6.0.1 text-table: 0.2.0 typescript: 4.9.5 - webpack: 5.88.2(esbuild@0.19.2) + webpack: 5.88.2 transitivePeerDependencies: - eslint - supports-color @@ -20470,6 +20729,102 @@ packages: - webpack-plugin-serve dev: false + /react-scripts@5.0.1(@babel/plugin-syntax-flow@7.22.5)(@babel/plugin-transform-react-jsx@7.22.15)(eslint@8.48.0)(react@18.2.0)(typescript@4.9.5): + resolution: {integrity: sha512-8VAmEm/ZAwQzJ+GOMLbBsTdDKOpuZh7RPs0UymvBR2vRk4iZWCskjbFnxqjrzoIvlNNRZ3QJFx6/qDSi6zSnaQ==} + engines: {node: '>=14.0.0'} + hasBin: true + peerDependencies: + eslint: '*' + react: '>= 16' + typescript: ^3.2.1 || ^4 + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@babel/core': 7.22.15 + '@pmmmwh/react-refresh-webpack-plugin': 0.5.11(react-refresh@0.11.0)(webpack-dev-server@4.15.1)(webpack@5.88.2) + '@svgr/webpack': 5.5.0 + babel-jest: 27.5.1(@babel/core@7.22.15) + babel-loader: 8.3.0(@babel/core@7.22.15)(webpack@5.88.2) + babel-plugin-named-asset-import: 0.3.8(@babel/core@7.22.15) + babel-preset-react-app: 10.0.1 + bfj: 7.1.0 + browserslist: 4.21.10 + camelcase: 6.3.0 + case-sensitive-paths-webpack-plugin: 2.4.0 + css-loader: 6.8.1(webpack@5.88.2) + css-minimizer-webpack-plugin: 3.4.1(webpack@5.88.2) + dotenv: 10.0.0 + dotenv-expand: 5.1.0 + eslint: 8.48.0 + eslint-config-react-app: 7.0.1(@babel/plugin-syntax-flow@7.22.5)(@babel/plugin-transform-react-jsx@7.22.15)(eslint@8.48.0)(jest@27.5.1)(typescript@4.9.5) + eslint-webpack-plugin: 3.2.0(eslint@8.48.0)(webpack@5.88.2) + file-loader: 6.2.0(webpack@5.88.2) + fs-extra: 10.1.0 + html-webpack-plugin: 5.5.3(webpack@5.88.2) + identity-obj-proxy: 3.0.0 + jest: 27.5.1 + jest-resolve: 27.5.1 + jest-watch-typeahead: 1.1.0(jest@27.5.1) + mini-css-extract-plugin: 2.7.6(webpack@5.88.2) + postcss: 8.4.29 + postcss-flexbugs-fixes: 5.0.2(postcss@8.4.29) + postcss-loader: 6.2.1(postcss@8.4.29)(webpack@5.88.2) + postcss-normalize: 10.0.1(browserslist@4.21.10)(postcss@8.4.29) + postcss-preset-env: 7.8.3(postcss@8.4.29) + prompts: 2.4.2 + react: 18.2.0 + react-app-polyfill: 3.0.0 + react-dev-utils: 12.0.1(eslint@8.48.0)(typescript@4.9.5)(webpack@5.88.2) + react-refresh: 0.11.0 + resolve: 1.22.4 + resolve-url-loader: 4.0.0 + sass-loader: 12.6.0(webpack@5.88.2) + semver: 7.5.4 + source-map-loader: 3.0.2(webpack@5.88.2) + style-loader: 3.3.3(webpack@5.88.2) + tailwindcss: 3.3.3 + terser-webpack-plugin: 5.3.9(webpack@5.88.2) + typescript: 4.9.5 + webpack: 5.88.2 + webpack-dev-server: 4.15.1(webpack@5.88.2) + webpack-manifest-plugin: 4.1.1(webpack@5.88.2) + workbox-webpack-plugin: 6.6.0(webpack@5.88.2) + optionalDependencies: + fsevents: 2.3.3 + transitivePeerDependencies: + - '@babel/plugin-syntax-flow' + - '@babel/plugin-transform-react-jsx' + - '@parcel/css' + - '@swc/core' + - '@types/babel__core' + - '@types/webpack' + - bufferutil + - canvas + - clean-css + - csso + - debug + - esbuild + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - fibers + - node-notifier + - node-sass + - rework + - rework-visit + - sass + - sass-embedded + - sockjs-client + - supports-color + - ts-node + - type-fest + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + - webpack-hot-middleware + - webpack-plugin-serve + /react-style-singleton@2.2.1(@types/react@18.2.21)(react@18.2.0): resolution: {integrity: sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==} engines: {node: '>=10'} @@ -20994,7 +21349,7 @@ packages: node-sass: ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 sass: ^1.3.0 sass-embedded: '*' - webpack: ^5 + webpack: ^5.0.0 peerDependenciesMeta: fibers: optional: true @@ -21007,7 +21362,7 @@ packages: dependencies: klona: 2.0.6 neo-async: 2.6.2 - webpack: 5.88.2(esbuild@0.19.2) + webpack: 5.88.2 /sax@1.2.4: resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==} @@ -21053,7 +21408,7 @@ packages: dependencies: '@types/json-schema': 7.0.12 ajv: 8.12.0 - ajv-formats: 2.1.1(ajv@8.12.0) + ajv-formats: 2.1.1 ajv-keywords: 5.1.0(ajv@8.12.0) /scrypt-js@3.0.1: @@ -21324,12 +21679,12 @@ packages: resolution: {integrity: sha512-BokxPoLjyl3iOrgkWaakaxqnelAJSS+0V+De0kKIq6lyWrXuiPgYTGp6z3iHmqljKAaLXwZa+ctD8GccRJeVvg==} engines: {node: '>= 12.13.0'} peerDependencies: - webpack: ^5 + webpack: ^5.0.0 dependencies: abab: 2.0.6 iconv-lite: 0.6.3 source-map-js: 1.0.2 - webpack: 5.88.2(esbuild@0.19.2) + webpack: 5.88.2 /source-map-resolve@0.5.3: resolution: {integrity: sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==} @@ -21720,9 +22075,9 @@ packages: resolution: {integrity: sha512-53BiGLXAcll9maCYtZi2RCQZKa8NQQai5C4horqKyRmHj9H7QmcUyucrH+4KW/gBQbXM2AsB0axoEcFZPlfPcw==} engines: {node: '>= 12.13.0'} peerDependencies: - webpack: ^5 + webpack: ^5.0.0 dependencies: - webpack: 5.88.2(esbuild@0.19.2) + webpack: 5.88.2 /style-to-js@1.1.3: resolution: {integrity: sha512-zKI5gN/zb7LS/Vm0eUwjmjrXWw8IMtyA8aPBJZdYiQTXj4+wQ3IucOLIOnF7zCHxvW8UhIGh/uZh/t9zEHXNTQ==} @@ -21891,6 +22246,36 @@ packages: react-dom: 18.2.0(react@18.2.0) tailwind-merge: 1.14.0 + /tailwindcss@3.3.3: + resolution: {integrity: sha512-A0KgSkef7eE4Mf+nKJ83i75TMyq8HqY3qmFIJSWy8bNt0v1lG7jUcpGpoTFxAwYcWOphcTBLPPJg+bDfhDf52w==} + engines: {node: '>=14.0.0'} + hasBin: true + dependencies: + '@alloc/quick-lru': 5.2.0 + arg: 5.0.2 + chokidar: 3.5.3 + didyoumean: 1.2.2 + dlv: 1.1.3 + fast-glob: 3.3.1 + glob-parent: 6.0.2 + is-glob: 4.0.3 + jiti: 1.20.0 + lilconfig: 2.1.0 + micromatch: 4.0.5 + normalize-path: 3.0.0 + object-hash: 3.0.0 + picocolors: 1.0.0 + postcss: 8.4.29 + postcss-import: 15.1.0(postcss@8.4.29) + postcss-js: 4.0.1(postcss@8.4.29) + postcss-load-config: 4.0.1(postcss@8.4.29) + postcss-nested: 6.0.1(postcss@8.4.29) + postcss-selector-parser: 6.0.13 + resolve: 1.22.4 + sucrase: 3.34.0 + transitivePeerDependencies: + - ts-node + /tailwindcss@3.3.3(ts-node@10.9.1): resolution: {integrity: sha512-A0KgSkef7eE4Mf+nKJ83i75TMyq8HqY3qmFIJSWy8bNt0v1lG7jUcpGpoTFxAwYcWOphcTBLPPJg+bDfhDf52w==} engines: {node: '>=14.0.0'} @@ -21973,6 +22358,29 @@ packages: terser: 5.19.4 webpack: 5.88.2(esbuild@0.19.2) + /terser-webpack-plugin@5.3.9(webpack@5.88.2): + resolution: {integrity: sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==} + engines: {node: '>= 10.13.0'} + peerDependencies: + '@swc/core': '*' + esbuild: '*' + uglify-js: '*' + webpack: ^5.1.0 + peerDependenciesMeta: + '@swc/core': + optional: true + esbuild: + optional: true + uglify-js: + optional: true + dependencies: + '@jridgewell/trace-mapping': 0.3.19 + jest-worker: 27.5.1 + schema-utils: 3.3.0 + serialize-javascript: 6.0.1 + terser: 5.19.4 + webpack: 5.88.2 + /terser@5.19.4: resolution: {integrity: sha512-6p1DjHeuluwxDXcuT9VR8p64klWJKo1ILiy19s6C9+0Bh2+NWTX6nD9EPppiER4ICkHDVB1RkVpin/YW2nQn/g==} engines: {node: '>=10'} @@ -22203,7 +22611,7 @@ packages: /ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} - /ts-jest@27.1.5(@babel/core@7.22.15)(@types/jest@27.5.2)(esbuild@0.19.2)(jest@27.5.1)(typescript@4.9.5): + /ts-jest@27.1.5(@babel/core@7.22.15)(@types/jest@27.5.2)(jest@27.5.1)(typescript@4.9.5): resolution: {integrity: sha512-Xv6jBQPoBEvBq/5i2TeSG9tt/nqkbpcurrEG1b+2yfBrcJelOZF9Ml6dmyMh7bcW9JyFbRYpR5rxROSlBLTZHA==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} hasBin: true @@ -22227,9 +22635,8 @@ packages: '@babel/core': 7.22.15 '@types/jest': 27.5.2 bs-logger: 0.2.6 - esbuild: 0.19.2 fast-json-stable-stringify: 2.1.0 - jest: 27.5.1(ts-node@10.9.1) + jest: 27.5.1 jest-util: 27.5.1 json5: 2.2.3 lodash.memoize: 4.1.2 @@ -23264,7 +23671,7 @@ packages: - zod dev: false - /wagmi@0.12.19(@types/react@18.2.21)(ethers@5.7.2)(lokijs@1.5.12)(react-dom@18.2.0)(react@18.2.0)(typescript@4.9.5): + /wagmi@0.12.19(@types/react@18.2.21)(ethers@5.7.2)(lokijs@1.5.12)(react-dom@18.2.0)(react@18.2.0)(typescript@4.9.5)(zod@3.22.4): resolution: {integrity: sha512-S/el9BDb/HNeQWh1v8TvntMPX/CgKLDAoJqDb8i7jifLfWPqFL7gor3vnI1Vs6ZlB8uh7m+K1Qyg+mKhbITuDQ==} peerDependencies: ethers: '>=5.5.1 <6' @@ -23277,8 +23684,8 @@ packages: '@tanstack/query-sync-storage-persister': 4.35.0 '@tanstack/react-query': 4.35.0(react-dom@18.2.0)(react@18.2.0) '@tanstack/react-query-persist-client': 4.35.0(@tanstack/react-query@4.35.0) - '@wagmi/core': 0.10.17(@types/react@18.2.21)(ethers@5.7.2)(lokijs@1.5.12)(react@18.2.0)(typescript@4.9.5) - abitype: 0.3.0(typescript@4.9.5) + '@wagmi/core': 0.10.17(@types/react@18.2.21)(ethers@5.7.2)(lokijs@1.5.12)(react@18.2.0)(typescript@4.9.5)(zod@3.22.4) + abitype: 0.3.0(typescript@4.9.5)(zod@3.22.4) ethers: 5.7.2 react: 18.2.0 typescript: 4.9.5 @@ -23426,21 +23833,21 @@ packages: resolution: {integrity: sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==} engines: {node: '>= 12.13.0'} peerDependencies: - webpack: ^5 + webpack: ^4.0.0 || ^5.0.0 dependencies: colorette: 2.0.20 memfs: 3.5.3 mime-types: 2.1.35 range-parser: 1.2.1 schema-utils: 4.2.0 - webpack: 5.88.2(esbuild@0.19.2) + webpack: 5.88.2 /webpack-dev-server@4.15.1(webpack@5.88.2): resolution: {integrity: sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA==} engines: {node: '>= 12.13.0'} hasBin: true peerDependencies: - webpack: ^5 + webpack: ^4.37.0 || ^5.0.0 webpack-cli: '*' peerDependenciesMeta: webpack: @@ -23476,9 +23883,9 @@ packages: serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 - webpack: 5.88.2(esbuild@0.19.2) + webpack: 5.88.2 webpack-dev-middleware: 5.3.3(webpack@5.88.2) - ws: 8.14.0(bufferutil@4.0.7)(utf-8-validate@5.0.10) + ws: 8.14.0 transitivePeerDependencies: - bufferutil - debug @@ -23489,10 +23896,10 @@ packages: resolution: {integrity: sha512-YXUAwxtfKIJIKkhg03MKuiFAD72PlrqCiwdwO4VEXdRO5V0ORCNwaOwAZawPZalCbmH9kBDmXnNeQOw+BIEiow==} engines: {node: '>=12.22.0'} peerDependencies: - webpack: ^5 + webpack: ^4.44.2 || ^5.47.0 dependencies: tapable: 2.2.1 - webpack: 5.88.2(esbuild@0.19.2) + webpack: 5.88.2 webpack-sources: 2.3.1 /webpack-merge@5.9.0: @@ -23519,6 +23926,45 @@ packages: resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} engines: {node: '>=10.13.0'} + /webpack@5.88.2: + resolution: {integrity: sha512-JmcgNZ1iKj+aiR0OvTYtWQqJwq37Pf683dY9bVORwVbUrDhLhdn/PlO2sHsFHPkj7sHNQF3JwaAkp49V+Sq1tQ==} + engines: {node: '>=10.13.0'} + hasBin: true + peerDependencies: + webpack-cli: '*' + peerDependenciesMeta: + webpack-cli: + optional: true + dependencies: + '@types/eslint-scope': 3.7.4 + '@types/estree': 1.0.1 + '@webassemblyjs/ast': 1.11.6 + '@webassemblyjs/wasm-edit': 1.11.6 + '@webassemblyjs/wasm-parser': 1.11.6 + acorn: 8.10.0 + acorn-import-assertions: 1.9.0(acorn@8.10.0) + browserslist: 4.21.10 + chrome-trace-event: 1.0.3 + enhanced-resolve: 5.15.0 + es-module-lexer: 1.3.0 + eslint-scope: 5.1.1 + events: 3.3.0 + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.11 + json-parse-even-better-errors: 2.3.1 + loader-runner: 4.3.0 + mime-types: 2.1.35 + neo-async: 2.6.2 + schema-utils: 3.3.0 + tapable: 2.2.1 + terser-webpack-plugin: 5.3.9(webpack@5.88.2) + watchpack: 2.4.0 + webpack-sources: 3.2.3 + transitivePeerDependencies: + - '@swc/core' + - esbuild + - uglify-js + /webpack@5.88.2(esbuild@0.19.2): resolution: {integrity: sha512-JmcgNZ1iKj+aiR0OvTYtWQqJwq37Pf683dY9bVORwVbUrDhLhdn/PlO2sHsFHPkj7sHNQF3JwaAkp49V+Sq1tQ==} engines: {node: '>=10.13.0'} @@ -23835,12 +24281,12 @@ packages: resolution: {integrity: sha512-xNZIZHalboZU66Wa7x1YkjIqEy1gTR+zPM+kjrYJzqN7iurYZBctBLISyScjhkJKYuRrZUP0iqViZTh8rS0+3A==} engines: {node: '>=10.0.0'} peerDependencies: - webpack: ^5 + webpack: ^4.4.0 || ^5.9.0 dependencies: fast-json-stable-stringify: 2.1.0 pretty-bytes: 5.6.0 upath: 1.2.0 - webpack: 5.88.2(esbuild@0.19.2) + webpack: 5.88.2 webpack-sources: 1.4.3 workbox-build: 6.6.0 transitivePeerDependencies: @@ -23898,6 +24344,18 @@ packages: signal-exit: 3.0.7 typedarray-to-buffer: 3.1.5 + /ws@7.4.6: + resolution: {integrity: sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==} + engines: {node: '>=8.3.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + /ws@7.4.6(bufferutil@4.0.7)(utf-8-validate@5.0.10): resolution: {integrity: sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==} engines: {node: '>=8.3.0'} @@ -23929,6 +24387,18 @@ packages: utf-8-validate: 5.0.10 dev: false + /ws@7.5.9: + resolution: {integrity: sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==} + engines: {node: '>=8.3.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + /ws@7.5.9(bufferutil@4.0.7)(utf-8-validate@5.0.10): resolution: {integrity: sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==} engines: {node: '>=8.3.0'} @@ -23943,6 +24413,7 @@ packages: dependencies: bufferutil: 4.0.7 utf-8-validate: 5.0.10 + dev: false /ws@8.11.0: resolution: {integrity: sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==} @@ -23970,6 +24441,18 @@ packages: optional: true dev: false + /ws@8.14.0: + resolution: {integrity: sha512-WR0RJE9Ehsio6U4TuM+LmunEsjQ5ncHlw4sn9ihD6RoJKZrVyH9FWV3dmnwu8B2aNib1OvG2X6adUCyFpQyWcg==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + /ws@8.14.0(bufferutil@4.0.7)(utf-8-validate@5.0.10): resolution: {integrity: sha512-WR0RJE9Ehsio6U4TuM+LmunEsjQ5ncHlw4sn9ihD6RoJKZrVyH9FWV3dmnwu8B2aNib1OvG2X6adUCyFpQyWcg==} engines: {node: '>=10.0.0'} @@ -23984,6 +24467,7 @@ packages: dependencies: bufferutil: 4.0.7 utf-8-validate: 5.0.10 + dev: false /xml-name-validator@3.0.0: resolution: {integrity: sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==} @@ -24148,6 +24632,10 @@ packages: ethers: 5.7.2 dev: true + /zod@3.22.4: + resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} + dev: false + /zustand@4.4.1(@types/react@18.2.21)(react@18.2.0): resolution: {integrity: sha512-QCPfstAS4EBiTQzlaGP1gmorkh/UL1Leaj2tdj+zZCZ/9bm0WS7sI2wnfD5lpOszFqWJ1DcPnGoY8RDL61uokw==} engines: {node: '>=12.7.0'} @@ -24177,3 +24665,7 @@ packages: dependencies: '@types/node': 18.17.14 dev: false + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false