diff --git a/.changeset/funny-cheetahs-move.md b/.changeset/funny-cheetahs-move.md new file mode 100644 index 0000000000..82509dc9e9 --- /dev/null +++ b/.changeset/funny-cheetahs-move.md @@ -0,0 +1,5 @@ +--- +'@coinbase/onchainkit': minor +--- + +-**chore**: Removed `Farcaster Frames`. Deprecating `Framegear`, `Frames`, `XMTP`, and `Neynar` support. By @cpcramer #1693 diff --git a/.github/labeler.yml b/.github/labeler.yml index b9bb905e70..f3f957268b 100644 --- a/.github/labeler.yml +++ b/.github/labeler.yml @@ -2,10 +2,6 @@ root: - changed-files: - any-glob-to-any-file: '*' -framegear: -- changed-files: - - any-glob-to-any-file: framegear/** - documentation: - changed-files: - any-glob-to-any-file: site/** @@ -14,14 +10,6 @@ documentation: - changed-files: - any-glob-to-any-file: src/core/** -'pkg: farcaster': -- changed-files: - - any-glob-to-any-file: src/farcaster/** - -'pkg: frame': -- changed-files: - - any-glob-to-any-file: src/frame/** - 'pkg: fund': - changed-files: - any-glob-to-any-file: src/fund/** @@ -53,7 +41,3 @@ documentation: 'pkg: wallet': - changed-files: - any-glob-to-any-file: src/wallet/** - -'pkg: xmtp': -- changed-files: - - any-glob-to-any-file: src/xmtp/** diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 969797d514..5f8452f46c 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -24,7 +24,6 @@ jobs: - name: Kit Install dependencies run: | yarn install - cd ./framegear && yarn install && cd .. - name: Kit Test # When fails, please check your tests diff --git a/biome.json b/biome.json index 7979736d38..90b583fc85 100644 --- a/biome.json +++ b/biome.json @@ -84,7 +84,6 @@ "coverage", "dist", "esm", - "framegear", "create-onchain" ] } diff --git a/framegear/.eslintrc.json b/framegear/.eslintrc.json deleted file mode 100644 index bffb357a71..0000000000 --- a/framegear/.eslintrc.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "next/core-web-vitals" -} diff --git a/framegear/.gitignore b/framegear/.gitignore deleted file mode 100644 index fd3dbb571a..0000000000 --- a/framegear/.gitignore +++ /dev/null @@ -1,36 +0,0 @@ -# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. - -# dependencies -/node_modules -/.pnp -.pnp.js -.yarn/install-state.gz - -# testing -/coverage - -# next.js -/.next/ -/out/ - -# production -/build - -# misc -.DS_Store -*.pem - -# debug -npm-debug.log* -yarn-debug.log* -yarn-error.log* - -# local env files -.env*.local - -# vercel -.vercel - -# typescript -*.tsbuildinfo -next-env.d.ts diff --git a/framegear/README.md b/framegear/README.md deleted file mode 100644 index 675c115b1f..0000000000 --- a/framegear/README.md +++ /dev/null @@ -1,21 +0,0 @@ -# framegear - -Local frame devtools. - -## Getting Started - -First, run the development server: - -```bash -npm run dev -# or -yarn dev -# or -pnpm dev -# or -bun dev -``` - -Open [http://localhost:1337](http://localhost:1337) with your browser to see the result. - -https://github.com/coinbase/onchainkit/assets/9300702/58771665-f40b-4f86-a6b4-99b7afe28a20 diff --git a/framegear/app/api/getFrame/route.ts b/framegear/app/api/getFrame/route.ts deleted file mode 100644 index c4c71f4059..0000000000 --- a/framegear/app/api/getFrame/route.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { NextRequest, NextResponse } from 'next/server'; - -export async function POST(req: NextRequest): Promise { - const data = await req.json(); - try { - const response = await fetch(data.url); - const text = await response.text(); - return NextResponse.json({ html: text }, { status: 200 }); - } catch (error) { - console.error('Error fetching frame:', error); - return NextResponse.json({}, { status: 500, statusText: 'Internal Server Error' }); - } -} - -export const dynamic = 'force-dynamic'; diff --git a/framegear/app/api/postFrame/route.ts b/framegear/app/api/postFrame/route.ts deleted file mode 100644 index 35ddc84d1f..0000000000 --- a/framegear/app/api/postFrame/route.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { NextRequest } from 'next/server'; -import { getMockFrameRequest } from '@coinbase/onchainkit/frame'; - -export async function POST(req: NextRequest) { - const data = await req.json(); - const { frameData, options } = data; - const postUrl = frameData.url; - const debugPayload = getMockFrameRequest( - { untrustedData: frameData, trustedData: { messageBytes: '' } }, - options, - ); - - const res = await fetch(postUrl, { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - }, - body: JSON.stringify(debugPayload), - redirect: 'manual', - }); - - if (res.status === 302) { - const redirectUrl = res.headers.get('Location'); - return Response.json({ redirectUrl }); - } else { - const html = await res.text(); - return Response.json({ html }); - } -} diff --git a/framegear/app/globals.css b/framegear/app/globals.css deleted file mode 100644 index e6e74df1e1..0000000000 --- a/framegear/app/globals.css +++ /dev/null @@ -1,29 +0,0 @@ -@tailwind base; -@tailwind components; -@tailwind utilities; - -:root { - --foreground-rgb: 0, 0, 0; - --background-start-rgb: 214, 219, 220; - --background-end-rgb: 255, 255, 255; -} - -@media (prefers-color-scheme: dark) { - :root { - --foreground-rgb: 255, 255, 255; - --background-start-rgb: 0, 0, 0; - --background-end-rgb: 0, 0, 0; - } -} - -body { - color: rgb(var(--foreground-rgb)); - background: linear-gradient(to bottom, transparent, rgb(var(--background-end-rgb))) - rgb(var(--background-start-rgb)); -} - -@layer utilities { - .text-balance { - text-wrap: balance; - } -} diff --git a/framegear/app/icon.png b/framegear/app/icon.png deleted file mode 100644 index 33032acbd8..0000000000 Binary files a/framegear/app/icon.png and /dev/null differ diff --git a/framegear/app/layout.tsx b/framegear/app/layout.tsx deleted file mode 100644 index 7191ad63af..0000000000 --- a/framegear/app/layout.tsx +++ /dev/null @@ -1,22 +0,0 @@ -import type { Metadata } from 'next'; -import { Inter } from 'next/font/google'; -import './globals.css'; - -const inter = Inter({ subsets: ['latin'] }); - -export const metadata: Metadata = { - title: 'framegear', - description: 'local frame devtools', -}; - -export default function RootLayout({ - children, -}: Readonly<{ - children: React.ReactNode; -}>) { - return ( - - {children} - - ); -} diff --git a/framegear/app/page.tsx b/framegear/app/page.tsx deleted file mode 100644 index 862c164144..0000000000 --- a/framegear/app/page.tsx +++ /dev/null @@ -1,28 +0,0 @@ -'use client'; -import { Frame } from '@/components/Frame'; -import { FrameInput } from '@/components/FrameInput'; -import { Header } from '@/components/Header'; -import { ValidationResults } from '@/components/ValidationResults'; -import { RedirectModalProvider } from '@/components/RedirectModalContext/RedirectModalContext'; -import TextInputsProvider from '@/contexts/TextInputs'; - -export default function Home() { - return ( - - -
-
-
-
- - -
- -
-
-
-
- ); -} diff --git a/framegear/components/Frame/Frame.tsx b/framegear/components/Frame/Frame.tsx deleted file mode 100644 index fe8db91760..0000000000 --- a/framegear/components/Frame/Frame.tsx +++ /dev/null @@ -1,241 +0,0 @@ -import { postFrame } from '@/utils/postFrame'; -import { frameResultsAtom, mockFrameOptionsAtom } from '@/utils/store'; -import { useAtom } from 'jotai'; -import { - ChangeEvent, - PropsWithChildren, - useCallback, - useMemo, - useState, -} from 'react'; -import { ExternalLinkIcon, ResetIcon, RocketIcon } from '@radix-ui/react-icons'; -import { useRedirectModal } from '@/components/RedirectModalContext/RedirectModalContext'; -import { FrameMetadataWithImageObject } from '@/utils/frameResultToFrameMetadata'; -import { useTextInputs } from '@/contexts/TextInputs'; -import clsx from 'clsx'; - -export function Frame() { - const [results] = useAtom(frameResultsAtom); - - if (results.length === 0) { - return ; - } - - const latestFrame = results[results.length - 1]; - - return ; -} - -function ValidFrame({ metadata }: { metadata: FrameMetadataWithImageObject }) { - const { inputText, setInputText } = useTextInputs(); - const { image, input, buttons } = metadata; - const imageAspectRatioClassname = clsx( - metadata.image.aspectRatio === '1:1' ? 'aspect-square' : 'aspect-[1.91/1]' - ); - - const handleInputChange = useCallback( - (e: ChangeEvent) => setInputText(e.target.value), - [setInputText] - ); - - return ( -
- {image.src ? ( - <> - {/* eslint-disable-next-line @next/next/no-img-element */} - - - ) : ( -
-

No Image Found

-
- )} -
- {!!input && ( - - )} -
- {buttons?.map((button, index) => - button ? ( - - {button.label} - - ) : null - )} -
-
- -
- ); -} - -function ErrorFrame() { - // TODO: implement -- decide how to handle - // - simply show an error? - // - best effort rendering of what they do have? - // - maybe just ValidFrame with a red border? - return ; -} - -function PlaceholderFrame() { - return ( -
-
-
- - Get Started - -
-
- ); -} - -function FrameButton({ - children, - button, - index, - inputText, - state, -}: PropsWithChildren<{ - button?: NonNullable[0]; - index: number; - inputText: string; - state: any; -}>) { - const { openModal } = useRedirectModal(); - const [isLoading, setIsLoading] = useState(false); - const [_, setResults] = useAtom(frameResultsAtom); - const [mockFrameOptions] = useAtom(mockFrameOptionsAtom); - const { setInputText } = useTextInputs(); - - const handleClick = useCallback(async () => { - if (button?.action === 'post' || button?.action === 'post_redirect') { - // TODO: collect user options (follow, like, etc.) and include - const confirmAction = async () => { - const result = await postFrame( - { - buttonIndex: index, - url: (button as any).postUrl!, - state: JSON.stringify(state), - // TODO: make these user-input-driven - castId: { - fid: 0, - hash: '0xthisisnotreal', - }, - inputText, - fid: 0, - messageHash: '0xthisisnotreal', - network: 0, - timestamp: 0, - }, - mockFrameOptions - ); - // TODO: handle when result is not defined - if (result) { - setResults((prev) => [...prev, result]); - } - }; - setIsLoading(true); - if (button?.action === 'post_redirect') { - openModal(confirmAction); - } else { - confirmAction(); - } - setIsLoading(false); - setInputText(''); - return; - } else if (button?.action === 'link') { - const onConfirm = () => window.open(button.target, '_blank'); - openModal(onConfirm); - } else { - alert( - `Button action "${button?.action}" not implemented. - -You can test this action on the official Warpcast validator: https://warpcast.com/~/developers/frames - -(must deploy frame to a publicly accessible URL)` - ); - } - // TODO: implement other actions (mint, etc.) - }, [ - button, - index, - inputText, - mockFrameOptions, - openModal, - setResults, - state, - setInputText, - ]); - - const buttonIcon = useMemo(() => { - switch (button?.action) { - case 'link': - return ; - case 'post_redirect': - return ; - case 'mint': - return ; - default: - null; - } - }, [button?.action]); - - return ( - - ); -} - -function MockFrameOptions() { - const [mockFrameOptions, setMockFrameOptions] = useAtom(mockFrameOptionsAtom); - const toggleFollowing = useCallback(() => { - setMockFrameOptions((prev) => ({ ...prev, following: !prev.following })); - }, [setMockFrameOptions]); - return ( -
- -
- ); -} diff --git a/framegear/components/Frame/index.ts b/framegear/components/Frame/index.ts deleted file mode 100644 index a485afcd3a..0000000000 --- a/framegear/components/Frame/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { Frame } from './Frame'; diff --git a/framegear/components/FrameInput/FrameInput.tsx b/framegear/components/FrameInput/FrameInput.tsx deleted file mode 100644 index 9f40e2a9b8..0000000000 --- a/framegear/components/FrameInput/FrameInput.tsx +++ /dev/null @@ -1,46 +0,0 @@ -import { useCallback, useState } from 'react'; -import { fetchFrame } from '@/utils/fetchFrame'; -import { frameResultsAtom } from '@/utils/store'; -import { useAtom } from 'jotai'; -import { useTextInputs } from '@/contexts/TextInputs'; -import clsx from 'clsx'; - -export function FrameInput() { - const [url, setUrl] = useState(''); - const [_, setResults] = useAtom(frameResultsAtom); - const { setInputText } = useTextInputs(); - const [isLoading, setIsLoading] = useState(false); - - const getResults = useCallback(async () => { - setIsLoading(true); - const result = await fetchFrame(url); - setResults((prev) => [...prev, result]); - setInputText(''); - setIsLoading(false); - }, [setInputText, setResults, url]); - - return ( -
- - -
- ); -} diff --git a/framegear/components/FrameInput/index.ts b/framegear/components/FrameInput/index.ts deleted file mode 100644 index 4086ca06d7..0000000000 --- a/framegear/components/FrameInput/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { FrameInput } from './FrameInput'; diff --git a/framegear/components/Header/Header.tsx b/framegear/components/Header/Header.tsx deleted file mode 100644 index 6886ca3ad8..0000000000 --- a/framegear/components/Header/Header.tsx +++ /dev/null @@ -1,32 +0,0 @@ -import { APP_NAME } from '@/utils/constants'; -import { ArrowTopRightIcon } from '@radix-ui/react-icons'; -import Link from 'next/link'; - -export function Header() { - return ( -
-
-

- -

- - Farcaster Frames specs - -
-
- ); -} - -function AppName({ className: additionalClasses = '' }: { className?: string }) { - return ( - - {APP_NAME} - - ); -} diff --git a/framegear/components/Header/index.ts b/framegear/components/Header/index.ts deleted file mode 100644 index 29429dc97e..0000000000 --- a/framegear/components/Header/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { Header } from './Header'; diff --git a/framegear/components/RedirectModal/RedirectModal.tsx b/framegear/components/RedirectModal/RedirectModal.tsx deleted file mode 100644 index e288530aa7..0000000000 --- a/framegear/components/RedirectModal/RedirectModal.tsx +++ /dev/null @@ -1,36 +0,0 @@ -export function RedirectModal({ - isOpen, - onClose, - onConfirm, -}: { - isOpen: boolean; - onClose: () => void; - onConfirm: () => void; -}) { - if (!isOpen) return null; - - return ( -
-
-

Leaving website

-

If you connect your wallet and the site is malicious, you may lose funds.

-
- - -
-
-
- ); -} diff --git a/framegear/components/RedirectModal/index.ts b/framegear/components/RedirectModal/index.ts deleted file mode 100644 index 0354b86f73..0000000000 --- a/framegear/components/RedirectModal/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { RedirectModal } from './RedirectModal'; diff --git a/framegear/components/RedirectModalContext/RedirectModalContext.tsx b/framegear/components/RedirectModalContext/RedirectModalContext.tsx deleted file mode 100644 index f555ec4cd7..0000000000 --- a/framegear/components/RedirectModalContext/RedirectModalContext.tsx +++ /dev/null @@ -1,45 +0,0 @@ -import React, { createContext, useContext, useState, ReactNode } from 'react'; -import { RedirectModal } from '@/components/RedirectModal'; - -interface RedirectModalContextType { - openModal: (onConfirm: () => void) => void; - closeModal: () => void; -} - -const RedirectModalContext = createContext(undefined); - -export const useRedirectModal = () => { - const context = useContext(RedirectModalContext); - if (context === undefined) { - throw new Error('useRedirectModal must be used within a RedirectModalProvider'); - } - return context; -}; - -export const RedirectModalProvider: React.FC<{ children: ReactNode }> = ({ children }) => { - const [onConfirm, setOnConfirm] = useState<(() => void) | null>(null); - - const openModal = (confirmAction: () => void) => { - setOnConfirm(() => confirmAction); - }; - - const closeModal = () => { - setOnConfirm(null); - }; - - return ( - - {children} - { - if (onConfirm) { - onConfirm(); - closeModal(); - } - }} - /> - - ); -}; diff --git a/framegear/components/RedirectModalContext/index.ts b/framegear/components/RedirectModalContext/index.ts deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/framegear/components/ValidationResults/ValidationResults.tsx b/framegear/components/ValidationResults/ValidationResults.tsx deleted file mode 100644 index 9035dd8c4e..0000000000 --- a/framegear/components/ValidationResults/ValidationResults.tsx +++ /dev/null @@ -1,90 +0,0 @@ -import { frameResultsAtom } from '@/utils/store'; -import { vNextSchema } from '@/utils/validation'; -import { useAtom } from 'jotai'; -import { useMemo } from 'react'; -import { type SchemaDescription } from 'yup'; - -const REQUIRED_FIELD_NAMES = Object.entries(vNextSchema.describe().fields).reduce( - (acc, [name, description]) => - (description as SchemaDescription).optional ? acc : [...acc, name], - [] as string[], -); - -export function ValidationResults() { - const [results] = useAtom(frameResultsAtom); - - if (results.length === 0) { - return ; - } - - return ; -} - -function ValidationResultsPlaceholder() { - return ( -
-

Frame validations

-
-

No data yet.

-
-
- ); -} - -function ValidationResultsContent() { - const [results] = useAtom(frameResultsAtom); - const latestResult = results[results.length - 1]; - const optionalTags = useMemo(() => { - const requiredNames = new Set(REQUIRED_FIELD_NAMES); - const tagEntries = Object.entries(latestResult?.tags); - return tagEntries.filter((tag) => !requiredNames.has(tag[0])); - }, [latestResult]); - - return ( -
-

- Frame validations{' '} - {!!latestResult && ( - - (tl;dr: {latestResult.isValid ? 'lgtm ✅' : 'borked ❌'}) - - )} -

-
-
    - - {REQUIRED_FIELD_NAMES.map((name) => { - const value = latestResult.tags[name]; - return ( - - ); - })} - {optionalTags.map(([key, value]) => ( - - ))} -
-
-
- ); -} - -type ValidationEntryProps = { name: string; value?: string; error?: string; showFlag?: boolean }; -function ValidationEntry({ name, value, error, showFlag = true }: ValidationEntryProps) { - return ( -
-
- {name} - {showFlag && {error ? '🔴' : '🟢'}} -
-
{value || 'Not set'}
- {!!error &&
{error}
} -
- ); -} diff --git a/framegear/components/ValidationResults/index.ts b/framegear/components/ValidationResults/index.ts deleted file mode 100644 index 742a346fb4..0000000000 --- a/framegear/components/ValidationResults/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { ValidationResults } from './ValidationResults'; diff --git a/framegear/contexts/TextInputs.tsx b/framegear/contexts/TextInputs.tsx deleted file mode 100644 index 1cd6f4e499..0000000000 --- a/framegear/contexts/TextInputs.tsx +++ /dev/null @@ -1,34 +0,0 @@ -import React, { createContext, useState, useContext, ReactNode } from 'react'; - -type TextInputsContextType = { - inputText: string; - setInputText: React.Dispatch>; -}; - -const TextInputsContext = createContext( - undefined -); - -type TextInputsProviderProps = { - children?: ReactNode; -}; - -export default function TextInputsProvider({ - children, -}: TextInputsProviderProps) { - const [inputText, setInputText] = useState(''); - - return ( - - {children} - - ); -} - -export function useTextInputs() { - const context = useContext(TextInputsContext); - if (context === undefined) { - throw new Error('useTextInputs must be used within a TextInputsProvider'); - } - return context; -} diff --git a/framegear/jest.config.ts b/framegear/jest.config.ts deleted file mode 100644 index 14de0c6653..0000000000 --- a/framegear/jest.config.ts +++ /dev/null @@ -1,18 +0,0 @@ -import type { Config } from 'jest'; -import nextJest from 'next/jest.js'; - -const createJestConfig = nextJest({ - // Provide the path to your Next.js app to load next.config.js and .env files in your test environment - dir: './', -}); - -// Add any custom config to be passed to Jest -const config: Config = { - coverageProvider: 'v8', - testEnvironment: 'jsdom', - // Add more setup options before each test is run - // setupFilesAfterEnv: ['/jest.setup.ts'], -}; - -// createJestConfig is exported this way to ensure that next/jest can load the Next.js config which is async -export default createJestConfig(config); diff --git a/framegear/next.config.mjs b/framegear/next.config.mjs deleted file mode 100644 index 4678774e6d..0000000000 --- a/framegear/next.config.mjs +++ /dev/null @@ -1,4 +0,0 @@ -/** @type {import('next').NextConfig} */ -const nextConfig = {}; - -export default nextConfig; diff --git a/framegear/package.json b/framegear/package.json deleted file mode 100644 index b0007b1221..0000000000 --- a/framegear/package.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "name": "framegear", - "version": "0.1.0", - "private": true, - "scripts": { - "dev": "next dev -p 1337", - "build": "next build", - "start": "next start", - "lint": "next lint", - "test": "jest" - }, - "dependencies": { - "@coinbase/onchainkit": "^0.29.1", - "@radix-ui/react-icons": "^1.3.0", - "clsx": "^2.1.1", - "jotai": "^2.6.4", - "next": "14.2.10", - "react": "^18", - "react-dom": "^18", - "tar": "^7.0.0", - "yup": "^1.3.3" - }, - "devDependencies": { - "@testing-library/jest-dom": "^6.4.2", - "@testing-library/react": "^14.2.1", - "@types/node": "^20", - "@types/react": "^18", - "@types/react-dom": "^18", - "autoprefixer": "^10.0.1", - "eslint": "^8", - "eslint-config-next": "14.1.0", - "jest": "^29.7.0", - "jest-environment-jsdom": "^29.7.0", - "postcss": "^8", - "tailwindcss": "^3.3.0", - "ts-node": "^10.9.2", - "typescript": "^5" - } -} diff --git a/framegear/postcss.config.js b/framegear/postcss.config.js deleted file mode 100644 index 12a703d900..0000000000 --- a/framegear/postcss.config.js +++ /dev/null @@ -1,6 +0,0 @@ -module.exports = { - plugins: { - tailwindcss: {}, - autoprefixer: {}, - }, -}; diff --git a/framegear/tailwind.config.ts b/framegear/tailwind.config.ts deleted file mode 100644 index f19c293e01..0000000000 --- a/framegear/tailwind.config.ts +++ /dev/null @@ -1,29 +0,0 @@ -import type { Config } from 'tailwindcss'; - -const config: Config = { - content: ['./components/**/*.{js,ts,jsx,tsx,mdx}', './app/**/*.{js,ts,jsx,tsx,mdx}'], - theme: { - extend: { - backgroundColor: { - content: '#27282B', - banner: '#141519', - 'content-light': '#f3f3f3', - farcaster: '#855DCD', - input: '#191918', - 'input-light': '#DBDBDB', - 'link-button': '#2E3137', - 'button-gutter-light': '#CBC8C7', - }, - borderColor: { - button: '#cfd0d2', - 'pallette-line': 'rgba(138, 145, 158, 0.20)', - light: '#CFD0D2', - }, - maxWidth: { - 'layout-max': '1280px', - }, - }, - }, - plugins: [], -}; -export default config; diff --git a/framegear/tsconfig.json b/framegear/tsconfig.json deleted file mode 100644 index 9ba02084ae..0000000000 --- a/framegear/tsconfig.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "compilerOptions": { - "target": "ES2022", - "lib": [ - "dom", - "dom.iterable", - "esnext" - ], - "allowJs": true, - "skipLibCheck": true, - "strict": true, - "noEmit": true, - "esModuleInterop": true, - "module": "esnext", - "moduleResolution": "bundler", - "resolveJsonModule": true, - "isolatedModules": true, - "jsx": "preserve", - "incremental": true, - "plugins": [ - { - "name": "next" - } - ], - "paths": { - "@/*": [ - "./*" - ] - } - }, - "include": [ - "next-env.d.ts", - "**/*.ts", - "**/*.tsx", - ".next/types/**/*.ts" - ], - "exclude": [ - "node_modules" - ] -} diff --git a/framegear/utils/constants.ts b/framegear/utils/constants.ts deleted file mode 100644 index b489f93830..0000000000 --- a/framegear/utils/constants.ts +++ /dev/null @@ -1 +0,0 @@ -export const APP_NAME = 'framegear'; diff --git a/framegear/utils/fetchFrame.ts b/framegear/utils/fetchFrame.ts deleted file mode 100644 index 80fdcd3772..0000000000 --- a/framegear/utils/fetchFrame.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { parseHtml } from './parseHtml'; - -export async function fetchFrame(url: string) { - const response = await fetch('/api/getFrame', { - body: JSON.stringify({ url }), - method: 'POST', - headers: { - contentType: 'application/json', - }, - }); - - const json = (await response.json()) as { html: string }; - const html = json.html; - const parsedHtml = parseHtml(html); - return { ...parsedHtml, url }; -} diff --git a/framegear/utils/frameResultToFrameMetadata.test.ts b/framegear/utils/frameResultToFrameMetadata.test.ts deleted file mode 100644 index b823363108..0000000000 --- a/framegear/utils/frameResultToFrameMetadata.test.ts +++ /dev/null @@ -1,59 +0,0 @@ -import { frameResultToFrameMetadata } from './frameResultToFrameMetadata'; -import { describe, expect, it } from 'vitest'; - -describe('frameResultToFrameMetadata', () => { - const baseResult = { - 'fc:frame:button:1': 'Button 1', - 'fc:frame:button:1:action': 'Action 1', - 'fc:frame:button:1:target': 'Target 1', - 'fc:frame:image': 'Image URL', - 'fc:frame:input:text': 'Input Text', - 'fc:frame:post_url': 'Post URL', - 'fc:frame:state': JSON.stringify({ key: 'value' }), - 'fc:frame:refresh_period': '10', - }; - - it('should correctly map frame result to frame metadata', () => { - const metadata = frameResultToFrameMetadata(baseResult); - - expect(metadata).toEqual({ - buttons: [ - { - action: 'Action 1', - label: 'Button 1', - target: 'Target 1', - postUrl: 'Post URL', - }, - undefined, - undefined, - undefined, - ], - image: { src: 'Image URL', aspectRatio: undefined }, - input: { text: 'Input Text' }, - postUrl: 'Post URL', - state: { key: 'value' }, - refreshPeriod: 10, - }); - }); - - it('should handle missing optional fields', () => { - const result = { ...baseResult }; - delete (result as any)['fc:frame:button:1']; - delete (result as any)['fc:frame:image']; - delete (result as any)['fc:frame:input:text']; - delete (result as any)['fc:frame:post_url']; - delete (result as any)['fc:frame:state']; - delete (result as any)['fc:frame:refresh_period']; - - const metadata = frameResultToFrameMetadata(result); - - expect(metadata).toEqual({ - buttons: [undefined, undefined, undefined, undefined], - image: { src: undefined, aspectRatio: undefined }, - input: undefined, - postUrl: undefined, - state: undefined, - refreshPeriod: undefined, - }); - }); -}); diff --git a/framegear/utils/frameResultToFrameMetadata.ts b/framegear/utils/frameResultToFrameMetadata.ts deleted file mode 100644 index 212cdf217e..0000000000 --- a/framegear/utils/frameResultToFrameMetadata.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { FrameImageMetadata, FrameMetadataType } from '@coinbase/onchainkit/frame'; - -export type FrameMetadataWithImageObject = FrameMetadataType & { - image: FrameImageMetadata; -}; - -export function frameResultToFrameMetadata( - result: Record, -): FrameMetadataWithImageObject { - const postUrl = result['fc:frame:post_url']; - const buttons = [1, 2, 3, 4].map((idx) => - result[`fc:frame:button:${idx}`] - ? { - action: result[`fc:frame:button:${idx}:action`] || 'post', - label: result[`fc:frame:button:${idx}`], - target: result[`fc:frame:button:${idx}:target`], - postUrl: result[`fc:frame:button:${idx}:post_url`] || postUrl, - } - : undefined, - ); - const imageSrc = result['fc:frame:image']; - const imageAspectRatio = result['fc:frame:image:aspect_ratio']; - const inputText = result['fc:frame:input:text']; - const input = inputText ? { text: inputText } : undefined; - const rawState = result['fc:frame:state']; - const rawRefreshPeriod = result['fc:frame:refresh_period']; - const refreshPeriod = rawRefreshPeriod ? parseInt(rawRefreshPeriod, 10) : undefined; - const state = rawState ? JSON.parse(decodeURIComponent(result['fc:frame:state'])) : undefined; - - return { - buttons: buttons as any, - image: { src: imageSrc, aspectRatio: imageAspectRatio as any }, - input, - postUrl, - state, - refreshPeriod, - }; -} diff --git a/framegear/utils/parseHtml.ts b/framegear/utils/parseHtml.ts deleted file mode 100644 index 58393fcada..0000000000 --- a/framegear/utils/parseHtml.ts +++ /dev/null @@ -1,47 +0,0 @@ -import { frameResultToFrameMetadata } from './frameResultToFrameMetadata'; -import { vNextSchema } from './validation'; - -export function parseHtml(html: string) { - const document = new DOMParser().parseFromString(html, 'text/html'); - - const ogImage = document.querySelectorAll(`[property='og:image']`); - - // According to spec, keys on the metatags should be on "property", but there are examples - // in the wild where they're on "name". Process name tags first so that property tags take - // precedence. - const frameMetaTagsProperty = document.querySelectorAll(`[property^='fc:frame']`); - const frameMetaTagsName = document.querySelectorAll(`[name^='fc:frame']`); - - const nameTags = [...frameMetaTagsName]; - const propertyTags = [...ogImage, ...frameMetaTagsProperty]; - const tags: Record = {}; - - function processTag(tag: Element, keyName: 'property' | 'name') { - const key = tag.getAttribute(keyName); - const value = tag.getAttribute('content'); - if (key && value) { - tags[key] = value; - } - } - nameTags.forEach((t) => processTag(t, 'name')); - propertyTags.forEach((t) => processTag(t, 'property')); - - const isValid = vNextSchema.isValidSync(tags); - const errors = aggregateValidationErrors(tags); - const metadata = frameResultToFrameMetadata(tags); - - return { isValid, errors, tags, metadata }; -} - -function aggregateValidationErrors(tags: Record) { - try { - vNextSchema.validateSync(tags, { abortEarly: false }); - } catch (e) { - const errors: Record = {}; - (e as any).inner.forEach((error: any) => { - errors[error.path as string] = error.message; - }); - return errors; - } - return {}; -} diff --git a/framegear/utils/postFrame.ts b/framegear/utils/postFrame.ts deleted file mode 100644 index 9e575df907..0000000000 --- a/framegear/utils/postFrame.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { FrameRequest, MockFrameRequestOptions } from '@coinbase/onchainkit/frame'; -import { parseHtml } from './parseHtml'; - -type FrameData = FrameRequest['untrustedData']; - -export async function postFrame(frameData: FrameData, options?: MockFrameRequestOptions) { - // TODO: handle exceptional cases - const res = await fetch('/api/postFrame', { - body: JSON.stringify({ - frameData, - options, - }), - method: 'POST', - headers: { - contentType: 'application/json', - }, - }); - const json = await res.json(); - - if (json.redirectUrl) { - window.location.href = json.redirectUrl; - return; - } - - const html = json.html; - return parseHtml(html); -} diff --git a/framegear/utils/store.ts b/framegear/utils/store.ts deleted file mode 100644 index c083f52f28..0000000000 --- a/framegear/utils/store.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { atom } from 'jotai'; -import { fetchFrame } from './fetchFrame'; -import { MockFrameRequestOptions } from '@coinbase/onchainkit/frame'; - -// We store an array here so that we can step through history, e.g. seeing the -// chain of responses through a number of frame actions. -export const frameResultsAtom = atom>[]>([]); - -export const mockFrameOptionsAtom = atom({}); diff --git a/framegear/utils/validation.test.ts b/framegear/utils/validation.test.ts deleted file mode 100644 index c7914b0cca..0000000000 --- a/framegear/utils/validation.test.ts +++ /dev/null @@ -1,243 +0,0 @@ -import { vNextSchema } from './validation'; -import { describe, expect, it } from 'vitest'; - -const baseGoodDefinition = { - 'fc:frame': 'vNext', - 'fc:frame:image': 'https://images.party/this-is-a-test.apng', - 'og:image': 'https://images.party/this-is-a-test.apng', -}; - -describe('schema validation', () => { - describe('vNext', () => { - it('fails on empty object', () => { - expect(vNextSchema.isValidSync({})).toBe(false); - }); - it('succeeds on minimum viable schema', () => { - expect(vNextSchema.isValidSync(baseGoodDefinition)).toBe(true); - }); - it('fails on minimum viable schema with incorrect version', () => { - expect( - vNextSchema.isValidSync({ - ...baseGoodDefinition, - 'fc:frame': 'vParty', - }), - ).toBe(false); - }); - - describe('buttons', () => { - it('fails on otherwise valid schema where buttons are not sequenced correctly', () => { - // 1 is undefined - expect( - vNextSchema.isValidSync({ - ...baseGoodDefinition, - 'fc:frame:button:2': 'henlo', - }), - ).toBe(false); - - // 1 is defined, 2 is undefined - expect( - vNextSchema.isValidSync({ - ...baseGoodDefinition, - 'fc:frame:button:1': 'henlo', - 'fc:frame:button:3': 'henlo', - }), - ).toBe(false); - - // 1 and 2 are defined, 3 is undefined - expect( - vNextSchema.isValidSync({ - ...baseGoodDefinition, - 'fc:frame:button:1': 'henlo', - 'fc:frame:button:2': 'henlo', - 'fc:frame:button:4': 'henlo', - }), - ).toBe(false); - }); - - it('succeeds when buttons are sequenced correctly', () => { - expect( - vNextSchema.isValidSync({ - ...baseGoodDefinition, - 'fc:frame:button:1': 'henlo', - 'fc:frame:button:2': 'henlo', - 'fc:frame:button:3': 'henlo', - 'fc:frame:button:4': 'henlo', - }), - ).toBe(true); - }); - - it('fails when button action is not "post" or "post_redirect"', () => { - expect( - vNextSchema.isValidSync({ - ...baseGoodDefinition, - 'fc:frame:button:1': 'henlo', - 'fc:frame:button:1:action': 'post', - 'fc:frame:button:2': 'henlo', - 'fc:frame:button:2:action': 'post_url', - 'fc:frame:button:3': 'henlo', - 'fc:frame:button:3:action': 'henlo', - 'fc:frame:button:4': 'henlo', - }), - ).toBe(false); - }); - - it('succeeds when button action is "post", "post_redirect", "mint", or "link"', () => { - expect( - vNextSchema.isValidSync({ - ...baseGoodDefinition, - 'fc:frame:button:1': 'henlo', - 'fc:frame:button:1:action': 'post', - 'fc:frame:button:2': 'henlo', - 'fc:frame:button:2:action': 'post_redirect', - 'fc:frame:button:3': 'henlo', - 'fc:frame:button:3:action': 'mint', - 'fc:frame:button:4': 'henlo', - 'fc:frame:button:4:action': 'link', - }), - ).toBe(true); - }); - - it('succeeds when button action is "tx"', () => { - expect( - vNextSchema.isValidSync({ - ...baseGoodDefinition, - 'fc:frame:button:1': 'henlo', - 'fc:frame:button:1:action': 'post', - 'fc:frame:button:2': 'henlo', - 'fc:frame:button:2:action': 'post_redirect', - 'fc:frame:button:3': 'henlo', - 'fc:frame:button:3:action': 'mint', - 'fc:frame:button:4': 'henlo', - 'fc:frame:button:4:action': 'tx', - }), - ).toBe(true); - }); - }); - - describe('post_url', () => { - it('succeeds when post_url is less than 256 bytes', () => { - expect( - vNextSchema.isValidSync({ - ...baseGoodDefinition, - 'fc:frame:post_url': 'gopher://neato.test', - }), - ).toBe(true); - }); - it('succeeds when post_url is exactly 256 bytes', () => { - expect( - vNextSchema.isValidSync({ - ...baseGoodDefinition, - 'fc:frame:post_url': new Array(256).fill('a').join(''), - }), - ).toBe(true); - }); - it('fails when post_url exceeds 256 bytes', () => { - expect( - vNextSchema.isValidSync({ - ...baseGoodDefinition, - 'fc:frame:post_url': new Array(257).fill('a').join(''), - }), - ).toBe(false); - }); - - it('fails on otherwise valid schema where button:1:post_url is too long', () => { - expect( - vNextSchema.isValidSync({ - ...baseGoodDefinition, - 'fc:frame:button:1:post_url': new Array(257).fill('a').join(''), - }), - ).toBe(false); - }); - - it('succeeds on valid schema where button:1:post_url is a valid URL', () => { - expect( - vNextSchema.isValidSync({ - ...baseGoodDefinition, - 'fc:frame:button:1:post_url': 'https://valid.url', - }), - ).toBe(true); - }); - }); - - describe('input:text', () => { - it('succeeds when input:text is less than 32 bytes', () => { - expect( - vNextSchema.isValidSync({ - ...baseGoodDefinition, - 'fc:frame:input:text': 'Enter a message', - }), - ).toBe(true); - }); - it('succeeds when input:text is exactly 32 bytes', () => { - expect( - vNextSchema.isValidSync({ - ...baseGoodDefinition, - 'fc:frame:input:text': new Array(32).fill('a').join(''), - }), - ).toBe(true); - }); - it('fails when input:text exceeds 32 bytes', () => { - expect( - vNextSchema.isValidSync({ - ...baseGoodDefinition, - 'fc:frame:input:text': new Array(33).fill('a').join(''), - }), - ).toBe(false); - }); - }); - - describe('state', () => { - it('succeeds when state is less than 4096 bytes', () => { - expect( - vNextSchema.isValidSync({ - ...baseGoodDefinition, - 'fc:frame:state': '{"hello": "goodbye"}', - }), - ).toBe(true); - }); - it('succeeds when state is exactly 4096 bytes', () => { - expect( - vNextSchema.isValidSync({ - ...baseGoodDefinition, - 'fc:frame:state': new Array(4096).fill('a').join(''), - }), - ).toBe(true); - }); - it('fails when state exceeds 4096 bytes', () => { - expect( - vNextSchema.isValidSync({ - ...baseGoodDefinition, - 'fc:frame:state': new Array(4097).fill('a').join(''), - }), - ).toBe(false); - }); - }); - - describe('aspect_ratio', () => { - it('succeeds when 1:1', () => { - expect( - vNextSchema.isValidSync({ - ...baseGoodDefinition, - 'fc:frame:image:aspect_ratio': '1:1', - }), - ).toBe(true); - }); - it('succeeds when 1.91:1', () => { - expect( - vNextSchema.isValidSync({ - ...baseGoodDefinition, - 'fc:frame:image:aspect_ratio': '1.91:1', - }), - ).toBe(true); - }); - it('fails when some other value', () => { - expect( - vNextSchema.isValidSync({ - ...baseGoodDefinition, - 'fc:frame:image:aspect_ratio': '1.618:1', - }), - ).toBe(false); - }); - }); - }); -}); diff --git a/framegear/utils/validation.ts b/framegear/utils/validation.ts deleted file mode 100644 index d5ca3a4e18..0000000000 --- a/framegear/utils/validation.ts +++ /dev/null @@ -1,100 +0,0 @@ -import * as yup from 'yup'; - -export const vNextSchema = yup.object({ - 'fc:frame': yup.string().required().matches(/vNext/, '"fc:frame" must be "vNext"'), - 'fc:frame:image': yup.string().required(), - 'og:image': yup.string().required(), - 'fc:frame:button:1': yup.string().optional(), - // TODO: yup doesn't infer type well from this concise definition - ...[2, 3, 4].reduce( - (acc, index) => ({ - ...acc, - [`fc:frame:button:${index}`]: yup - .string() - .optional() - .test( - `has-button-${index - 1}`, - `Button index values must be in sequence, starting at 1. Failed on index: ${2}`, - (value, ctx) => { - if (value) { - // we only care whether or not `prevButton` is undefined - const prevButton = ctx.parent[`fc:frame:button:${index - 1}`]; - return !!prevButton; - } - return true; - }, - ), - }), - {}, - ), - // TODO: yup doesn't infer type well from this concise definition - ...[1, 2, 3, 4].reduce( - (acc, index) => ({ - ...acc, - [`fc:frame:button:${index}:action`]: yup - .string() - .optional() - .matches( - /^post$|^post_redirect$|^mint$|^link$|^tx$/, - `button action must be "post", "post_redirect", "mint", "link", or "tx". Failed on index: ${index}`, - ), - }), - {}, - ), - // TODO: yup doesn't infer type well from this concise definition - ...[1, 2, 3, 4].reduce( - (acc, index) => ({ - ...acc, - [`fc:frame:button:${index}:target`]: yup - .string() - .optional() - .test('target-has-valid-size', 'button target has maximum size of 256 bytes', (value) => { - // test only fires when `value` is defined - return new Blob([value!]).size <= 256; - }), - }), - {}, - ), - // TODO: yup doesn't infer type well from this concise definition - ...[1, 2, 3, 4].reduce( - (acc, index) => ({ - ...acc, - [`fc:frame:button:${index}:post_url`]: yup - .string() - .optional() - .test('target-has-valid-size', 'button post_url has maximum size of 256 bytes', (value) => { - // test only fires when `value` is defined - return new Blob([value!]).size <= 256; - }), - }), - {}, - ), - 'fc:frame:post_url': yup - .string() - .optional() - .test('url-has-valid-size', 'post_url has maximum size of 256 bytes', (value) => { - // test only fires when `value` is defined - return new Blob([value!]).size <= 256; - }), - 'fc:frame:input:text': yup - .string() - .optional() - .test('input-has-valid-size', 'input:text has maximum size of 32 bytes', (value) => { - // test only fires when `value` is defined - return new Blob([value!]).size <= 32; - }), - 'fc:frame:image:aspect_ratio': yup - .string() - .optional() - .matches(/^1:1$|^1.91:1$/), - 'fc:frame:state': yup - .string() - .optional() - .test('state-has-valid-size', 'frame:state has maximum size of 4096 bytes', (value) => { - // test only fires when `value` is defined - return new Blob([value!]).size <= 4096; - }), -}); - -// This interface doesn't fully encapsulate the dynamically defined types. Do we even need it? -export interface FrameVNext extends yup.InferType {} diff --git a/framegear/yarn.lock b/framegear/yarn.lock deleted file mode 100644 index fcbf73c95c..0000000000 --- a/framegear/yarn.lock +++ /dev/null @@ -1,10728 +0,0 @@ -# This file is generated by running "yarn install" inside your project. -# Manual changes might be lost - proceed with caution! - -__metadata: - version: 8 - cacheKey: 10c0 - -"@aashutoshrathi/word-wrap@npm:^1.2.3": - version: 1.2.6 - resolution: "@aashutoshrathi/word-wrap@npm:1.2.6" - checksum: 53c2b231a61a46792b39a0d43bc4f4f776bb4542aa57ee04930676802e5501282c2fc8aac14e4cd1f1120ff8b52616b6ff5ab539ad30aa2277d726444b71619f - languageName: node - linkType: hard - -"@adobe/css-tools@npm:^4.3.2": - version: 4.3.3 - resolution: "@adobe/css-tools@npm:4.3.3" - checksum: e76e712df713964b87cdf2aca1f0477f19bebd845484d5fcba726d3ec7782366e2f26ec8cb2dcfaf47081a5c891987d8a9f5c3f30d11e1eb3c1848adc27fcb24 - languageName: node - linkType: hard - -"@adraffy/ens-normalize@npm:1.10.0": - version: 1.10.0 - resolution: "@adraffy/ens-normalize@npm:1.10.0" - checksum: 78ae700847a2516d5a0ae12c4e23d09392a40c67e73b137eb7189f51afb1601c8d18784aeda2ed288a278997824dc924d1f398852c21d41ee2c4c564f2fb4d26 - languageName: node - linkType: hard - -"@alloc/quick-lru@npm:^5.2.0": - version: 5.2.0 - resolution: "@alloc/quick-lru@npm:5.2.0" - checksum: 7b878c48b9d25277d0e1a9b8b2f2312a314af806b4129dc902f2bc29ab09b58236e53964689feec187b28c80d2203aff03829754773a707a8a5987f1b7682d92 - languageName: node - linkType: hard - -"@ampproject/remapping@npm:^2.2.0": - version: 2.2.1 - resolution: "@ampproject/remapping@npm:2.2.1" - dependencies: - "@jridgewell/gen-mapping": "npm:^0.3.0" - "@jridgewell/trace-mapping": "npm:^0.3.9" - checksum: 92ce5915f8901d8c7cd4f4e6e2fe7b9fd335a29955b400caa52e0e5b12ca3796ada7c2f10e78c9c5b0f9c2539dff0ffea7b19850a56e1487aa083531e1e46d43 - languageName: node - linkType: hard - -"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.10.4, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.23.5": - version: 7.23.5 - resolution: "@babel/code-frame@npm:7.23.5" - dependencies: - "@babel/highlight": "npm:^7.23.4" - chalk: "npm:^2.4.2" - checksum: a10e843595ddd9f97faa99917414813c06214f4d9205294013e20c70fbdf4f943760da37dec1d998bf3e6fc20fa2918a47c0e987a7e458663feb7698063ad7c6 - languageName: node - linkType: hard - -"@babel/compat-data@npm:^7.23.5": - version: 7.23.5 - resolution: "@babel/compat-data@npm:7.23.5" - checksum: 081278ed46131a890ad566a59c61600a5f9557bd8ee5e535890c8548192532ea92590742fd74bd9db83d74c669ef8a04a7e1c85cdea27f960233e3b83c3a957c - languageName: node - linkType: hard - -"@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3": - version: 7.23.9 - resolution: "@babel/core@npm:7.23.9" - dependencies: - "@ampproject/remapping": "npm:^2.2.0" - "@babel/code-frame": "npm:^7.23.5" - "@babel/generator": "npm:^7.23.6" - "@babel/helper-compilation-targets": "npm:^7.23.6" - "@babel/helper-module-transforms": "npm:^7.23.3" - "@babel/helpers": "npm:^7.23.9" - "@babel/parser": "npm:^7.23.9" - "@babel/template": "npm:^7.23.9" - "@babel/traverse": "npm:^7.23.9" - "@babel/types": "npm:^7.23.9" - convert-source-map: "npm:^2.0.0" - debug: "npm:^4.1.0" - gensync: "npm:^1.0.0-beta.2" - json5: "npm:^2.2.3" - semver: "npm:^6.3.1" - checksum: 03883300bf1252ab4c9ba5b52f161232dd52873dbe5cde9289bb2bb26e935c42682493acbac9194a59a3b6cbd17f4c4c84030db8d6d482588afe64531532ff9b - languageName: node - linkType: hard - -"@babel/generator@npm:^7.23.6, @babel/generator@npm:^7.7.2": - version: 7.23.6 - resolution: "@babel/generator@npm:7.23.6" - dependencies: - "@babel/types": "npm:^7.23.6" - "@jridgewell/gen-mapping": "npm:^0.3.2" - "@jridgewell/trace-mapping": "npm:^0.3.17" - jsesc: "npm:^2.5.1" - checksum: 53540e905cd10db05d9aee0a5304e36927f455ce66f95d1253bb8a179f286b88fa7062ea0db354c566fe27f8bb96567566084ffd259f8feaae1de5eccc8afbda - languageName: node - linkType: hard - -"@babel/helper-compilation-targets@npm:^7.23.6": - version: 7.23.6 - resolution: "@babel/helper-compilation-targets@npm:7.23.6" - dependencies: - "@babel/compat-data": "npm:^7.23.5" - "@babel/helper-validator-option": "npm:^7.23.5" - browserslist: "npm:^4.22.2" - lru-cache: "npm:^5.1.1" - semver: "npm:^6.3.1" - checksum: ba38506d11185f48b79abf439462ece271d3eead1673dd8814519c8c903c708523428806f05f2ec5efd0c56e4e278698fac967e5a4b5ee842c32415da54bc6fa - languageName: node - linkType: hard - -"@babel/helper-environment-visitor@npm:^7.22.20": - version: 7.22.20 - resolution: "@babel/helper-environment-visitor@npm:7.22.20" - checksum: e762c2d8f5d423af89bd7ae9abe35bd4836d2eb401af868a63bbb63220c513c783e25ef001019418560b3fdc6d9a6fb67e6c0b650bcdeb3a2ac44b5c3d2bdd94 - languageName: node - linkType: hard - -"@babel/helper-function-name@npm:^7.23.0": - version: 7.23.0 - resolution: "@babel/helper-function-name@npm:7.23.0" - dependencies: - "@babel/template": "npm:^7.22.15" - "@babel/types": "npm:^7.23.0" - checksum: d771dd1f3222b120518176733c52b7cadac1c256ff49b1889dbbe5e3fed81db855b8cc4e40d949c9d3eae0e795e8229c1c8c24c0e83f27cfa6ee3766696c6428 - languageName: node - linkType: hard - -"@babel/helper-hoist-variables@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-hoist-variables@npm:7.22.5" - dependencies: - "@babel/types": "npm:^7.22.5" - checksum: 60a3077f756a1cd9f14eb89f0037f487d81ede2b7cfe652ea6869cd4ec4c782b0fb1de01b8494b9a2d2050e3d154d7d5ad3be24806790acfb8cbe2073bf1e208 - languageName: node - linkType: hard - -"@babel/helper-module-imports@npm:^7.22.15": - version: 7.22.15 - resolution: "@babel/helper-module-imports@npm:7.22.15" - dependencies: - "@babel/types": "npm:^7.22.15" - checksum: 4e0d7fc36d02c1b8c8b3006dfbfeedf7a367d3334a04934255de5128115ea0bafdeb3e5736a2559917f0653e4e437400d54542da0468e08d3cbc86d3bbfa8f30 - languageName: node - linkType: hard - -"@babel/helper-module-transforms@npm:^7.23.3": - version: 7.23.3 - resolution: "@babel/helper-module-transforms@npm:7.23.3" - dependencies: - "@babel/helper-environment-visitor": "npm:^7.22.20" - "@babel/helper-module-imports": "npm:^7.22.15" - "@babel/helper-simple-access": "npm:^7.22.5" - "@babel/helper-split-export-declaration": "npm:^7.22.6" - "@babel/helper-validator-identifier": "npm:^7.22.20" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 211e1399d0c4993671e8e5c2b25383f08bee40004ace5404ed4065f0e9258cc85d99c1b82fd456c030ce5cfd4d8f310355b54ef35de9924eabfc3dff1331d946 - languageName: node - linkType: hard - -"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.8.0": - version: 7.22.5 - resolution: "@babel/helper-plugin-utils@npm:7.22.5" - checksum: d2c4bfe2fa91058bcdee4f4e57a3f4933aed7af843acfd169cd6179fab8d13c1d636474ecabb2af107dc77462c7e893199aa26632bac1c6d7e025a17cbb9d20d - languageName: node - linkType: hard - -"@babel/helper-simple-access@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-simple-access@npm:7.22.5" - dependencies: - "@babel/types": "npm:^7.22.5" - checksum: f0cf81a30ba3d09a625fd50e5a9069e575c5b6719234e04ee74247057f8104beca89ed03e9217b6e9b0493434cedc18c5ecca4cea6244990836f1f893e140369 - languageName: node - linkType: hard - -"@babel/helper-split-export-declaration@npm:^7.22.6": - version: 7.22.6 - resolution: "@babel/helper-split-export-declaration@npm:7.22.6" - dependencies: - "@babel/types": "npm:^7.22.5" - checksum: d83e4b623eaa9622c267d3c83583b72f3aac567dc393dda18e559d79187961cb29ae9c57b2664137fc3d19508370b12ec6a81d28af73a50e0846819cb21c6e44 - languageName: node - linkType: hard - -"@babel/helper-string-parser@npm:^7.23.4": - version: 7.23.4 - resolution: "@babel/helper-string-parser@npm:7.23.4" - checksum: f348d5637ad70b6b54b026d6544bd9040f78d24e7ec245a0fc42293968181f6ae9879c22d89744730d246ce8ec53588f716f102addd4df8bbc79b73ea10004ac - languageName: node - linkType: hard - -"@babel/helper-validator-identifier@npm:^7.22.20": - version: 7.22.20 - resolution: "@babel/helper-validator-identifier@npm:7.22.20" - checksum: dcad63db345fb110e032de46c3688384b0008a42a4845180ce7cd62b1a9c0507a1bed727c4d1060ed1a03ae57b4d918570259f81724aaac1a5b776056f37504e - languageName: node - linkType: hard - -"@babel/helper-validator-option@npm:^7.23.5": - version: 7.23.5 - resolution: "@babel/helper-validator-option@npm:7.23.5" - checksum: af45d5c0defb292ba6fd38979e8f13d7da63f9623d8ab9ededc394f67eb45857d2601278d151ae9affb6e03d5d608485806cd45af08b4468a0515cf506510e94 - languageName: node - linkType: hard - -"@babel/helpers@npm:^7.23.9": - version: 7.23.9 - resolution: "@babel/helpers@npm:7.23.9" - dependencies: - "@babel/template": "npm:^7.23.9" - "@babel/traverse": "npm:^7.23.9" - "@babel/types": "npm:^7.23.9" - checksum: f69fd0aca96a6fb8bd6dd044cd8a5c0f1851072d4ce23355345b9493c4032e76d1217f86b70df795e127553cf7f3fcd1587ede9d1b03b95e8b62681ca2165b87 - languageName: node - linkType: hard - -"@babel/highlight@npm:^7.23.4": - version: 7.23.4 - resolution: "@babel/highlight@npm:7.23.4" - dependencies: - "@babel/helper-validator-identifier": "npm:^7.22.20" - chalk: "npm:^2.4.2" - js-tokens: "npm:^4.0.0" - checksum: fbff9fcb2f5539289c3c097d130e852afd10d89a3a08ac0b5ebebbc055cc84a4bcc3dcfed463d488cde12dd0902ef1858279e31d7349b2e8cee43913744bda33 - languageName: node - linkType: hard - -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.23.9": - version: 7.23.9 - resolution: "@babel/parser@npm:7.23.9" - bin: - parser: ./bin/babel-parser.js - checksum: 7df97386431366d4810538db4b9ec538f4377096f720c0591c7587a16f6810e62747e9fbbfa1ff99257fd4330035e4fb1b5b77c7bd3b97ce0d2e3780a6618975 - languageName: node - linkType: hard - -"@babel/plugin-syntax-async-generators@npm:^7.8.4": - version: 7.8.4 - resolution: "@babel/plugin-syntax-async-generators@npm:7.8.4" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: d13efb282838481348c71073b6be6245b35d4f2f964a8f71e4174f235009f929ef7613df25f8d2338e2d3e44bc4265a9f8638c6aaa136d7a61fe95985f9725c8 - languageName: node - linkType: hard - -"@babel/plugin-syntax-bigint@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-bigint@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 686891b81af2bc74c39013655da368a480f17dd237bf9fbc32048e5865cb706d5a8f65438030da535b332b1d6b22feba336da8fa931f663b6b34e13147d12dde - languageName: node - linkType: hard - -"@babel/plugin-syntax-class-properties@npm:^7.8.3": - version: 7.12.13 - resolution: "@babel/plugin-syntax-class-properties@npm:7.12.13" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.12.13" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 95168fa186416195280b1264fb18afcdcdcea780b3515537b766cb90de6ce042d42dd6a204a39002f794ae5845b02afb0fd4861a3308a861204a55e68310a120 - languageName: node - linkType: hard - -"@babel/plugin-syntax-import-meta@npm:^7.8.3": - version: 7.10.4 - resolution: "@babel/plugin-syntax-import-meta@npm:7.10.4" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.10.4" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 0b08b5e4c3128523d8e346f8cfc86824f0da2697b1be12d71af50a31aff7a56ceb873ed28779121051475010c28d6146a6bfea8518b150b71eeb4e46190172ee - languageName: node - linkType: hard - -"@babel/plugin-syntax-json-strings@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-json-strings@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: e98f31b2ec406c57757d115aac81d0336e8434101c224edd9a5c93cefa53faf63eacc69f3138960c8b25401315af03df37f68d316c151c4b933136716ed6906e - languageName: node - linkType: hard - -"@babel/plugin-syntax-jsx@npm:^7.7.2": - version: 7.23.3 - resolution: "@babel/plugin-syntax-jsx@npm:7.23.3" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.22.5" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 563bb7599b868773f1c7c1d441ecc9bc53aeb7832775da36752c926fc402a1fa5421505b39e724f71eb217c13e4b93117e081cac39723b0e11dac4c897f33c3e - languageName: node - linkType: hard - -"@babel/plugin-syntax-logical-assignment-operators@npm:^7.8.3": - version: 7.10.4 - resolution: "@babel/plugin-syntax-logical-assignment-operators@npm:7.10.4" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.10.4" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 2594cfbe29411ad5bc2ad4058de7b2f6a8c5b86eda525a993959438615479e59c012c14aec979e538d60a584a1a799b60d1b8942c3b18468cb9d99b8fd34cd0b - languageName: node - linkType: hard - -"@babel/plugin-syntax-nullish-coalescing-operator@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-nullish-coalescing-operator@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 2024fbb1162899094cfc81152449b12bd0cc7053c6d4bda8ac2852545c87d0a851b1b72ed9560673cbf3ef6248257262c3c04aabf73117215c1b9cc7dd2542ce - languageName: node - linkType: hard - -"@babel/plugin-syntax-numeric-separator@npm:^7.8.3": - version: 7.10.4 - resolution: "@babel/plugin-syntax-numeric-separator@npm:7.10.4" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.10.4" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: c55a82b3113480942c6aa2fcbe976ff9caa74b7b1109ff4369641dfbc88d1da348aceb3c31b6ed311c84d1e7c479440b961906c735d0ab494f688bf2fd5b9bb9 - languageName: node - linkType: hard - -"@babel/plugin-syntax-object-rest-spread@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-object-rest-spread@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: ee1eab52ea6437e3101a0a7018b0da698545230015fc8ab129d292980ec6dff94d265e9e90070e8ae5fed42f08f1622c14c94552c77bcac784b37f503a82ff26 - languageName: node - linkType: hard - -"@babel/plugin-syntax-optional-catch-binding@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-optional-catch-binding@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 27e2493ab67a8ea6d693af1287f7e9acec206d1213ff107a928e85e173741e1d594196f99fec50e9dde404b09164f39dec5864c767212154ffe1caa6af0bc5af - languageName: node - linkType: hard - -"@babel/plugin-syntax-optional-chaining@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-optional-chaining@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 46edddf2faa6ebf94147b8e8540dfc60a5ab718e2de4d01b2c0bdf250a4d642c2bd47cbcbb739febcb2bf75514dbcefad3c52208787994b8d0f8822490f55e81 - languageName: node - linkType: hard - -"@babel/plugin-syntax-top-level-await@npm:^7.8.3": - version: 7.14.5 - resolution: "@babel/plugin-syntax-top-level-await@npm:7.14.5" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.14.5" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 14bf6e65d5bc1231ffa9def5f0ef30b19b51c218fcecaa78cd1bdf7939dfdf23f90336080b7f5196916368e399934ce5d581492d8292b46a2fb569d8b2da106f - languageName: node - linkType: hard - -"@babel/plugin-syntax-typescript@npm:^7.7.2": - version: 7.23.3 - resolution: "@babel/plugin-syntax-typescript@npm:7.23.3" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.22.5" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 4d6e9cdb9d0bfb9bd9b220fc951d937fce2ca69135ec121153572cebe81d86abc9a489208d6b69ee5f10cadcaeffa10d0425340a5029e40e14a6025021b90948 - languageName: node - linkType: hard - -"@babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.23.2, @babel/runtime@npm:^7.9.2": - version: 7.23.9 - resolution: "@babel/runtime@npm:7.23.9" - dependencies: - regenerator-runtime: "npm:^0.14.0" - checksum: e71205fdd7082b2656512cc98e647d9ea7e222e4fe5c36e9e5adc026446fcc3ba7b3cdff8b0b694a0b78bb85db83e7b1e3d4c56ef90726682b74f13249cf952d - languageName: node - linkType: hard - -"@babel/runtime@npm:^7.19.4, @babel/runtime@npm:^7.21.0": - version: 7.25.0 - resolution: "@babel/runtime@npm:7.25.0" - dependencies: - regenerator-runtime: "npm:^0.14.0" - checksum: bd3faf246170826cef2071a94d7b47b49d532351360ecd17722d03f6713fd93a3eb3dbd9518faa778d5e8ccad7392a7a604e56bd37aaad3f3aa68d619ccd983d - languageName: node - linkType: hard - -"@babel/template@npm:^7.22.15, @babel/template@npm:^7.23.9, @babel/template@npm:^7.3.3": - version: 7.23.9 - resolution: "@babel/template@npm:7.23.9" - dependencies: - "@babel/code-frame": "npm:^7.23.5" - "@babel/parser": "npm:^7.23.9" - "@babel/types": "npm:^7.23.9" - checksum: 0e8b60119433787742bc08ae762bbd8d6755611c4cabbcb7627b292ec901a55af65d93d1c88572326069efb64136ef151ec91ffb74b2df7689bbab237030833a - languageName: node - linkType: hard - -"@babel/traverse@npm:^7.23.9": - version: 7.23.9 - resolution: "@babel/traverse@npm:7.23.9" - dependencies: - "@babel/code-frame": "npm:^7.23.5" - "@babel/generator": "npm:^7.23.6" - "@babel/helper-environment-visitor": "npm:^7.22.20" - "@babel/helper-function-name": "npm:^7.23.0" - "@babel/helper-hoist-variables": "npm:^7.22.5" - "@babel/helper-split-export-declaration": "npm:^7.22.6" - "@babel/parser": "npm:^7.23.9" - "@babel/types": "npm:^7.23.9" - debug: "npm:^4.3.1" - globals: "npm:^11.1.0" - checksum: d1615d1d02f04d47111a7ea4446a1a6275668ca39082f31d51f08380de9502e19862be434eaa34b022ce9a17dbb8f9e2b73a746c654d9575f3a680a7ffdf5630 - languageName: node - linkType: hard - -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.22.15, @babel/types@npm:^7.22.5, @babel/types@npm:^7.23.0, @babel/types@npm:^7.23.6, @babel/types@npm:^7.23.9, @babel/types@npm:^7.3.3, @babel/types@npm:^7.8.3": - version: 7.23.9 - resolution: "@babel/types@npm:7.23.9" - dependencies: - "@babel/helper-string-parser": "npm:^7.23.4" - "@babel/helper-validator-identifier": "npm:^7.22.20" - to-fast-properties: "npm:^2.0.0" - checksum: edc7bb180ce7e4d2aea10c6972fb10474341ac39ba8fdc4a27ffb328368dfdfbf40fca18e441bbe7c483774500d5c05e222cec276c242e952853dcaf4eb884f7 - languageName: node - linkType: hard - -"@bcoe/v8-coverage@npm:^0.2.3": - version: 0.2.3 - resolution: "@bcoe/v8-coverage@npm:0.2.3" - checksum: 6b80ae4cb3db53f486da2dc63b6e190a74c8c3cca16bb2733f234a0b6a9382b09b146488ae08e2b22cf00f6c83e20f3e040a2f7894f05c045c946d6a090b1d52 - languageName: node - linkType: hard - -"@coinbase/onchainkit@npm:^0.29.1": - version: 0.29.1 - resolution: "@coinbase/onchainkit@npm:0.29.1" - dependencies: - "@rainbow-me/rainbowkit": "npm:^2.1.3" - "@tanstack/react-query": "npm:^5" - clsx: "npm:^2.1.1" - graphql: "npm:^14 || ^15 || ^16" - graphql-request: "npm:^6.1.0" - permissionless: "npm:^0.1.29" - tailwind-merge: "npm:^2.3.0" - viem: "npm:^2.17.4" - wagmi: "npm:^2.11.0" - peerDependencies: - "@xmtp/frames-validator": ^0.6.0 - react: ^18 - react-dom: ^18 - checksum: 4d5d2b19df71e10369c9c5cef8f5e187e5f051e5758077ba13e8b7ea655a4441183382af8f879a4d74da12340d3604a394419927bd7166fd9433e46b6df3f040 - languageName: node - linkType: hard - -"@coinbase/wallet-sdk@npm:4.0.4": - version: 4.0.4 - resolution: "@coinbase/wallet-sdk@npm:4.0.4" - dependencies: - buffer: "npm:^6.0.3" - clsx: "npm:^1.2.1" - eventemitter3: "npm:^5.0.1" - keccak: "npm:^3.0.3" - preact: "npm:^10.16.0" - sha.js: "npm:^2.4.11" - checksum: 7c8c39688c144b5305ac59d847023f7dce9ccffdd8ed6fdcc690c03980ce7cf8f88caff4e0cf0a1f081bcfd61ebe6a590970771505f86700f9b798a0e8e2dc88 - languageName: node - linkType: hard - -"@cspotcode/source-map-support@npm:^0.8.0": - version: 0.8.1 - resolution: "@cspotcode/source-map-support@npm:0.8.1" - dependencies: - "@jridgewell/trace-mapping": "npm:0.3.9" - checksum: 05c5368c13b662ee4c122c7bfbe5dc0b613416672a829f3e78bc49a357a197e0218d6e74e7c66cfcd04e15a179acab080bd3c69658c9fbefd0e1ccd950a07fc6 - languageName: node - linkType: hard - -"@emotion/hash@npm:^0.9.0": - version: 0.9.2 - resolution: "@emotion/hash@npm:0.9.2" - checksum: 0dc254561a3cc0a06a10bbce7f6a997883fd240c8c1928b93713f803a2e9153a257a488537012efe89dbe1246f2abfe2add62cdb3471a13d67137fcb808e81c2 - languageName: node - linkType: hard - -"@eslint-community/eslint-utils@npm:^4.2.0": - version: 4.4.0 - resolution: "@eslint-community/eslint-utils@npm:4.4.0" - dependencies: - eslint-visitor-keys: "npm:^3.3.0" - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - checksum: 7e559c4ce59cd3a06b1b5a517b593912e680a7f981ae7affab0d01d709e99cd5647019be8fafa38c350305bc32f1f7d42c7073edde2ab536c745e365f37b607e - languageName: node - linkType: hard - -"@eslint-community/regexpp@npm:^4.6.1": - version: 4.10.0 - resolution: "@eslint-community/regexpp@npm:4.10.0" - checksum: c5f60ef1f1ea7649fa7af0e80a5a79f64b55a8a8fa5086de4727eb4c86c652aedee407a9c143b8995d2c0b2d75c1222bec9ba5d73dbfc1f314550554f0979ef4 - languageName: node - linkType: hard - -"@eslint/eslintrc@npm:^2.1.4": - version: 2.1.4 - resolution: "@eslint/eslintrc@npm:2.1.4" - dependencies: - ajv: "npm:^6.12.4" - debug: "npm:^4.3.2" - espree: "npm:^9.6.0" - globals: "npm:^13.19.0" - ignore: "npm:^5.2.0" - import-fresh: "npm:^3.2.1" - js-yaml: "npm:^4.1.0" - minimatch: "npm:^3.1.2" - strip-json-comments: "npm:^3.1.1" - checksum: 32f67052b81768ae876c84569ffd562491ec5a5091b0c1e1ca1e0f3c24fb42f804952fdd0a137873bc64303ba368a71ba079a6f691cee25beee9722d94cc8573 - languageName: node - linkType: hard - -"@eslint/js@npm:8.56.0": - version: 8.56.0 - resolution: "@eslint/js@npm:8.56.0" - checksum: 60b3a1cf240e2479cec9742424224465dc50e46d781da1b7f5ef240501b2d1202c225bd456207faac4b34a64f4765833345bc4ddffd00395e1db40fa8c426f5a - languageName: node - linkType: hard - -"@ethereumjs/common@npm:^3.2.0": - version: 3.2.0 - resolution: "@ethereumjs/common@npm:3.2.0" - dependencies: - "@ethereumjs/util": "npm:^8.1.0" - crc-32: "npm:^1.2.0" - checksum: 4e2256eb54cc544299f4d7ebc9daab7a3613c174de3981ea5ed84bd10c41a03d013d15b1abad292da62fd0c4b8ce5b220a258a25861ccffa32f2cc9a8a4b25d8 - languageName: node - linkType: hard - -"@ethereumjs/rlp@npm:^4.0.1": - version: 4.0.1 - resolution: "@ethereumjs/rlp@npm:4.0.1" - bin: - rlp: bin/rlp - checksum: 78379f288e9d88c584c2159c725c4a667a9742981d638bad760ed908263e0e36bdbd822c0a902003e0701195fd1cbde7adad621cd97fdfbf552c45e835ce022c - languageName: node - linkType: hard - -"@ethereumjs/tx@npm:^4.1.2, @ethereumjs/tx@npm:^4.2.0": - version: 4.2.0 - resolution: "@ethereumjs/tx@npm:4.2.0" - dependencies: - "@ethereumjs/common": "npm:^3.2.0" - "@ethereumjs/rlp": "npm:^4.0.1" - "@ethereumjs/util": "npm:^8.1.0" - ethereum-cryptography: "npm:^2.0.0" - checksum: f168303edf5970673db06d2469a899632c64ba0cd5d24480e97683bd0e19cc22a7b0a7bc7db3a49760f09826d4c77bed89b65d65252daf54857dd3d97324fb9a - languageName: node - linkType: hard - -"@ethereumjs/util@npm:^8.1.0": - version: 8.1.0 - resolution: "@ethereumjs/util@npm:8.1.0" - dependencies: - "@ethereumjs/rlp": "npm:^4.0.1" - ethereum-cryptography: "npm:^2.0.0" - micro-ftch: "npm:^0.3.1" - checksum: 4e6e0449236f66b53782bab3b387108f0ddc050835bfe1381c67a7c038fea27cb85ab38851d98b700957022f0acb6e455ca0c634249cfcce1a116bad76500160 - languageName: node - linkType: hard - -"@graphql-typed-document-node/core@npm:^3.2.0": - version: 3.2.0 - resolution: "@graphql-typed-document-node/core@npm:3.2.0" - peerDependencies: - graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: 94e9d75c1f178bbae8d874f5a9361708a3350c8def7eaeb6920f2c820e82403b7d4f55b3735856d68e145e86c85cbfe2adc444fdc25519cd51f108697e99346c - languageName: node - linkType: hard - -"@humanwhocodes/config-array@npm:^0.11.13": - version: 0.11.14 - resolution: "@humanwhocodes/config-array@npm:0.11.14" - dependencies: - "@humanwhocodes/object-schema": "npm:^2.0.2" - debug: "npm:^4.3.1" - minimatch: "npm:^3.0.5" - checksum: 66f725b4ee5fdd8322c737cb5013e19fac72d4d69c8bf4b7feb192fcb83442b035b92186f8e9497c220e58b2d51a080f28a73f7899bc1ab288c3be172c467541 - languageName: node - linkType: hard - -"@humanwhocodes/module-importer@npm:^1.0.1": - version: 1.0.1 - resolution: "@humanwhocodes/module-importer@npm:1.0.1" - checksum: 909b69c3b86d482c26b3359db16e46a32e0fb30bd306a3c176b8313b9e7313dba0f37f519de6aa8b0a1921349e505f259d19475e123182416a506d7f87e7f529 - languageName: node - linkType: hard - -"@humanwhocodes/object-schema@npm:^2.0.2": - version: 2.0.2 - resolution: "@humanwhocodes/object-schema@npm:2.0.2" - checksum: 6fd83dc320231d71c4541d0244051df61f301817e9f9da9fd4cb7e44ec8aacbde5958c1665b0c419401ab935114fdf532a6ad5d4e7294b1af2f347dd91a6983f - languageName: node - linkType: hard - -"@isaacs/cliui@npm:^8.0.2": - version: 8.0.2 - resolution: "@isaacs/cliui@npm:8.0.2" - dependencies: - string-width: "npm:^5.1.2" - string-width-cjs: "npm:string-width@^4.2.0" - strip-ansi: "npm:^7.0.1" - strip-ansi-cjs: "npm:strip-ansi@^6.0.1" - wrap-ansi: "npm:^8.1.0" - wrap-ansi-cjs: "npm:wrap-ansi@^7.0.0" - checksum: b1bf42535d49f11dc137f18d5e4e63a28c5569de438a221c369483731e9dac9fb797af554e8bf02b6192d1e5eba6e6402cf93900c3d0ac86391d00d04876789e - languageName: node - linkType: hard - -"@isaacs/fs-minipass@npm:^4.0.0": - version: 4.0.0 - resolution: "@isaacs/fs-minipass@npm:4.0.0" - dependencies: - minipass: "npm:^7.0.4" - checksum: c9fab436b86e81fd9d1e31c5bc2ced9c6ab3f8970ca9fca86fb31f30834f81071be6eb8766c7df2a9b2ef6ec90648fbe1f8ed0a5fd6195dec3e8a2209b22e532 - languageName: node - linkType: hard - -"@istanbuljs/load-nyc-config@npm:^1.0.0": - version: 1.1.0 - resolution: "@istanbuljs/load-nyc-config@npm:1.1.0" - dependencies: - camelcase: "npm:^5.3.1" - find-up: "npm:^4.1.0" - get-package-type: "npm:^0.1.0" - js-yaml: "npm:^3.13.1" - resolve-from: "npm:^5.0.0" - checksum: dd2a8b094887da5a1a2339543a4933d06db2e63cbbc2e288eb6431bd832065df0c099d091b6a67436e71b7d6bf85f01ce7c15f9253b4cbebcc3b9a496165ba42 - languageName: node - linkType: hard - -"@istanbuljs/schema@npm:^0.1.2": - version: 0.1.3 - resolution: "@istanbuljs/schema@npm:0.1.3" - checksum: 61c5286771676c9ca3eb2bd8a7310a9c063fb6e0e9712225c8471c582d157392c88f5353581c8c9adbe0dff98892317d2fdfc56c3499aa42e0194405206a963a - languageName: node - linkType: hard - -"@jest/console@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/console@npm:29.7.0" - dependencies: - "@jest/types": "npm:^29.6.3" - "@types/node": "npm:*" - chalk: "npm:^4.0.0" - jest-message-util: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - slash: "npm:^3.0.0" - checksum: 7be408781d0a6f657e969cbec13b540c329671819c2f57acfad0dae9dbfe2c9be859f38fe99b35dba9ff1536937dc6ddc69fdcd2794812fa3c647a1619797f6c - languageName: node - linkType: hard - -"@jest/core@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/core@npm:29.7.0" - dependencies: - "@jest/console": "npm:^29.7.0" - "@jest/reporters": "npm:^29.7.0" - "@jest/test-result": "npm:^29.7.0" - "@jest/transform": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - "@types/node": "npm:*" - ansi-escapes: "npm:^4.2.1" - chalk: "npm:^4.0.0" - ci-info: "npm:^3.2.0" - exit: "npm:^0.1.2" - graceful-fs: "npm:^4.2.9" - jest-changed-files: "npm:^29.7.0" - jest-config: "npm:^29.7.0" - jest-haste-map: "npm:^29.7.0" - jest-message-util: "npm:^29.7.0" - jest-regex-util: "npm:^29.6.3" - jest-resolve: "npm:^29.7.0" - jest-resolve-dependencies: "npm:^29.7.0" - jest-runner: "npm:^29.7.0" - jest-runtime: "npm:^29.7.0" - jest-snapshot: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - jest-validate: "npm:^29.7.0" - jest-watcher: "npm:^29.7.0" - micromatch: "npm:^4.0.4" - pretty-format: "npm:^29.7.0" - slash: "npm:^3.0.0" - strip-ansi: "npm:^6.0.0" - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - checksum: 934f7bf73190f029ac0f96662c85cd276ec460d407baf6b0dbaec2872e157db4d55a7ee0b1c43b18874602f662b37cb973dda469a4e6d88b4e4845b521adeeb2 - languageName: node - linkType: hard - -"@jest/environment@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/environment@npm:29.7.0" - dependencies: - "@jest/fake-timers": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - "@types/node": "npm:*" - jest-mock: "npm:^29.7.0" - checksum: c7b1b40c618f8baf4d00609022d2afa086d9c6acc706f303a70bb4b67275868f620ad2e1a9efc5edd418906157337cce50589a627a6400bbdf117d351b91ef86 - languageName: node - linkType: hard - -"@jest/expect-utils@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/expect-utils@npm:29.7.0" - dependencies: - jest-get-type: "npm:^29.6.3" - checksum: 60b79d23a5358dc50d9510d726443316253ecda3a7fb8072e1526b3e0d3b14f066ee112db95699b7a43ad3f0b61b750c72e28a5a1cac361d7a2bb34747fa938a - languageName: node - linkType: hard - -"@jest/expect@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/expect@npm:29.7.0" - dependencies: - expect: "npm:^29.7.0" - jest-snapshot: "npm:^29.7.0" - checksum: b41f193fb697d3ced134349250aed6ccea075e48c4f803159db102b826a4e473397c68c31118259868fd69a5cba70e97e1c26d2c2ff716ca39dc73a2ccec037e - languageName: node - linkType: hard - -"@jest/fake-timers@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/fake-timers@npm:29.7.0" - dependencies: - "@jest/types": "npm:^29.6.3" - "@sinonjs/fake-timers": "npm:^10.0.2" - "@types/node": "npm:*" - jest-message-util: "npm:^29.7.0" - jest-mock: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - checksum: cf0a8bcda801b28dc2e2b2ba36302200ee8104a45ad7a21e6c234148932f826cb3bc57c8df3b7b815aeea0861d7b6ca6f0d4778f93b9219398ef28749e03595c - languageName: node - linkType: hard - -"@jest/globals@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/globals@npm:29.7.0" - dependencies: - "@jest/environment": "npm:^29.7.0" - "@jest/expect": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - jest-mock: "npm:^29.7.0" - checksum: a385c99396878fe6e4460c43bd7bb0a5cc52befb462cc6e7f2a3810f9e7bcce7cdeb51908fd530391ee452dc856c98baa2c5f5fa8a5b30b071d31ef7f6955cea - languageName: node - linkType: hard - -"@jest/reporters@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/reporters@npm:29.7.0" - dependencies: - "@bcoe/v8-coverage": "npm:^0.2.3" - "@jest/console": "npm:^29.7.0" - "@jest/test-result": "npm:^29.7.0" - "@jest/transform": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - "@jridgewell/trace-mapping": "npm:^0.3.18" - "@types/node": "npm:*" - chalk: "npm:^4.0.0" - collect-v8-coverage: "npm:^1.0.0" - exit: "npm:^0.1.2" - glob: "npm:^7.1.3" - graceful-fs: "npm:^4.2.9" - istanbul-lib-coverage: "npm:^3.0.0" - istanbul-lib-instrument: "npm:^6.0.0" - istanbul-lib-report: "npm:^3.0.0" - istanbul-lib-source-maps: "npm:^4.0.0" - istanbul-reports: "npm:^3.1.3" - jest-message-util: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - jest-worker: "npm:^29.7.0" - slash: "npm:^3.0.0" - string-length: "npm:^4.0.1" - strip-ansi: "npm:^6.0.0" - v8-to-istanbul: "npm:^9.0.1" - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - checksum: a754402a799541c6e5aff2c8160562525e2a47e7d568f01ebfc4da66522de39cbb809bbb0a841c7052e4270d79214e70aec3c169e4eae42a03bc1a8a20cb9fa2 - languageName: node - linkType: hard - -"@jest/schemas@npm:^29.6.3": - version: 29.6.3 - resolution: "@jest/schemas@npm:29.6.3" - dependencies: - "@sinclair/typebox": "npm:^0.27.8" - checksum: b329e89cd5f20b9278ae1233df74016ebf7b385e0d14b9f4c1ad18d096c4c19d1e687aa113a9c976b16ec07f021ae53dea811fb8c1248a50ac34fbe009fdf6be - languageName: node - linkType: hard - -"@jest/source-map@npm:^29.6.3": - version: 29.6.3 - resolution: "@jest/source-map@npm:29.6.3" - dependencies: - "@jridgewell/trace-mapping": "npm:^0.3.18" - callsites: "npm:^3.0.0" - graceful-fs: "npm:^4.2.9" - checksum: a2f177081830a2e8ad3f2e29e20b63bd40bade294880b595acf2fc09ec74b6a9dd98f126a2baa2bf4941acd89b13a4ade5351b3885c224107083a0059b60a219 - languageName: node - linkType: hard - -"@jest/test-result@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/test-result@npm:29.7.0" - dependencies: - "@jest/console": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - "@types/istanbul-lib-coverage": "npm:^2.0.0" - collect-v8-coverage: "npm:^1.0.0" - checksum: 7de54090e54a674ca173470b55dc1afdee994f2d70d185c80236003efd3fa2b753fff51ffcdda8e2890244c411fd2267529d42c4a50a8303755041ee493e6a04 - languageName: node - linkType: hard - -"@jest/test-sequencer@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/test-sequencer@npm:29.7.0" - dependencies: - "@jest/test-result": "npm:^29.7.0" - graceful-fs: "npm:^4.2.9" - jest-haste-map: "npm:^29.7.0" - slash: "npm:^3.0.0" - checksum: 593a8c4272797bb5628984486080cbf57aed09c7cfdc0a634e8c06c38c6bef329c46c0016e84555ee55d1cd1f381518cf1890990ff845524c1123720c8c1481b - languageName: node - linkType: hard - -"@jest/transform@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/transform@npm:29.7.0" - dependencies: - "@babel/core": "npm:^7.11.6" - "@jest/types": "npm:^29.6.3" - "@jridgewell/trace-mapping": "npm:^0.3.18" - babel-plugin-istanbul: "npm:^6.1.1" - chalk: "npm:^4.0.0" - convert-source-map: "npm:^2.0.0" - fast-json-stable-stringify: "npm:^2.1.0" - graceful-fs: "npm:^4.2.9" - jest-haste-map: "npm:^29.7.0" - jest-regex-util: "npm:^29.6.3" - jest-util: "npm:^29.7.0" - micromatch: "npm:^4.0.4" - pirates: "npm:^4.0.4" - slash: "npm:^3.0.0" - write-file-atomic: "npm:^4.0.2" - checksum: 7f4a7f73dcf45dfdf280c7aa283cbac7b6e5a904813c3a93ead7e55873761fc20d5c4f0191d2019004fac6f55f061c82eb3249c2901164ad80e362e7a7ede5a6 - languageName: node - linkType: hard - -"@jest/types@npm:^29.6.3": - version: 29.6.3 - resolution: "@jest/types@npm:29.6.3" - dependencies: - "@jest/schemas": "npm:^29.6.3" - "@types/istanbul-lib-coverage": "npm:^2.0.0" - "@types/istanbul-reports": "npm:^3.0.0" - "@types/node": "npm:*" - "@types/yargs": "npm:^17.0.8" - chalk: "npm:^4.0.0" - checksum: ea4e493dd3fb47933b8ccab201ae573dcc451f951dc44ed2a86123cd8541b82aa9d2b1031caf9b1080d6673c517e2dcc25a44b2dc4f3fbc37bfc965d444888c0 - languageName: node - linkType: hard - -"@jridgewell/gen-mapping@npm:^0.3.0, @jridgewell/gen-mapping@npm:^0.3.2": - version: 0.3.3 - resolution: "@jridgewell/gen-mapping@npm:0.3.3" - dependencies: - "@jridgewell/set-array": "npm:^1.0.1" - "@jridgewell/sourcemap-codec": "npm:^1.4.10" - "@jridgewell/trace-mapping": "npm:^0.3.9" - checksum: 376fc11cf5a967318ba3ddd9d8e91be528eab6af66810a713c49b0c3f8dc67e9949452c51c38ab1b19aa618fb5e8594da5a249977e26b1e7fea1ee5a1fcacc74 - languageName: node - linkType: hard - -"@jridgewell/resolve-uri@npm:^3.0.3, @jridgewell/resolve-uri@npm:^3.1.0": - version: 3.1.2 - resolution: "@jridgewell/resolve-uri@npm:3.1.2" - checksum: d502e6fb516b35032331406d4e962c21fe77cdf1cbdb49c6142bcbd9e30507094b18972778a6e27cbad756209cfe34b1a27729e6fa08a2eb92b33943f680cf1e - languageName: node - linkType: hard - -"@jridgewell/set-array@npm:^1.0.1": - version: 1.1.2 - resolution: "@jridgewell/set-array@npm:1.1.2" - checksum: bc7ab4c4c00470de4e7562ecac3c0c84f53e7ee8a711e546d67c47da7febe7c45cd67d4d84ee3c9b2c05ae8e872656cdded8a707a283d30bd54fbc65aef821ab - languageName: node - linkType: hard - -"@jridgewell/sourcemap-codec@npm:^1.4.10, @jridgewell/sourcemap-codec@npm:^1.4.14": - version: 1.4.15 - resolution: "@jridgewell/sourcemap-codec@npm:1.4.15" - checksum: 0c6b5ae663087558039052a626d2d7ed5208da36cfd707dcc5cea4a07cfc918248403dcb5989a8f7afaf245ce0573b7cc6fd94c4a30453bd10e44d9363940ba5 - languageName: node - linkType: hard - -"@jridgewell/trace-mapping@npm:0.3.9": - version: 0.3.9 - resolution: "@jridgewell/trace-mapping@npm:0.3.9" - dependencies: - "@jridgewell/resolve-uri": "npm:^3.0.3" - "@jridgewell/sourcemap-codec": "npm:^1.4.10" - checksum: fa425b606d7c7ee5bfa6a31a7b050dd5814b4082f318e0e4190f991902181b4330f43f4805db1dd4f2433fd0ed9cc7a7b9c2683f1deeab1df1b0a98b1e24055b - languageName: node - linkType: hard - -"@jridgewell/trace-mapping@npm:^0.3.12, @jridgewell/trace-mapping@npm:^0.3.17, @jridgewell/trace-mapping@npm:^0.3.18, @jridgewell/trace-mapping@npm:^0.3.9": - version: 0.3.22 - resolution: "@jridgewell/trace-mapping@npm:0.3.22" - dependencies: - "@jridgewell/resolve-uri": "npm:^3.1.0" - "@jridgewell/sourcemap-codec": "npm:^1.4.14" - checksum: 18cf19f88e2792c1c91515f2b629aae05f3cdbb2e60c3886e16e80725234ce26dd10144c4981c05d9366e7094498c0b4fe5c1a89f4a730d7376a4ba4af448149 - languageName: node - linkType: hard - -"@lit-labs/ssr-dom-shim@npm:^1.0.0, @lit-labs/ssr-dom-shim@npm:^1.1.0": - version: 1.2.1 - resolution: "@lit-labs/ssr-dom-shim@npm:1.2.1" - checksum: 75cecf2cc4c1a089c6984d9f45b8264e3b4947b4ebed96aef7eb201bd6b3f26caeaafedf457884ac38d4f2d99cddaf94a4b2414c02c61fbf1f64c0a0dade11f4 - languageName: node - linkType: hard - -"@lit/reactive-element@npm:^1.3.0, @lit/reactive-element@npm:^1.6.0": - version: 1.6.3 - resolution: "@lit/reactive-element@npm:1.6.3" - dependencies: - "@lit-labs/ssr-dom-shim": "npm:^1.0.0" - checksum: 10f1d25e24e32feb21c4c6f9e11d062901241602e12c4ecf746b3138f87fed4d8394194645514d5c1bfd5f33f3fd56ee8ef41344e2cb4413c40fe4961ec9d419 - languageName: node - linkType: hard - -"@metamask/eth-json-rpc-provider@npm:^1.0.0": - version: 1.0.1 - resolution: "@metamask/eth-json-rpc-provider@npm:1.0.1" - dependencies: - "@metamask/json-rpc-engine": "npm:^7.0.0" - "@metamask/safe-event-emitter": "npm:^3.0.0" - "@metamask/utils": "npm:^5.0.1" - checksum: 842f999d7a1c49b625fd863b453d076f393ac9090a1b9c7531aa24ec033e7e844c98a1c433ac02f4e66a62262d68c0d37c218dc724123da4eea1abcc12a63492 - languageName: node - linkType: hard - -"@metamask/json-rpc-engine@npm:^7.0.0": - version: 7.3.3 - resolution: "@metamask/json-rpc-engine@npm:7.3.3" - dependencies: - "@metamask/rpc-errors": "npm:^6.2.1" - "@metamask/safe-event-emitter": "npm:^3.0.0" - "@metamask/utils": "npm:^8.3.0" - checksum: 6c3b55de01593bc841de1bf4daac46cc307ed7c3b759fec12cbda582527962bb0d909b024e6c56251c0644379634cec24f3d37cbf3443430e148078db9baece1 - languageName: node - linkType: hard - -"@metamask/json-rpc-engine@npm:^8.0.1, @metamask/json-rpc-engine@npm:^8.0.2": - version: 8.0.2 - resolution: "@metamask/json-rpc-engine@npm:8.0.2" - dependencies: - "@metamask/rpc-errors": "npm:^6.2.1" - "@metamask/safe-event-emitter": "npm:^3.0.0" - "@metamask/utils": "npm:^8.3.0" - checksum: 57a584e713be98837b56b1985fc14020b74939af200c304e9dcde0a59b622f0d4b1fd07a9032dd3652b72ce330e47db8b9aa13402a443ad8c09667a4204c4c17 - languageName: node - linkType: hard - -"@metamask/json-rpc-middleware-stream@npm:^7.0.1": - version: 7.0.2 - resolution: "@metamask/json-rpc-middleware-stream@npm:7.0.2" - dependencies: - "@metamask/json-rpc-engine": "npm:^8.0.2" - "@metamask/safe-event-emitter": "npm:^3.0.0" - "@metamask/utils": "npm:^8.3.0" - readable-stream: "npm:^3.6.2" - checksum: 5819e5cd1460046d309218110a76727d5b5b7b0fb379efd2e938e145905a359c2b6d4278d390760227ad5823e3f4bcaa001cbb5abeeeb014b08badbb1fa29f1f - languageName: node - linkType: hard - -"@metamask/object-multiplex@npm:^2.0.0": - version: 2.0.0 - resolution: "@metamask/object-multiplex@npm:2.0.0" - dependencies: - once: "npm:^1.4.0" - readable-stream: "npm:^3.6.2" - checksum: 14786b8ec0668ff638ab5cb972d4141a70533452ec18f607f9002acddf547ab4548754948e0298978650f2f3be954d86882d9b0f6b134e0af2c522398594e499 - languageName: node - linkType: hard - -"@metamask/onboarding@npm:^1.0.1": - version: 1.0.1 - resolution: "@metamask/onboarding@npm:1.0.1" - dependencies: - bowser: "npm:^2.9.0" - checksum: 7a95eb47749217878a9e964c169a479a7532892d723eaade86c2e638e5ea5a54c697e0bbf68ab4f06dff5770639b9937da3375a3e8f958eae3f8da69f24031ed - languageName: node - linkType: hard - -"@metamask/providers@npm:16.1.0": - version: 16.1.0 - resolution: "@metamask/providers@npm:16.1.0" - dependencies: - "@metamask/json-rpc-engine": "npm:^8.0.1" - "@metamask/json-rpc-middleware-stream": "npm:^7.0.1" - "@metamask/object-multiplex": "npm:^2.0.0" - "@metamask/rpc-errors": "npm:^6.2.1" - "@metamask/safe-event-emitter": "npm:^3.1.1" - "@metamask/utils": "npm:^8.3.0" - detect-browser: "npm:^5.2.0" - extension-port-stream: "npm:^3.0.0" - fast-deep-equal: "npm:^3.1.3" - is-stream: "npm:^2.0.0" - readable-stream: "npm:^3.6.2" - webextension-polyfill: "npm:^0.10.0" - checksum: ef0fe2cad0db6e2fd1c0b73894419e4dc153e1742e8b16e233164eaec941ef3d4859728e4a2e733e818b56093abd889fc96c7a75dccf9878cbdab45fd3b36e2c - languageName: node - linkType: hard - -"@metamask/rpc-errors@npm:^6.2.1": - version: 6.3.1 - resolution: "@metamask/rpc-errors@npm:6.3.1" - dependencies: - "@metamask/utils": "npm:^9.0.0" - fast-safe-stringify: "npm:^2.0.6" - checksum: 0ca1f8b138ef9352310befeae194d248fec75ccdd0442369369fb1003316679088dc142e2766b95e2c181ff6dc8786fd7371123d8860e022ec5e420ce05e7496 - languageName: node - linkType: hard - -"@metamask/safe-event-emitter@npm:^2.0.0": - version: 2.0.0 - resolution: "@metamask/safe-event-emitter@npm:2.0.0" - checksum: a86b91f909834dc14de7eadd38b22d4975f6529001d265cd0f5c894351f69f39447f1ef41b690b9849c86dd2a25a39515ef5f316545d36aea7b3fc50ee930933 - languageName: node - linkType: hard - -"@metamask/safe-event-emitter@npm:^3.0.0, @metamask/safe-event-emitter@npm:^3.1.1": - version: 3.1.1 - resolution: "@metamask/safe-event-emitter@npm:3.1.1" - checksum: 4dd51651fa69adf65952449b20410acac7edad06f176dc6f0a5d449207527a2e85d5a21a864566e3d8446fb259f8840bd69fdb65932007a882f771f473a2b682 - languageName: node - linkType: hard - -"@metamask/sdk-communication-layer@npm:0.27.0": - version: 0.27.0 - resolution: "@metamask/sdk-communication-layer@npm:0.27.0" - dependencies: - bufferutil: "npm:^4.0.8" - date-fns: "npm:^2.29.3" - debug: "npm:^4.3.4" - utf-8-validate: "npm:^5.0.2" - uuid: "npm:^8.3.2" - peerDependencies: - cross-fetch: ^4.0.0 - eciesjs: ^0.3.16 - eventemitter2: ^6.4.7 - readable-stream: ^3.6.2 - socket.io-client: ^4.5.1 - checksum: 97967b6b83c6cfe477d9941f08cb7349c79cd9e3aa316d0ee1df7c0896f055a8c174571623d96850e3ea0068f896d70e6a16c6dc68ce91e788a64017c1d66f59 - languageName: node - linkType: hard - -"@metamask/sdk-install-modal-web@npm:0.26.5": - version: 0.26.5 - resolution: "@metamask/sdk-install-modal-web@npm:0.26.5" - dependencies: - qr-code-styling: "npm:^1.6.0-rc.1" - peerDependencies: - i18next: 23.11.5 - react: ^18.2.0 - react-dom: ^18.2.0 - react-native: "*" - peerDependenciesMeta: - react: - optional: true - react-dom: - optional: true - react-native: - optional: true - checksum: 165409714e3dc500167e4b185fc40d4fedabd416fbffb60374449b4e5b64574378d47964194064f6e5f75f448b457a55aa5fd6c7560cb411429e435be8fed431 - languageName: node - linkType: hard - -"@metamask/sdk@npm:0.27.0": - version: 0.27.0 - resolution: "@metamask/sdk@npm:0.27.0" - dependencies: - "@metamask/onboarding": "npm:^1.0.1" - "@metamask/providers": "npm:16.1.0" - "@metamask/sdk-communication-layer": "npm:0.27.0" - "@metamask/sdk-install-modal-web": "npm:0.26.5" - "@types/dom-screen-wake-lock": "npm:^1.0.0" - bowser: "npm:^2.9.0" - cross-fetch: "npm:^4.0.0" - debug: "npm:^4.3.4" - eciesjs: "npm:^0.3.15" - eth-rpc-errors: "npm:^4.0.3" - eventemitter2: "npm:^6.4.7" - i18next: "npm:23.11.5" - i18next-browser-languagedetector: "npm:7.1.0" - obj-multiplex: "npm:^1.0.0" - pump: "npm:^3.0.0" - qrcode-terminal-nooctal: "npm:^0.12.1" - react-native-webview: "npm:^11.26.0" - readable-stream: "npm:^3.6.2" - rollup-plugin-visualizer: "npm:^5.9.2" - socket.io-client: "npm:^4.5.1" - util: "npm:^0.12.4" - uuid: "npm:^8.3.2" - peerDependencies: - react: ^18.2.0 - react-dom: ^18.2.0 - peerDependenciesMeta: - react: - optional: true - react-dom: - optional: true - checksum: fd3eef37f4fdfc8981106bc96d50ce3bb187bc97a1732f7bc81c655d1af7ee45f2b4ab870cc230c2ff45b1bc5974ba6a4660acbf8507f30a7e3920d886cbaf19 - languageName: node - linkType: hard - -"@metamask/superstruct@npm:^3.0.0, @metamask/superstruct@npm:^3.1.0": - version: 3.1.0 - resolution: "@metamask/superstruct@npm:3.1.0" - checksum: 8820e76582b3d735a2142c878ac4830d962f7a9c0776cb31bafdff646ff701657b9be192601d7f96834c3a8edd87677650f5bfa1a29d945e8dbc77a8d788b3fc - languageName: node - linkType: hard - -"@metamask/utils@npm:^5.0.1": - version: 5.0.2 - resolution: "@metamask/utils@npm:5.0.2" - dependencies: - "@ethereumjs/tx": "npm:^4.1.2" - "@types/debug": "npm:^4.1.7" - debug: "npm:^4.3.4" - semver: "npm:^7.3.8" - superstruct: "npm:^1.0.3" - checksum: fa82d856362c3da9fa80262ffde776eeafb0e6f23c7e6d6401f824513a8b2641aa115c2eaae61c391950cdf4a56c57a10082c73a00a1840f8159d709380c4809 - languageName: node - linkType: hard - -"@metamask/utils@npm:^8.3.0": - version: 8.5.0 - resolution: "@metamask/utils@npm:8.5.0" - dependencies: - "@ethereumjs/tx": "npm:^4.2.0" - "@metamask/superstruct": "npm:^3.0.0" - "@noble/hashes": "npm:^1.3.1" - "@scure/base": "npm:^1.1.3" - "@types/debug": "npm:^4.1.7" - debug: "npm:^4.3.4" - pony-cause: "npm:^2.1.10" - semver: "npm:^7.5.4" - uuid: "npm:^9.0.1" - checksum: 037f463e3c6a512b21d057224b1e9645de5a86ba15c0d2140acd43fb7316bfdd9f2635ffdb98e970278eb4e0dd81080bb1855d08dff6a95280590379ad73a01b - languageName: node - linkType: hard - -"@metamask/utils@npm:^9.0.0": - version: 9.1.0 - resolution: "@metamask/utils@npm:9.1.0" - dependencies: - "@ethereumjs/tx": "npm:^4.2.0" - "@metamask/superstruct": "npm:^3.1.0" - "@noble/hashes": "npm:^1.3.1" - "@scure/base": "npm:^1.1.3" - "@types/debug": "npm:^4.1.7" - debug: "npm:^4.3.4" - pony-cause: "npm:^2.1.10" - semver: "npm:^7.5.4" - uuid: "npm:^9.0.1" - checksum: 0c430162eb9d37f4edf8d52227e1557e5f2d63e1b52bba71f349f21930a1abdcc22511a9456bb30f85103b35109e63a5e7022fdb70d8d522ecb23bf0c603e7bd - languageName: node - linkType: hard - -"@motionone/animation@npm:^10.15.1, @motionone/animation@npm:^10.18.0": - version: 10.18.0 - resolution: "@motionone/animation@npm:10.18.0" - dependencies: - "@motionone/easing": "npm:^10.18.0" - "@motionone/types": "npm:^10.17.1" - "@motionone/utils": "npm:^10.18.0" - tslib: "npm:^2.3.1" - checksum: 83c01ab8ecf5fae221e5012116c4c49d4473ba88ba22197e1d8c1e39364c5c6b9c5271e57ae716fd21f92314d15c63788c48d0a30872ee8d72337e1d98b46834 - languageName: node - linkType: hard - -"@motionone/dom@npm:^10.16.2, @motionone/dom@npm:^10.16.4": - version: 10.18.0 - resolution: "@motionone/dom@npm:10.18.0" - dependencies: - "@motionone/animation": "npm:^10.18.0" - "@motionone/generators": "npm:^10.18.0" - "@motionone/types": "npm:^10.17.1" - "@motionone/utils": "npm:^10.18.0" - hey-listen: "npm:^1.0.8" - tslib: "npm:^2.3.1" - checksum: 3bd4b1015e88464c9effc170c23bc63bbc910cbb9ca84986ec19ca82e0e13335e63a1f0d12e265fbe93616fe864fc2aec4e952d51e07932894e148de6fac2111 - languageName: node - linkType: hard - -"@motionone/easing@npm:^10.18.0": - version: 10.18.0 - resolution: "@motionone/easing@npm:10.18.0" - dependencies: - "@motionone/utils": "npm:^10.18.0" - tslib: "npm:^2.3.1" - checksum: 0adf9b7086b0f569d28886890cc0725a489285f2debfcaf27c1c15dfef5736c9f4207cfda14c71b3275f8163777320cb7ff48ad263c7f4ccd31e12a5afc1a952 - languageName: node - linkType: hard - -"@motionone/generators@npm:^10.18.0": - version: 10.18.0 - resolution: "@motionone/generators@npm:10.18.0" - dependencies: - "@motionone/types": "npm:^10.17.1" - "@motionone/utils": "npm:^10.18.0" - tslib: "npm:^2.3.1" - checksum: 7ed7dda5ac58cd3e8dd347b5539d242d96e02ee16fef921c8d14295a806e6bc429a15291461ec078977bd5f6162677225addd707ca79f808e65bc3599c45c0e9 - languageName: node - linkType: hard - -"@motionone/svelte@npm:^10.16.2": - version: 10.16.4 - resolution: "@motionone/svelte@npm:10.16.4" - dependencies: - "@motionone/dom": "npm:^10.16.4" - tslib: "npm:^2.3.1" - checksum: a3f91d3ac5617ac8a2847abc0c8fad417cdc2cd9d814d60f7de2c909e4beeaf834b45a4288c8af6d26f62958a6c69714313b37ea6cd5aa2a9d1ad5198ec5881f - languageName: node - linkType: hard - -"@motionone/types@npm:^10.15.1, @motionone/types@npm:^10.17.1": - version: 10.17.1 - resolution: "@motionone/types@npm:10.17.1" - checksum: f7b16cd4f0feda0beac10173afa6de7384722f9f24767f78b7aa90f15b8a89d584073a64387b015a8e015a962fa4b47a8ce23621f47708a08676b12bb0d43bbb - languageName: node - linkType: hard - -"@motionone/utils@npm:^10.15.1, @motionone/utils@npm:^10.18.0": - version: 10.18.0 - resolution: "@motionone/utils@npm:10.18.0" - dependencies: - "@motionone/types": "npm:^10.17.1" - hey-listen: "npm:^1.0.8" - tslib: "npm:^2.3.1" - checksum: db57dbb6a131fab36dc1eb4e1f3a4575ca97563221663adce54c138de1e1a9eaf4a4a51ddf99fdab0341112159e0190b35cdeddfdbd08ba3ad1e35886a5324bb - languageName: node - linkType: hard - -"@motionone/vue@npm:^10.16.2": - version: 10.16.4 - resolution: "@motionone/vue@npm:10.16.4" - dependencies: - "@motionone/dom": "npm:^10.16.4" - tslib: "npm:^2.3.1" - checksum: 0f3096c0956848cb67c4926e65b7034d854cf704573a277679713c5a8045347c3c043f50adad0c84ee3e88c046d35ab88ec4380e5acd729f81900381e0b1fd0d - languageName: node - linkType: hard - -"@next/env@npm:14.2.10": - version: 14.2.10 - resolution: "@next/env@npm:14.2.10" - checksum: e13ad3bb18f576a62a011f08393bd20cf025c3e3aa378d9df5c10f53b63a6eacd43b47aee00ffc8b2eb7988e4af58a1e1504a8e115aad753b35f3ee1cdbbc37a - languageName: node - linkType: hard - -"@next/eslint-plugin-next@npm:14.1.0": - version: 14.1.0 - resolution: "@next/eslint-plugin-next@npm:14.1.0" - dependencies: - glob: "npm:10.3.10" - checksum: d8753d8258bef471ba1296f760b092c0a17e89ddc937bf16b9399725d05b6426e58e3c8eb4efb8e8f027025804ecea3b714a7b7c75682d019e53ea8d181b8632 - languageName: node - linkType: hard - -"@next/swc-darwin-arm64@npm:14.2.10": - version: 14.2.10 - resolution: "@next/swc-darwin-arm64@npm:14.2.10" - conditions: os=darwin & cpu=arm64 - languageName: node - linkType: hard - -"@next/swc-darwin-x64@npm:14.2.10": - version: 14.2.10 - resolution: "@next/swc-darwin-x64@npm:14.2.10" - conditions: os=darwin & cpu=x64 - languageName: node - linkType: hard - -"@next/swc-linux-arm64-gnu@npm:14.2.10": - version: 14.2.10 - resolution: "@next/swc-linux-arm64-gnu@npm:14.2.10" - conditions: os=linux & cpu=arm64 & libc=glibc - languageName: node - linkType: hard - -"@next/swc-linux-arm64-musl@npm:14.2.10": - version: 14.2.10 - resolution: "@next/swc-linux-arm64-musl@npm:14.2.10" - conditions: os=linux & cpu=arm64 & libc=musl - languageName: node - linkType: hard - -"@next/swc-linux-x64-gnu@npm:14.2.10": - version: 14.2.10 - resolution: "@next/swc-linux-x64-gnu@npm:14.2.10" - conditions: os=linux & cpu=x64 & libc=glibc - languageName: node - linkType: hard - -"@next/swc-linux-x64-musl@npm:14.2.10": - version: 14.2.10 - resolution: "@next/swc-linux-x64-musl@npm:14.2.10" - conditions: os=linux & cpu=x64 & libc=musl - languageName: node - linkType: hard - -"@next/swc-win32-arm64-msvc@npm:14.2.10": - version: 14.2.10 - resolution: "@next/swc-win32-arm64-msvc@npm:14.2.10" - conditions: os=win32 & cpu=arm64 - languageName: node - linkType: hard - -"@next/swc-win32-ia32-msvc@npm:14.2.10": - version: 14.2.10 - resolution: "@next/swc-win32-ia32-msvc@npm:14.2.10" - conditions: os=win32 & cpu=ia32 - languageName: node - linkType: hard - -"@next/swc-win32-x64-msvc@npm:14.2.10": - version: 14.2.10 - resolution: "@next/swc-win32-x64-msvc@npm:14.2.10" - conditions: os=win32 & cpu=x64 - languageName: node - linkType: hard - -"@noble/curves@npm:1.4.0": - version: 1.4.0 - resolution: "@noble/curves@npm:1.4.0" - dependencies: - "@noble/hashes": "npm:1.4.0" - checksum: 31fbc370df91bcc5a920ca3f2ce69c8cf26dc94775a36124ed8a5a3faf0453badafd2ee4337061ffea1b43c623a90ee8b286a5a81604aaf9563bdad7ff795d18 - languageName: node - linkType: hard - -"@noble/curves@npm:1.4.2, @noble/curves@npm:^1.4.0, @noble/curves@npm:~1.4.0": - version: 1.4.2 - resolution: "@noble/curves@npm:1.4.2" - dependencies: - "@noble/hashes": "npm:1.4.0" - checksum: 65620c895b15d46e8087939db6657b46a1a15cd4e0e4de5cd84b97a0dfe0af85f33a431bb21ac88267e3dc508618245d4cb564213959d66a84d690fe18a63419 - languageName: node - linkType: hard - -"@noble/hashes@npm:1.4.0, @noble/hashes@npm:^1.3.1, @noble/hashes@npm:^1.4.0, @noble/hashes@npm:~1.4.0": - version: 1.4.0 - resolution: "@noble/hashes@npm:1.4.0" - checksum: 8c3f005ee72e7b8f9cff756dfae1241485187254e3f743873e22073d63906863df5d4f13d441b7530ea614b7a093f0d889309f28b59850f33b66cb26a779a4a5 - languageName: node - linkType: hard - -"@nodelib/fs.scandir@npm:2.1.5": - version: 2.1.5 - resolution: "@nodelib/fs.scandir@npm:2.1.5" - dependencies: - "@nodelib/fs.stat": "npm:2.0.5" - run-parallel: "npm:^1.1.9" - checksum: 732c3b6d1b1e967440e65f284bd06e5821fedf10a1bea9ed2bb75956ea1f30e08c44d3def9d6a230666574edbaf136f8cfd319c14fd1f87c66e6a44449afb2eb - languageName: node - linkType: hard - -"@nodelib/fs.stat@npm:2.0.5, @nodelib/fs.stat@npm:^2.0.2": - version: 2.0.5 - resolution: "@nodelib/fs.stat@npm:2.0.5" - checksum: 88dafe5e3e29a388b07264680dc996c17f4bda48d163a9d4f5c1112979f0ce8ec72aa7116122c350b4e7976bc5566dc3ddb579be1ceaacc727872eb4ed93926d - languageName: node - linkType: hard - -"@nodelib/fs.walk@npm:^1.2.3, @nodelib/fs.walk@npm:^1.2.8": - version: 1.2.8 - resolution: "@nodelib/fs.walk@npm:1.2.8" - dependencies: - "@nodelib/fs.scandir": "npm:2.1.5" - fastq: "npm:^1.6.0" - checksum: db9de047c3bb9b51f9335a7bb46f4fcfb6829fb628318c12115fbaf7d369bfce71c15b103d1fc3b464812d936220ee9bc1c8f762d032c9f6be9acc99249095b1 - languageName: node - linkType: hard - -"@npmcli/agent@npm:^2.0.0": - version: 2.2.1 - resolution: "@npmcli/agent@npm:2.2.1" - dependencies: - agent-base: "npm:^7.1.0" - http-proxy-agent: "npm:^7.0.0" - https-proxy-agent: "npm:^7.0.1" - lru-cache: "npm:^10.0.1" - socks-proxy-agent: "npm:^8.0.1" - checksum: 38ee5cbe8f3cde13be916e717bfc54fd1a7605c07af056369ff894e244c221e0b56b08ca5213457477f9bc15bca9e729d51a4788829b5c3cf296b3c996147f76 - languageName: node - linkType: hard - -"@npmcli/fs@npm:^3.1.0": - version: 3.1.0 - resolution: "@npmcli/fs@npm:3.1.0" - dependencies: - semver: "npm:^7.3.5" - checksum: 162b4a0b8705cd6f5c2470b851d1dc6cd228c86d2170e1769d738c1fbb69a87160901411c3c035331e9e99db72f1f1099a8b734bf1637cc32b9a5be1660e4e1e - languageName: node - linkType: hard - -"@parcel/watcher-android-arm64@npm:2.4.1": - version: 2.4.1 - resolution: "@parcel/watcher-android-arm64@npm:2.4.1" - conditions: os=android & cpu=arm64 - languageName: node - linkType: hard - -"@parcel/watcher-darwin-arm64@npm:2.4.1": - version: 2.4.1 - resolution: "@parcel/watcher-darwin-arm64@npm:2.4.1" - conditions: os=darwin & cpu=arm64 - languageName: node - linkType: hard - -"@parcel/watcher-darwin-x64@npm:2.4.1": - version: 2.4.1 - resolution: "@parcel/watcher-darwin-x64@npm:2.4.1" - conditions: os=darwin & cpu=x64 - languageName: node - linkType: hard - -"@parcel/watcher-freebsd-x64@npm:2.4.1": - version: 2.4.1 - resolution: "@parcel/watcher-freebsd-x64@npm:2.4.1" - conditions: os=freebsd & cpu=x64 - languageName: node - linkType: hard - -"@parcel/watcher-linux-arm-glibc@npm:2.4.1": - version: 2.4.1 - resolution: "@parcel/watcher-linux-arm-glibc@npm:2.4.1" - conditions: os=linux & cpu=arm & libc=glibc - languageName: node - linkType: hard - -"@parcel/watcher-linux-arm64-glibc@npm:2.4.1": - version: 2.4.1 - resolution: "@parcel/watcher-linux-arm64-glibc@npm:2.4.1" - conditions: os=linux & cpu=arm64 & libc=glibc - languageName: node - linkType: hard - -"@parcel/watcher-linux-arm64-musl@npm:2.4.1": - version: 2.4.1 - resolution: "@parcel/watcher-linux-arm64-musl@npm:2.4.1" - conditions: os=linux & cpu=arm64 & libc=musl - languageName: node - linkType: hard - -"@parcel/watcher-linux-x64-glibc@npm:2.4.1": - version: 2.4.1 - resolution: "@parcel/watcher-linux-x64-glibc@npm:2.4.1" - conditions: os=linux & cpu=x64 & libc=glibc - languageName: node - linkType: hard - -"@parcel/watcher-linux-x64-musl@npm:2.4.1": - version: 2.4.1 - resolution: "@parcel/watcher-linux-x64-musl@npm:2.4.1" - conditions: os=linux & cpu=x64 & libc=musl - languageName: node - linkType: hard - -"@parcel/watcher-wasm@npm:^2.4.1": - version: 2.4.1 - resolution: "@parcel/watcher-wasm@npm:2.4.1" - dependencies: - is-glob: "npm:^4.0.3" - micromatch: "npm:^4.0.5" - napi-wasm: "npm:^1.1.0" - checksum: 30a0d4e618c4867a5990025df56dff3a31a01f78b2d108b31e6ed7fabf123a13fd79ee292f547b572e439d272a6157c2ba9fb8e527456951c14283f872bdc16f - languageName: node - linkType: hard - -"@parcel/watcher-win32-arm64@npm:2.4.1": - version: 2.4.1 - resolution: "@parcel/watcher-win32-arm64@npm:2.4.1" - conditions: os=win32 & cpu=arm64 - languageName: node - linkType: hard - -"@parcel/watcher-win32-ia32@npm:2.4.1": - version: 2.4.1 - resolution: "@parcel/watcher-win32-ia32@npm:2.4.1" - conditions: os=win32 & cpu=ia32 - languageName: node - linkType: hard - -"@parcel/watcher-win32-x64@npm:2.4.1": - version: 2.4.1 - resolution: "@parcel/watcher-win32-x64@npm:2.4.1" - conditions: os=win32 & cpu=x64 - languageName: node - linkType: hard - -"@parcel/watcher@npm:^2.4.1": - version: 2.4.1 - resolution: "@parcel/watcher@npm:2.4.1" - dependencies: - "@parcel/watcher-android-arm64": "npm:2.4.1" - "@parcel/watcher-darwin-arm64": "npm:2.4.1" - "@parcel/watcher-darwin-x64": "npm:2.4.1" - "@parcel/watcher-freebsd-x64": "npm:2.4.1" - "@parcel/watcher-linux-arm-glibc": "npm:2.4.1" - "@parcel/watcher-linux-arm64-glibc": "npm:2.4.1" - "@parcel/watcher-linux-arm64-musl": "npm:2.4.1" - "@parcel/watcher-linux-x64-glibc": "npm:2.4.1" - "@parcel/watcher-linux-x64-musl": "npm:2.4.1" - "@parcel/watcher-win32-arm64": "npm:2.4.1" - "@parcel/watcher-win32-ia32": "npm:2.4.1" - "@parcel/watcher-win32-x64": "npm:2.4.1" - detect-libc: "npm:^1.0.3" - is-glob: "npm:^4.0.3" - micromatch: "npm:^4.0.5" - node-addon-api: "npm:^7.0.0" - node-gyp: "npm:latest" - dependenciesMeta: - "@parcel/watcher-android-arm64": - optional: true - "@parcel/watcher-darwin-arm64": - optional: true - "@parcel/watcher-darwin-x64": - optional: true - "@parcel/watcher-freebsd-x64": - optional: true - "@parcel/watcher-linux-arm-glibc": - optional: true - "@parcel/watcher-linux-arm64-glibc": - optional: true - "@parcel/watcher-linux-arm64-musl": - optional: true - "@parcel/watcher-linux-x64-glibc": - optional: true - "@parcel/watcher-linux-x64-musl": - optional: true - "@parcel/watcher-win32-arm64": - optional: true - "@parcel/watcher-win32-ia32": - optional: true - "@parcel/watcher-win32-x64": - optional: true - checksum: 33b7112094b9eb46c234d824953967435b628d3d93a0553255e9910829b84cab3da870153c3a870c31db186dc58f3b2db81382fcaee3451438aeec4d786a6211 - languageName: node - linkType: hard - -"@pkgjs/parseargs@npm:^0.11.0": - version: 0.11.0 - resolution: "@pkgjs/parseargs@npm:0.11.0" - checksum: 5bd7576bb1b38a47a7fc7b51ac9f38748e772beebc56200450c4a817d712232b8f1d3ef70532c80840243c657d491cf6a6be1e3a214cff907645819fdc34aadd - languageName: node - linkType: hard - -"@radix-ui/react-icons@npm:^1.3.0": - version: 1.3.0 - resolution: "@radix-ui/react-icons@npm:1.3.0" - peerDependencies: - react: ^16.x || ^17.x || ^18.x - checksum: 581657680e43fd13ff06e01f963e3afa94671d4ce6c3fb126e2c70c993ab8650faa55286974032dbccfecca4db57308fb66d53771d765887e03600cddee84ae5 - languageName: node - linkType: hard - -"@rainbow-me/rainbowkit@npm:^2.1.3": - version: 2.1.4 - resolution: "@rainbow-me/rainbowkit@npm:2.1.4" - dependencies: - "@vanilla-extract/css": "npm:1.14.0" - "@vanilla-extract/dynamic": "npm:2.1.0" - "@vanilla-extract/sprinkles": "npm:1.6.1" - clsx: "npm:2.1.0" - qrcode: "npm:1.5.3" - react-remove-scroll: "npm:2.5.7" - ua-parser-js: "npm:^1.0.37" - peerDependencies: - "@tanstack/react-query": ">=5.0.0" - react: ">=18" - react-dom: ">=18" - viem: 2.x - wagmi: ^2.9.0 - checksum: 3cd47248c7ee75807a63714bdff802aee6773321303307c0df3f53d92ab51f4751a75012a2dd708a411c1749340023f44b201bcf4985c6657aa81e82c00b58c5 - languageName: node - linkType: hard - -"@rushstack/eslint-patch@npm:^1.3.3": - version: 1.7.2 - resolution: "@rushstack/eslint-patch@npm:1.7.2" - checksum: bfb3e2110bfaf4cf9f900db2626bec62f5cd492907de0c5e43feaac0aa8c1fb13d6c89978dc60f6d7a1bc5d6906e8a3bf009aa2cd79d031b70ab1d8026a0975d - languageName: node - linkType: hard - -"@safe-global/safe-apps-provider@npm:0.18.3": - version: 0.18.3 - resolution: "@safe-global/safe-apps-provider@npm:0.18.3" - dependencies: - "@safe-global/safe-apps-sdk": "npm:^9.1.0" - events: "npm:^3.3.0" - checksum: 7209d761919969c0859e8b9df90fd46d06c3f99424ecd5fd2e0b8080355a880504ee5c46cebcbaa94739f8be272f3f7102a9f40cf18e6c1a9e1d7dd29d77ee5e - languageName: node - linkType: hard - -"@safe-global/safe-apps-sdk@npm:9.1.0, @safe-global/safe-apps-sdk@npm:^9.1.0": - version: 9.1.0 - resolution: "@safe-global/safe-apps-sdk@npm:9.1.0" - dependencies: - "@safe-global/safe-gateway-typescript-sdk": "npm:^3.5.3" - viem: "npm:^2.1.1" - checksum: 13af12122a6b1388e7960a76c3c421ea5ed97197646cd1f720b9fc9364fad0cc8f21cda23773130cd6bf57935a36f9e93f5222569cc80382709430b5cad26fda - languageName: node - linkType: hard - -"@safe-global/safe-gateway-typescript-sdk@npm:^3.5.3": - version: 3.22.2 - resolution: "@safe-global/safe-gateway-typescript-sdk@npm:3.22.2" - checksum: 4c61c6bc1e720ceb98e7812ef060e40120e130c385f1ac8012a99155179b0651e12f608e053c9e4d1d7917881920e9e3b15c3c90805f9bbb7f28d80b13d04381 - languageName: node - linkType: hard - -"@scure/base@npm:^1.1.3, @scure/base@npm:~1.1.6": - version: 1.1.7 - resolution: "@scure/base@npm:1.1.7" - checksum: 2d06aaf39e6de4b9640eb40d2e5419176ebfe911597856dcbf3bc6209277ddb83f4b4b02cb1fd1208f819654268ec083da68111d3530bbde07bae913e2fc2e5d - languageName: node - linkType: hard - -"@scure/bip32@npm:1.4.0": - version: 1.4.0 - resolution: "@scure/bip32@npm:1.4.0" - dependencies: - "@noble/curves": "npm:~1.4.0" - "@noble/hashes": "npm:~1.4.0" - "@scure/base": "npm:~1.1.6" - checksum: 6849690d49a3bf1d0ffde9452eb16ab83478c1bc0da7b914f873e2930cd5acf972ee81320e3df1963eb247cf57e76d2d975b5f97093d37c0e3f7326581bf41bd - languageName: node - linkType: hard - -"@scure/bip39@npm:1.3.0": - version: 1.3.0 - resolution: "@scure/bip39@npm:1.3.0" - dependencies: - "@noble/hashes": "npm:~1.4.0" - "@scure/base": "npm:~1.1.6" - checksum: 1ae1545a7384a4d9e33e12d9e9f8824f29b0279eb175b0f0657c0a782c217920054f9a1d28eb316a417dfc6c4e0b700d6fbdc6da160670107426d52fcbe017a8 - languageName: node - linkType: hard - -"@sinclair/typebox@npm:^0.27.8": - version: 0.27.8 - resolution: "@sinclair/typebox@npm:0.27.8" - checksum: ef6351ae073c45c2ac89494dbb3e1f87cc60a93ce4cde797b782812b6f97da0d620ae81973f104b43c9b7eaa789ad20ba4f6a1359f1cc62f63729a55a7d22d4e - languageName: node - linkType: hard - -"@sinonjs/commons@npm:^3.0.0": - version: 3.0.1 - resolution: "@sinonjs/commons@npm:3.0.1" - dependencies: - type-detect: "npm:4.0.8" - checksum: 1227a7b5bd6c6f9584274db996d7f8cee2c8c350534b9d0141fc662eaf1f292ea0ae3ed19e5e5271c8fd390d27e492ca2803acd31a1978be2cdc6be0da711403 - languageName: node - linkType: hard - -"@sinonjs/fake-timers@npm:^10.0.2": - version: 10.3.0 - resolution: "@sinonjs/fake-timers@npm:10.3.0" - dependencies: - "@sinonjs/commons": "npm:^3.0.0" - checksum: 2e2fb6cc57f227912814085b7b01fede050cd4746ea8d49a1e44d5a0e56a804663b0340ae2f11af7559ea9bf4d087a11f2f646197a660ea3cb04e19efc04aa63 - languageName: node - linkType: hard - -"@socket.io/component-emitter@npm:~3.1.0": - version: 3.1.2 - resolution: "@socket.io/component-emitter@npm:3.1.2" - checksum: c4242bad66f67e6f7b712733d25b43cbb9e19a595c8701c3ad99cbeb5901555f78b095e24852f862fffb43e96f1d8552e62def885ca82ae1bb05da3668fd87d7 - languageName: node - linkType: hard - -"@stablelib/aead@npm:^1.0.1": - version: 1.0.1 - resolution: "@stablelib/aead@npm:1.0.1" - checksum: 8ec16795a6f94264f93514661e024c5b0434d75000ea133923c57f0db30eab8ddc74fa35f5ff1ae4886803a8b92e169b828512c9e6bc02c818688d0f5b9f5aef - languageName: node - linkType: hard - -"@stablelib/binary@npm:^1.0.1": - version: 1.0.1 - resolution: "@stablelib/binary@npm:1.0.1" - dependencies: - "@stablelib/int": "npm:^1.0.1" - checksum: 154cb558d8b7c20ca5dc2e38abca2a3716ce36429bf1b9c298939cea0929766ed954feb8a9c59245ac64c923d5d3466bb7d99f281debd3a9d561e1279b11cd35 - languageName: node - linkType: hard - -"@stablelib/bytes@npm:^1.0.1": - version: 1.0.1 - resolution: "@stablelib/bytes@npm:1.0.1" - checksum: ee99bb15dac2f4ae1aa4e7a571e76483617a441feff422442f293993bc8b2c7ef021285c98f91a043bc05fb70502457799e28ffd43a8564a17913ee5ce889237 - languageName: node - linkType: hard - -"@stablelib/chacha20poly1305@npm:1.0.1": - version: 1.0.1 - resolution: "@stablelib/chacha20poly1305@npm:1.0.1" - dependencies: - "@stablelib/aead": "npm:^1.0.1" - "@stablelib/binary": "npm:^1.0.1" - "@stablelib/chacha": "npm:^1.0.1" - "@stablelib/constant-time": "npm:^1.0.1" - "@stablelib/poly1305": "npm:^1.0.1" - "@stablelib/wipe": "npm:^1.0.1" - checksum: fe202aa8aface111c72bc9ec099f9c36a7b1470eda9834e436bb228618a704929f095b937f04e867fe4d5c40216ff089cbfeb2eeb092ab33af39ff333eb2c1e6 - languageName: node - linkType: hard - -"@stablelib/chacha@npm:^1.0.1": - version: 1.0.1 - resolution: "@stablelib/chacha@npm:1.0.1" - dependencies: - "@stablelib/binary": "npm:^1.0.1" - "@stablelib/wipe": "npm:^1.0.1" - checksum: 4d70b484ae89416d21504024f977f5517bf16b344b10fb98382c9e3e52fe8ca77ac65f5d6a358d8b152f2c9ffed101a1eb15ed1707cdf906e1b6624db78d2d16 - languageName: node - linkType: hard - -"@stablelib/constant-time@npm:^1.0.1": - version: 1.0.1 - resolution: "@stablelib/constant-time@npm:1.0.1" - checksum: 694a282441215735a1fdfa3d06db5a28ba92423890967a154514ef28e0d0298ce7b6a2bc65ebc4273573d6669a6b601d330614747aa2e69078c1d523d7069e12 - languageName: node - linkType: hard - -"@stablelib/ed25519@npm:^1.0.2": - version: 1.0.3 - resolution: "@stablelib/ed25519@npm:1.0.3" - dependencies: - "@stablelib/random": "npm:^1.0.2" - "@stablelib/sha512": "npm:^1.0.1" - "@stablelib/wipe": "npm:^1.0.1" - checksum: b4a05e3c24dabd8a9e0b5bd72dea761bfb4b5c66404308e9f0529ef898e75d6f588234920762d5372cb920d9d47811250160109f02d04b6eed53835fb6916eb9 - languageName: node - linkType: hard - -"@stablelib/hash@npm:^1.0.1": - version: 1.0.1 - resolution: "@stablelib/hash@npm:1.0.1" - checksum: 58b5572a4067820b77a1606ed2d4a6dc4068c5475f68ba0918860a5f45adf60b33024a0cea9532dcd8b7345c53b3c9636a23723f5f8ae83e0c3648f91fb5b5cc - languageName: node - linkType: hard - -"@stablelib/hkdf@npm:1.0.1": - version: 1.0.1 - resolution: "@stablelib/hkdf@npm:1.0.1" - dependencies: - "@stablelib/hash": "npm:^1.0.1" - "@stablelib/hmac": "npm:^1.0.1" - "@stablelib/wipe": "npm:^1.0.1" - checksum: 722d30e36afa8029fda2a9e8c65ad753deff92a234e708820f9fd39309d2494e1c035a4185f29ae8d7fbf8a74862b27128c66a1fb4bd7a792bd300190080dbe9 - languageName: node - linkType: hard - -"@stablelib/hmac@npm:^1.0.1": - version: 1.0.1 - resolution: "@stablelib/hmac@npm:1.0.1" - dependencies: - "@stablelib/constant-time": "npm:^1.0.1" - "@stablelib/hash": "npm:^1.0.1" - "@stablelib/wipe": "npm:^1.0.1" - checksum: a111d5e687966b62c81f7dbd390f13582b027edee9bd39df6474a6472e5ad89d705e735af32bae2c9280a205806649f54b5ff8c4e8c8a7b484083a35b257e9e6 - languageName: node - linkType: hard - -"@stablelib/int@npm:^1.0.1": - version: 1.0.1 - resolution: "@stablelib/int@npm:1.0.1" - checksum: e1a6a7792fc2146d65de56e4ef42e8bc385dd5157eff27019b84476f564a1a6c43413235ed0e9f7c9bb8907dbdab24679467aeb10f44c92e6b944bcd864a7ee0 - languageName: node - linkType: hard - -"@stablelib/keyagreement@npm:^1.0.1": - version: 1.0.1 - resolution: "@stablelib/keyagreement@npm:1.0.1" - dependencies: - "@stablelib/bytes": "npm:^1.0.1" - checksum: 18c9e09772a058edee265c65992ec37abe4ab5118171958972e28f3bbac7f2a0afa6aaf152ec1d785452477bdab5366b3f5b750e8982ae9ad090f5fa2e5269ba - languageName: node - linkType: hard - -"@stablelib/poly1305@npm:^1.0.1": - version: 1.0.1 - resolution: "@stablelib/poly1305@npm:1.0.1" - dependencies: - "@stablelib/constant-time": "npm:^1.0.1" - "@stablelib/wipe": "npm:^1.0.1" - checksum: 080185ffa92f5111e6ecfeab7919368b9984c26d048b9c09a111fbc657ea62bb5dfe6b56245e1804ce692a445cc93ab6625936515fa0e7518b8f2d86feda9630 - languageName: node - linkType: hard - -"@stablelib/random@npm:1.0.2, @stablelib/random@npm:^1.0.1, @stablelib/random@npm:^1.0.2": - version: 1.0.2 - resolution: "@stablelib/random@npm:1.0.2" - dependencies: - "@stablelib/binary": "npm:^1.0.1" - "@stablelib/wipe": "npm:^1.0.1" - checksum: ebb217cfb76db97d98ec07bd7ce03a650fa194b91f0cb12382738161adff1830f405de0e9bad22bbc352422339ff85f531873b6a874c26ea9b59cfcc7ea787e0 - languageName: node - linkType: hard - -"@stablelib/sha256@npm:1.0.1": - version: 1.0.1 - resolution: "@stablelib/sha256@npm:1.0.1" - dependencies: - "@stablelib/binary": "npm:^1.0.1" - "@stablelib/hash": "npm:^1.0.1" - "@stablelib/wipe": "npm:^1.0.1" - checksum: e29ee9bc76eece4345e9155ce4bdeeb1df8652296be72bd2760523ad565e3b99dca85b81db3b75ee20b34837077eb8542ca88f153f162154c62ba1f75aecc24a - languageName: node - linkType: hard - -"@stablelib/sha512@npm:^1.0.1": - version: 1.0.1 - resolution: "@stablelib/sha512@npm:1.0.1" - dependencies: - "@stablelib/binary": "npm:^1.0.1" - "@stablelib/hash": "npm:^1.0.1" - "@stablelib/wipe": "npm:^1.0.1" - checksum: 84549070a383f4daf23d9065230eb81bc8f590c68bf5f7968f1b78901236b3bb387c14f63773dc6c3dc78e823b1c15470d2a04d398a2506391f466c16ba29b58 - languageName: node - linkType: hard - -"@stablelib/wipe@npm:^1.0.1": - version: 1.0.1 - resolution: "@stablelib/wipe@npm:1.0.1" - checksum: c5a54f769c286a5b3ecff979471dfccd4311f2e84a959908e8c0e3aa4eed1364bd9707f7b69d1384b757e62cc295c221fa27286c7f782410eb8a690f30cfd796 - languageName: node - linkType: hard - -"@stablelib/x25519@npm:1.0.3": - version: 1.0.3 - resolution: "@stablelib/x25519@npm:1.0.3" - dependencies: - "@stablelib/keyagreement": "npm:^1.0.1" - "@stablelib/random": "npm:^1.0.2" - "@stablelib/wipe": "npm:^1.0.1" - checksum: d8afe8a120923a434359d7d1c6759780426fed117a84a6c0f84d1a4878834cb4c2d7da78a1fa7cf227ce3924fdc300cd6ed6e46cf2508bf17b1545c319ab8418 - languageName: node - linkType: hard - -"@swc/counter@npm:^0.1.3": - version: 0.1.3 - resolution: "@swc/counter@npm:0.1.3" - checksum: 8424f60f6bf8694cfd2a9bca45845bce29f26105cda8cf19cdb9fd3e78dc6338699e4db77a89ae449260bafa1cc6bec307e81e7fb96dbf7dcfce0eea55151356 - languageName: node - linkType: hard - -"@swc/helpers@npm:0.5.5": - version: 0.5.5 - resolution: "@swc/helpers@npm:0.5.5" - dependencies: - "@swc/counter": "npm:^0.1.3" - tslib: "npm:^2.4.0" - checksum: 21a9b9cfe7e00865f9c9f3eb4c1cc5b397143464f7abee76a2c5366e591e06b0155b5aac93fe8269ef8d548df253f6fd931e9ddfc0fd12efd405f90f45506e7d - languageName: node - linkType: hard - -"@tanstack/query-core@npm:5.51.21": - version: 5.51.21 - resolution: "@tanstack/query-core@npm:5.51.21" - checksum: bb9e03391facd21c431d6571f3e088f47dc996b42a10ef636d3fd4444a483019d0e9bd4eb971d554bb4317ac3ee3ab23d5ce9221345753b792fb6fae030d1ad7 - languageName: node - linkType: hard - -"@tanstack/react-query@npm:^5": - version: 5.51.23 - resolution: "@tanstack/react-query@npm:5.51.23" - dependencies: - "@tanstack/query-core": "npm:5.51.21" - peerDependencies: - react: ^18.0.0 - checksum: 913566a6778197b0b6dd04416e7ccb2fc766b4c0d04b0dc7f0e10f2bb5dee5663688369e363ae129ccbc1844578f57c81ee7599fac7f3b90ab9611bc52a35e69 - languageName: node - linkType: hard - -"@testing-library/dom@npm:^9.0.0": - version: 9.3.4 - resolution: "@testing-library/dom@npm:9.3.4" - dependencies: - "@babel/code-frame": "npm:^7.10.4" - "@babel/runtime": "npm:^7.12.5" - "@types/aria-query": "npm:^5.0.1" - aria-query: "npm:5.1.3" - chalk: "npm:^4.1.0" - dom-accessibility-api: "npm:^0.5.9" - lz-string: "npm:^1.5.0" - pretty-format: "npm:^27.0.2" - checksum: 147da340e8199d7f98f3a4ad8aa22ed55b914b83957efa5eb22bfea021a979ebe5a5182afa9c1e5b7a5f99a7f6744a5a4d9325ae46ec3b33b5a15aed8750d794 - languageName: node - linkType: hard - -"@testing-library/jest-dom@npm:^6.4.2": - version: 6.4.2 - resolution: "@testing-library/jest-dom@npm:6.4.2" - dependencies: - "@adobe/css-tools": "npm:^4.3.2" - "@babel/runtime": "npm:^7.9.2" - aria-query: "npm:^5.0.0" - chalk: "npm:^3.0.0" - css.escape: "npm:^1.5.1" - dom-accessibility-api: "npm:^0.6.3" - lodash: "npm:^4.17.15" - redent: "npm:^3.0.0" - peerDependencies: - "@jest/globals": ">= 28" - "@types/bun": "*" - "@types/jest": ">= 28" - jest: ">= 28" - vitest: ">= 0.32" - peerDependenciesMeta: - "@jest/globals": - optional: true - "@types/bun": - optional: true - "@types/jest": - optional: true - jest: - optional: true - vitest: - optional: true - checksum: e7eba527b34ce30cde94424d2ec685bdfed51daaafb7df9b68b51aec6052e99a50c8bfe654612dacdf857a1eb81d68cf294fc89de558ee3a992bf7a6019fffcc - languageName: node - linkType: hard - -"@testing-library/react@npm:^14.2.1": - version: 14.2.1 - resolution: "@testing-library/react@npm:14.2.1" - dependencies: - "@babel/runtime": "npm:^7.12.5" - "@testing-library/dom": "npm:^9.0.0" - "@types/react-dom": "npm:^18.0.0" - peerDependencies: - react: ^18.0.0 - react-dom: ^18.0.0 - checksum: 83b35cf8bf5640f1b63b32223ebc75799dc1a8e034d819120b26838fba0b0ab10bdbe6ad07dd8ae8287365f2b0c52dc9892a6fa11bb24d3e63ad97dfb7f2f296 - languageName: node - linkType: hard - -"@tootallnate/once@npm:2": - version: 2.0.0 - resolution: "@tootallnate/once@npm:2.0.0" - checksum: 073bfa548026b1ebaf1659eb8961e526be22fa77139b10d60e712f46d2f0f05f4e6c8bec62a087d41088ee9e29faa7f54838568e475ab2f776171003c3920858 - languageName: node - linkType: hard - -"@tsconfig/node10@npm:^1.0.7": - version: 1.0.9 - resolution: "@tsconfig/node10@npm:1.0.9" - checksum: c176a2c1e1b16be120c328300ea910df15fb9a5277010116d26818272341a11483c5a80059389d04edacf6fd2d03d4687ad3660870fdd1cc0b7109e160adb220 - languageName: node - linkType: hard - -"@tsconfig/node12@npm:^1.0.7": - version: 1.0.11 - resolution: "@tsconfig/node12@npm:1.0.11" - checksum: dddca2b553e2bee1308a056705103fc8304e42bb2d2cbd797b84403a223b25c78f2c683ec3e24a095e82cd435387c877239bffcb15a590ba817cd3f6b9a99fd9 - languageName: node - linkType: hard - -"@tsconfig/node14@npm:^1.0.0": - version: 1.0.3 - resolution: "@tsconfig/node14@npm:1.0.3" - checksum: 67c1316d065fdaa32525bc9449ff82c197c4c19092b9663b23213c8cbbf8d88b6ed6a17898e0cbc2711950fbfaf40388938c1c748a2ee89f7234fc9e7fe2bf44 - languageName: node - linkType: hard - -"@tsconfig/node16@npm:^1.0.2": - version: 1.0.4 - resolution: "@tsconfig/node16@npm:1.0.4" - checksum: 05f8f2734e266fb1839eb1d57290df1664fe2aa3b0fdd685a9035806daa635f7519bf6d5d9b33f6e69dd545b8c46bd6e2b5c79acb2b1f146e885f7f11a42a5bb - languageName: node - linkType: hard - -"@types/aria-query@npm:^5.0.1": - version: 5.0.4 - resolution: "@types/aria-query@npm:5.0.4" - checksum: dc667bc6a3acc7bba2bccf8c23d56cb1f2f4defaa704cfef595437107efaa972d3b3db9ec1d66bc2711bfc35086821edd32c302bffab36f2e79b97f312069f08 - languageName: node - linkType: hard - -"@types/babel__core@npm:^7.1.14": - version: 7.20.5 - resolution: "@types/babel__core@npm:7.20.5" - dependencies: - "@babel/parser": "npm:^7.20.7" - "@babel/types": "npm:^7.20.7" - "@types/babel__generator": "npm:*" - "@types/babel__template": "npm:*" - "@types/babel__traverse": "npm:*" - checksum: bdee3bb69951e833a4b811b8ee9356b69a61ed5b7a23e1a081ec9249769117fa83aaaf023bb06562a038eb5845155ff663e2d5c75dd95c1d5ccc91db012868ff - languageName: node - linkType: hard - -"@types/babel__generator@npm:*": - version: 7.6.8 - resolution: "@types/babel__generator@npm:7.6.8" - dependencies: - "@babel/types": "npm:^7.0.0" - checksum: f0ba105e7d2296bf367d6e055bb22996886c114261e2cb70bf9359556d0076c7a57239d019dee42bb063f565bade5ccb46009bce2044b2952d964bf9a454d6d2 - languageName: node - linkType: hard - -"@types/babel__template@npm:*": - version: 7.4.4 - resolution: "@types/babel__template@npm:7.4.4" - dependencies: - "@babel/parser": "npm:^7.1.0" - "@babel/types": "npm:^7.0.0" - checksum: cc84f6c6ab1eab1427e90dd2b76ccee65ce940b778a9a67be2c8c39e1994e6f5bbc8efa309f6cea8dc6754994524cd4d2896558df76d92e7a1f46ecffee7112b - languageName: node - linkType: hard - -"@types/babel__traverse@npm:*, @types/babel__traverse@npm:^7.0.6": - version: 7.20.5 - resolution: "@types/babel__traverse@npm:7.20.5" - dependencies: - "@babel/types": "npm:^7.20.7" - checksum: 033abcb2f4c084ad33e30c3efaad82161240f351e3c71b6154ed289946b33b363696c0fbd42502b68e4582a87413c418321f40eb1ea863e34fe525641345e05b - languageName: node - linkType: hard - -"@types/debug@npm:^4.1.7": - version: 4.1.12 - resolution: "@types/debug@npm:4.1.12" - dependencies: - "@types/ms": "npm:*" - checksum: 5dcd465edbb5a7f226e9a5efd1f399c6172407ef5840686b73e3608ce135eeca54ae8037dcd9f16bdb2768ac74925b820a8b9ecc588a58ca09eca6acabe33e2f - languageName: node - linkType: hard - -"@types/dom-screen-wake-lock@npm:^1.0.0": - version: 1.0.3 - resolution: "@types/dom-screen-wake-lock@npm:1.0.3" - checksum: bab45f6a797de562f1bd3c095c49b7c0464ad05e571f38d00adaa35da2b02109bfe587206cc55f420377634cf0f7b07caa5acb3257e49dfd2d94dab74c617bf1 - languageName: node - linkType: hard - -"@types/graceful-fs@npm:^4.1.3": - version: 4.1.9 - resolution: "@types/graceful-fs@npm:4.1.9" - dependencies: - "@types/node": "npm:*" - checksum: 235d2fc69741448e853333b7c3d1180a966dd2b8972c8cbcd6b2a0c6cd7f8d582ab2b8e58219dbc62cce8f1b40aa317ff78ea2201cdd8249da5025adebed6f0b - languageName: node - linkType: hard - -"@types/istanbul-lib-coverage@npm:*, @types/istanbul-lib-coverage@npm:^2.0.0, @types/istanbul-lib-coverage@npm:^2.0.1": - version: 2.0.6 - resolution: "@types/istanbul-lib-coverage@npm:2.0.6" - checksum: 3948088654f3eeb45363f1db158354fb013b362dba2a5c2c18c559484d5eb9f6fd85b23d66c0a7c2fcfab7308d0a585b14dadaca6cc8bf89ebfdc7f8f5102fb7 - languageName: node - linkType: hard - -"@types/istanbul-lib-report@npm:*": - version: 3.0.3 - resolution: "@types/istanbul-lib-report@npm:3.0.3" - dependencies: - "@types/istanbul-lib-coverage": "npm:*" - checksum: 247e477bbc1a77248f3c6de5dadaae85ff86ac2d76c5fc6ab1776f54512a745ff2a5f791d22b942e3990ddbd40f3ef5289317c4fca5741bedfaa4f01df89051c - languageName: node - linkType: hard - -"@types/istanbul-reports@npm:^3.0.0": - version: 3.0.4 - resolution: "@types/istanbul-reports@npm:3.0.4" - dependencies: - "@types/istanbul-lib-report": "npm:*" - checksum: 1647fd402aced5b6edac87274af14ebd6b3a85447ef9ad11853a70fd92a98d35f81a5d3ea9fcb5dbb5834e800c6e35b64475e33fcae6bfa9acc70d61497c54ee - languageName: node - linkType: hard - -"@types/jsdom@npm:^20.0.0": - version: 20.0.1 - resolution: "@types/jsdom@npm:20.0.1" - dependencies: - "@types/node": "npm:*" - "@types/tough-cookie": "npm:*" - parse5: "npm:^7.0.0" - checksum: 3d4b2a3eab145674ee6da482607c5e48977869109f0f62560bf91ae1a792c9e847ac7c6aaf243ed2e97333cb3c51aef314ffa54a19ef174b8f9592dfcb836b25 - languageName: node - linkType: hard - -"@types/json5@npm:^0.0.29": - version: 0.0.29 - resolution: "@types/json5@npm:0.0.29" - checksum: 6bf5337bc447b706bb5b4431d37686aa2ea6d07cfd6f79cc31de80170d6ff9b1c7384a9c0ccbc45b3f512bae9e9f75c2e12109806a15331dc94e8a8db6dbb4ac - languageName: node - linkType: hard - -"@types/ms@npm:*": - version: 0.7.34 - resolution: "@types/ms@npm:0.7.34" - checksum: ac80bd90012116ceb2d188fde62d96830ca847823e8ca71255616bc73991aa7d9f057b8bfab79e8ee44ffefb031ddd1bcce63ea82f9e66f7c31ec02d2d823ccc - languageName: node - linkType: hard - -"@types/node@npm:*, @types/node@npm:^20": - version: 20.11.19 - resolution: "@types/node@npm:20.11.19" - dependencies: - undici-types: "npm:~5.26.4" - checksum: f451ef0a1d78f29c57bad7b77e49ebec945f2a6d0d7a89851d7e185ee9fe7ad94d651c0dfbcb7858c9fa791310c8b40a881e2260f56bd3c1b7e7ae92723373ae - languageName: node - linkType: hard - -"@types/prop-types@npm:*": - version: 15.7.11 - resolution: "@types/prop-types@npm:15.7.11" - checksum: e53423cf9d510515ef8b47ff42f4f1b65a7b7b37c8704e2dbfcb9a60defe0c0e1f3cb1acfdeb466bad44ca938d7c79bffdd51b48ffb659df2432169d0b27a132 - languageName: node - linkType: hard - -"@types/react-dom@npm:^18, @types/react-dom@npm:^18.0.0": - version: 18.2.19 - resolution: "@types/react-dom@npm:18.2.19" - dependencies: - "@types/react": "npm:*" - checksum: 88d7c6daa4659f661d0c97985d9fca492f24b421a34bb614dcd94c343aed7bea121463149e97fb01ecaa693be17b7d1542cf71ddb1705f3889a81eb2639a88aa - languageName: node - linkType: hard - -"@types/react@npm:*, @types/react@npm:^18": - version: 18.2.56 - resolution: "@types/react@npm:18.2.56" - dependencies: - "@types/prop-types": "npm:*" - "@types/scheduler": "npm:*" - csstype: "npm:^3.0.2" - checksum: a6dab9569799538a9e01d340a721ef1a6f5532bd11cae8d8ab9af00dab2edcafaa00950f7bf2f9ae5bbb1839d890e9ac6eb1ea1186200894b7178dde7b503269 - languageName: node - linkType: hard - -"@types/scheduler@npm:*": - version: 0.16.8 - resolution: "@types/scheduler@npm:0.16.8" - checksum: f86de504945b8fc41b1f391f847444d542e2e4067cf7e5d9bfeb5d2d2393d3203b1161bc0ef3b1e104d828dabfb60baf06e8d2c27e27ff7e8258e6e618d8c4ec - languageName: node - linkType: hard - -"@types/secp256k1@npm:^4.0.6": - version: 4.0.6 - resolution: "@types/secp256k1@npm:4.0.6" - dependencies: - "@types/node": "npm:*" - checksum: 0e391316ae30c218779583b626382a56546ddbefb65f1ff9cf5e078af8a7118f67f3e66e30914399cc6f8710c424d0d8c3f34262ffb1f429c6ad911fd0d0bc26 - languageName: node - linkType: hard - -"@types/stack-utils@npm:^2.0.0": - version: 2.0.3 - resolution: "@types/stack-utils@npm:2.0.3" - checksum: 1f4658385ae936330581bcb8aa3a066df03867d90281cdf89cc356d404bd6579be0f11902304e1f775d92df22c6dd761d4451c804b0a4fba973e06211e9bd77c - languageName: node - linkType: hard - -"@types/tough-cookie@npm:*": - version: 4.0.5 - resolution: "@types/tough-cookie@npm:4.0.5" - checksum: 68c6921721a3dcb40451543db2174a145ef915bc8bcbe7ad4e59194a0238e776e782b896c7a59f4b93ac6acefca9161fccb31d1ce3b3445cb6faa467297fb473 - languageName: node - linkType: hard - -"@types/trusted-types@npm:^2.0.2": - version: 2.0.7 - resolution: "@types/trusted-types@npm:2.0.7" - checksum: 4c4855f10de7c6c135e0d32ce462419d8abbbc33713b31d294596c0cc34ae1fa6112a2f9da729c8f7a20707782b0d69da3b1f8df6645b0366d08825ca1522e0c - languageName: node - linkType: hard - -"@types/yargs-parser@npm:*": - version: 21.0.3 - resolution: "@types/yargs-parser@npm:21.0.3" - checksum: e71c3bd9d0b73ca82e10bee2064c384ab70f61034bbfb78e74f5206283fc16a6d85267b606b5c22cb2a3338373586786fed595b2009825d6a9115afba36560a0 - languageName: node - linkType: hard - -"@types/yargs@npm:^17.0.8": - version: 17.0.32 - resolution: "@types/yargs@npm:17.0.32" - dependencies: - "@types/yargs-parser": "npm:*" - checksum: 2095e8aad8a4e66b86147415364266b8d607a3b95b4239623423efd7e29df93ba81bb862784a6e08664f645cc1981b25fd598f532019174cd3e5e1e689e1cccf - languageName: node - linkType: hard - -"@typescript-eslint/parser@npm:^5.4.2 || ^6.0.0": - version: 6.21.0 - resolution: "@typescript-eslint/parser@npm:6.21.0" - dependencies: - "@typescript-eslint/scope-manager": "npm:6.21.0" - "@typescript-eslint/types": "npm:6.21.0" - "@typescript-eslint/typescript-estree": "npm:6.21.0" - "@typescript-eslint/visitor-keys": "npm:6.21.0" - debug: "npm:^4.3.4" - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: a8f99820679decd0d115c0af61903fb1de3b1b5bec412dc72b67670bf636de77ab07f2a68ee65d6da7976039bbf636907f9d5ca546db3f0b98a31ffbc225bc7d - languageName: node - linkType: hard - -"@typescript-eslint/scope-manager@npm:6.21.0": - version: 6.21.0 - resolution: "@typescript-eslint/scope-manager@npm:6.21.0" - dependencies: - "@typescript-eslint/types": "npm:6.21.0" - "@typescript-eslint/visitor-keys": "npm:6.21.0" - checksum: eaf868938d811cbbea33e97e44ba7050d2b6892202cea6a9622c486b85ab1cf801979edf78036179a8ba4ac26f1dfdf7fcc83a68c1ff66be0b3a8e9a9989b526 - languageName: node - linkType: hard - -"@typescript-eslint/types@npm:6.21.0": - version: 6.21.0 - resolution: "@typescript-eslint/types@npm:6.21.0" - checksum: 020631d3223bbcff8a0da3efbdf058220a8f48a3de221563996ad1dcc30d6c08dadc3f7608cc08830d21c0d565efd2db19b557b9528921c78aabb605eef2d74d - languageName: node - linkType: hard - -"@typescript-eslint/typescript-estree@npm:6.21.0": - version: 6.21.0 - resolution: "@typescript-eslint/typescript-estree@npm:6.21.0" - dependencies: - "@typescript-eslint/types": "npm:6.21.0" - "@typescript-eslint/visitor-keys": "npm:6.21.0" - debug: "npm:^4.3.4" - globby: "npm:^11.1.0" - is-glob: "npm:^4.0.3" - minimatch: "npm:9.0.3" - semver: "npm:^7.5.4" - ts-api-utils: "npm:^1.0.1" - peerDependenciesMeta: - typescript: - optional: true - checksum: af1438c60f080045ebb330155a8c9bb90db345d5069cdd5d01b67de502abb7449d6c75500519df829f913a6b3f490ade3e8215279b6bdc63d0fb0ae61034df5f - languageName: node - linkType: hard - -"@typescript-eslint/visitor-keys@npm:6.21.0": - version: 6.21.0 - resolution: "@typescript-eslint/visitor-keys@npm:6.21.0" - dependencies: - "@typescript-eslint/types": "npm:6.21.0" - eslint-visitor-keys: "npm:^3.4.1" - checksum: 7395f69739cfa1cb83c1fb2fad30afa2a814756367302fb4facd5893eff66abc807e8d8f63eba94ed3b0fe0c1c996ac9a1680bcbf0f83717acedc3f2bb724fbf - languageName: node - linkType: hard - -"@ungap/structured-clone@npm:^1.2.0": - version: 1.2.0 - resolution: "@ungap/structured-clone@npm:1.2.0" - checksum: 8209c937cb39119f44eb63cf90c0b73e7c754209a6411c707be08e50e29ee81356dca1a848a405c8bdeebfe2f5e4f831ad310ae1689eeef65e7445c090c6657d - languageName: node - linkType: hard - -"@vanilla-extract/css@npm:1.14.0": - version: 1.14.0 - resolution: "@vanilla-extract/css@npm:1.14.0" - dependencies: - "@emotion/hash": "npm:^0.9.0" - "@vanilla-extract/private": "npm:^1.0.3" - chalk: "npm:^4.1.1" - css-what: "npm:^6.1.0" - cssesc: "npm:^3.0.0" - csstype: "npm:^3.0.7" - deep-object-diff: "npm:^1.1.9" - deepmerge: "npm:^4.2.2" - media-query-parser: "npm:^2.0.2" - modern-ahocorasick: "npm:^1.0.0" - outdent: "npm:^0.8.0" - checksum: 8e5d6419af7249c873db4acf9751044245a004133073fe6c85ae800f6b88794ac4e323612c2dc6fa67ea797bdebf57432f153311e86ab3707110f18d5b038557 - languageName: node - linkType: hard - -"@vanilla-extract/dynamic@npm:2.1.0": - version: 2.1.0 - resolution: "@vanilla-extract/dynamic@npm:2.1.0" - dependencies: - "@vanilla-extract/private": "npm:^1.0.3" - checksum: dcb8149bd815c4be75184f90e350750b6bc16ffdb5841f62f7211385478589dc0a0b261a442011149c2edbdbd83a956a425eec94f6c735f269a1cdb310541a66 - languageName: node - linkType: hard - -"@vanilla-extract/private@npm:^1.0.3": - version: 1.0.5 - resolution: "@vanilla-extract/private@npm:1.0.5" - checksum: 9a5053763fc1964b68c8384afcba7abcb7d776755763fcc96fbc70f1317618368b8127088871611b7beae480f20bd05cc486a90ed3a48332a2c02293357ba819 - languageName: node - linkType: hard - -"@vanilla-extract/sprinkles@npm:1.6.1": - version: 1.6.1 - resolution: "@vanilla-extract/sprinkles@npm:1.6.1" - peerDependencies: - "@vanilla-extract/css": ^1.0.0 - checksum: 7ddd2ab7c88b5740260e09aba5399d938d9a46142a0652842e8cd3fe34cd2fd2fbeb75060718bb44cb1a81dce280bb9955ae35defd89f7045e3a6822baf2b5ae - languageName: node - linkType: hard - -"@wagmi/connectors@npm:5.1.5": - version: 5.1.5 - resolution: "@wagmi/connectors@npm:5.1.5" - dependencies: - "@coinbase/wallet-sdk": "npm:4.0.4" - "@metamask/sdk": "npm:0.27.0" - "@safe-global/safe-apps-provider": "npm:0.18.3" - "@safe-global/safe-apps-sdk": "npm:9.1.0" - "@walletconnect/ethereum-provider": "npm:2.14.0" - "@walletconnect/modal": "npm:2.6.2" - cbw-sdk: "npm:@coinbase/wallet-sdk@3.9.3" - peerDependencies: - "@wagmi/core": 2.13.4 - typescript: ">=5.0.4" - viem: 2.x - peerDependenciesMeta: - typescript: - optional: true - checksum: 5a44c81e2991f80f798e02732ef9abf7b5d13e39f4dbbe7b9cb5d6ab5cb2521e0fe0a552e09dad97d6f048d2aa085a0c78872191a631fc103446d1e452bf8b76 - languageName: node - linkType: hard - -"@wagmi/core@npm:2.13.4": - version: 2.13.4 - resolution: "@wagmi/core@npm:2.13.4" - dependencies: - eventemitter3: "npm:5.0.1" - mipd: "npm:0.0.7" - zustand: "npm:4.4.1" - peerDependencies: - "@tanstack/query-core": ">=5.0.0" - typescript: ">=5.0.4" - viem: 2.x - peerDependenciesMeta: - "@tanstack/query-core": - optional: true - typescript: - optional: true - checksum: 020a2953f2ee5753b22c2eb85f9e2be83094e97a251267eafead222474777c2506c1633fd1a047b46f35ca75022950d6d2e41f9ed055fefea5991758735a813e - languageName: node - linkType: hard - -"@walletconnect/core@npm:2.14.0": - version: 2.14.0 - resolution: "@walletconnect/core@npm:2.14.0" - dependencies: - "@walletconnect/heartbeat": "npm:1.2.2" - "@walletconnect/jsonrpc-provider": "npm:1.0.14" - "@walletconnect/jsonrpc-types": "npm:1.0.4" - "@walletconnect/jsonrpc-utils": "npm:1.0.8" - "@walletconnect/jsonrpc-ws-connection": "npm:1.0.14" - "@walletconnect/keyvaluestorage": "npm:1.1.1" - "@walletconnect/logger": "npm:2.1.2" - "@walletconnect/relay-api": "npm:1.0.10" - "@walletconnect/relay-auth": "npm:1.0.4" - "@walletconnect/safe-json": "npm:1.0.2" - "@walletconnect/time": "npm:1.0.2" - "@walletconnect/types": "npm:2.14.0" - "@walletconnect/utils": "npm:2.14.0" - events: "npm:3.3.0" - isomorphic-unfetch: "npm:3.1.0" - lodash.isequal: "npm:4.5.0" - uint8arrays: "npm:3.1.0" - checksum: 4b9ccec319f893d65acaa9c1641408783f1fddd2fe054540cf1cdd8a3a5adc1151cfbd338a67f342f10649ae48a621d8d6788111122899560b60a1e664fc16a8 - languageName: node - linkType: hard - -"@walletconnect/environment@npm:^1.0.1": - version: 1.0.1 - resolution: "@walletconnect/environment@npm:1.0.1" - dependencies: - tslib: "npm:1.14.1" - checksum: 08eacce6452950a17f4209c443bd4db6bf7bddfc860593bdbd49edda9d08821696dee79e5617a954fbe90ff32c1d1f1691ef0c77455ed3e4201b328856a5e2f7 - languageName: node - linkType: hard - -"@walletconnect/ethereum-provider@npm:2.14.0": - version: 2.14.0 - resolution: "@walletconnect/ethereum-provider@npm:2.14.0" - dependencies: - "@walletconnect/jsonrpc-http-connection": "npm:1.0.8" - "@walletconnect/jsonrpc-provider": "npm:1.0.14" - "@walletconnect/jsonrpc-types": "npm:1.0.4" - "@walletconnect/jsonrpc-utils": "npm:1.0.8" - "@walletconnect/modal": "npm:2.6.2" - "@walletconnect/sign-client": "npm:2.14.0" - "@walletconnect/types": "npm:2.14.0" - "@walletconnect/universal-provider": "npm:2.14.0" - "@walletconnect/utils": "npm:2.14.0" - events: "npm:3.3.0" - checksum: 43fbd93be02e752904513ec4f88ae0c1d986ddc1d13344f8af8d48eec11450c583b65b9024f36c3c4432a92bfd2dd4f946ef092846b21334f850b56d05ab8cf2 - languageName: node - linkType: hard - -"@walletconnect/events@npm:1.0.1, @walletconnect/events@npm:^1.0.1": - version: 1.0.1 - resolution: "@walletconnect/events@npm:1.0.1" - dependencies: - keyvaluestorage-interface: "npm:^1.0.0" - tslib: "npm:1.14.1" - checksum: 919a97e1dacf7096aefe07af810362cfc190533a576dcfa21387295d825a3c3d5f90bedee73235b1b343f5c696f242d7bffc5ea3359d3833541349ca23f50df8 - languageName: node - linkType: hard - -"@walletconnect/heartbeat@npm:1.2.2": - version: 1.2.2 - resolution: "@walletconnect/heartbeat@npm:1.2.2" - dependencies: - "@walletconnect/events": "npm:^1.0.1" - "@walletconnect/time": "npm:^1.0.2" - events: "npm:^3.3.0" - checksum: a97b07764c397fe3cd26e8ea4233ecc8a26049624df7edc05290d286266bc5ba1de740d12c50dc1b7e8605198c5974e34e2d5318087bd4e9db246e7b273f4592 - languageName: node - linkType: hard - -"@walletconnect/jsonrpc-http-connection@npm:1.0.8": - version: 1.0.8 - resolution: "@walletconnect/jsonrpc-http-connection@npm:1.0.8" - dependencies: - "@walletconnect/jsonrpc-utils": "npm:^1.0.6" - "@walletconnect/safe-json": "npm:^1.0.1" - cross-fetch: "npm:^3.1.4" - events: "npm:^3.3.0" - checksum: cfac9ae74085d383ebc6edf075aeff01312818ac95e706cb8538ef4d4e6d82e75fb51529b3a9b65fa56a3f0f32a1738defad61713ed8a5f67cee25a79b6b4614 - languageName: node - linkType: hard - -"@walletconnect/jsonrpc-provider@npm:1.0.14": - version: 1.0.14 - resolution: "@walletconnect/jsonrpc-provider@npm:1.0.14" - dependencies: - "@walletconnect/jsonrpc-utils": "npm:^1.0.8" - "@walletconnect/safe-json": "npm:^1.0.2" - events: "npm:^3.3.0" - checksum: 9801bd516d81e92977b6add213da91e0e4a7a5915ad22685a4d2a733bab6199e9053485b76340cd724c7faa17a1b0eb842696247944fd57fb581488a2e1bed75 - languageName: node - linkType: hard - -"@walletconnect/jsonrpc-types@npm:1.0.4, @walletconnect/jsonrpc-types@npm:^1.0.2, @walletconnect/jsonrpc-types@npm:^1.0.3": - version: 1.0.4 - resolution: "@walletconnect/jsonrpc-types@npm:1.0.4" - dependencies: - events: "npm:^3.3.0" - keyvaluestorage-interface: "npm:^1.0.0" - checksum: 752978685b0596a4ba02e1b689d23873e464460e4f376c97ef63e6b3ab273658ca062de2bfcaa8a498d31db0c98be98c8bbfbe5142b256a4b3ef425e1707f353 - languageName: node - linkType: hard - -"@walletconnect/jsonrpc-utils@npm:1.0.8, @walletconnect/jsonrpc-utils@npm:^1.0.6, @walletconnect/jsonrpc-utils@npm:^1.0.8": - version: 1.0.8 - resolution: "@walletconnect/jsonrpc-utils@npm:1.0.8" - dependencies: - "@walletconnect/environment": "npm:^1.0.1" - "@walletconnect/jsonrpc-types": "npm:^1.0.3" - tslib: "npm:1.14.1" - checksum: e4a6bd801cf555bca775e03d961d1fe5ad0a22838e3496adda43ab4020a73d1b38de7096c06940e51f00fccccc734cd422fe4f1f7a8682302467b9c4d2a93d5d - languageName: node - linkType: hard - -"@walletconnect/jsonrpc-ws-connection@npm:1.0.14": - version: 1.0.14 - resolution: "@walletconnect/jsonrpc-ws-connection@npm:1.0.14" - dependencies: - "@walletconnect/jsonrpc-utils": "npm:^1.0.6" - "@walletconnect/safe-json": "npm:^1.0.2" - events: "npm:^3.3.0" - ws: "npm:^7.5.1" - checksum: a710ecc51f8d3ed819ba6d6e53151ef274473aa8746ffdeaffaa3d4c020405bc694b0d179649fc2510a556eb4daf02f4a9e3dacef69ff95f673939bd67be649e - languageName: node - linkType: hard - -"@walletconnect/keyvaluestorage@npm:1.1.1": - version: 1.1.1 - resolution: "@walletconnect/keyvaluestorage@npm:1.1.1" - dependencies: - "@walletconnect/safe-json": "npm:^1.0.1" - idb-keyval: "npm:^6.2.1" - unstorage: "npm:^1.9.0" - peerDependencies: - "@react-native-async-storage/async-storage": 1.x - peerDependenciesMeta: - "@react-native-async-storage/async-storage": - optional: true - checksum: de2ec39d09ce99370865f7d7235b93c42b3e4fd3406bdbc644329eff7faea2722618aa88ffc4ee7d20b1d6806a8331261b65568187494cbbcceeedbe79dc30e8 - languageName: node - linkType: hard - -"@walletconnect/logger@npm:2.1.2": - version: 2.1.2 - resolution: "@walletconnect/logger@npm:2.1.2" - dependencies: - "@walletconnect/safe-json": "npm:^1.0.2" - pino: "npm:7.11.0" - checksum: c66e835d33f737f48d6269f151650f6d7bb85bd8b59580fb8116f94d460773820968026e666ddf4a1753f28fceb3c54aae8230a445108a116077cb13a293842f - languageName: node - linkType: hard - -"@walletconnect/modal-core@npm:2.6.2": - version: 2.6.2 - resolution: "@walletconnect/modal-core@npm:2.6.2" - dependencies: - valtio: "npm:1.11.2" - checksum: 5e3fb21a1fc923ec0d2a3e33cc360e3d56278a211609d5fd4cc4d6e3b4f1acb40b9783fcc771b259b78c7e731af3862def096aa1da2e210e7859729808304c94 - languageName: node - linkType: hard - -"@walletconnect/modal-ui@npm:2.6.2": - version: 2.6.2 - resolution: "@walletconnect/modal-ui@npm:2.6.2" - dependencies: - "@walletconnect/modal-core": "npm:2.6.2" - lit: "npm:2.8.0" - motion: "npm:10.16.2" - qrcode: "npm:1.5.3" - checksum: 5d8f0a2703b9757dfa48ad3e48a40e64608f6a28db31ec93a2f10e942dcc5ee986c03ffdab94018e905836d339131fc928bc14614a94943011868cdddc36a32a - languageName: node - linkType: hard - -"@walletconnect/modal@npm:2.6.2": - version: 2.6.2 - resolution: "@walletconnect/modal@npm:2.6.2" - dependencies: - "@walletconnect/modal-core": "npm:2.6.2" - "@walletconnect/modal-ui": "npm:2.6.2" - checksum: 1cc309f63d061e49fdf7b10d28093d7ef1a47f4624f717f8fd3bf6097ac3b00cea4acc45c50e8bd386d4bcfdf10f4dcba960f7129c557b9dc42ef7d05b970807 - languageName: node - linkType: hard - -"@walletconnect/relay-api@npm:1.0.10": - version: 1.0.10 - resolution: "@walletconnect/relay-api@npm:1.0.10" - dependencies: - "@walletconnect/jsonrpc-types": "npm:^1.0.2" - checksum: 2709bbe45f60579cd2e1c74b0fd03c36ea409cd8a9117e00a7485428d0c9ba7eb02e525c21e5286db2b6ce563b1d29053b0249c2ed95f8adcf02b11e54f61fcd - languageName: node - linkType: hard - -"@walletconnect/relay-auth@npm:1.0.4": - version: 1.0.4 - resolution: "@walletconnect/relay-auth@npm:1.0.4" - dependencies: - "@stablelib/ed25519": "npm:^1.0.2" - "@stablelib/random": "npm:^1.0.1" - "@walletconnect/safe-json": "npm:^1.0.1" - "@walletconnect/time": "npm:^1.0.2" - tslib: "npm:1.14.1" - uint8arrays: "npm:^3.0.0" - checksum: e90294ff718c5c1e49751a28916aaac45dd07d694f117052506309eb05b68cc2c72d9b302366e40d79ef952c22bd0bbea731d09633a6663b0ab8e18b4804a832 - languageName: node - linkType: hard - -"@walletconnect/safe-json@npm:1.0.2, @walletconnect/safe-json@npm:^1.0.1, @walletconnect/safe-json@npm:^1.0.2": - version: 1.0.2 - resolution: "@walletconnect/safe-json@npm:1.0.2" - dependencies: - tslib: "npm:1.14.1" - checksum: 8689072018c1ff7ab58eca67bd6f06b53702738d8183d67bfe6ed220aeac804e41901b8ee0fb14299e83c70093fafb90a90992202d128d53b2832bb01b591752 - languageName: node - linkType: hard - -"@walletconnect/sign-client@npm:2.14.0": - version: 2.14.0 - resolution: "@walletconnect/sign-client@npm:2.14.0" - dependencies: - "@walletconnect/core": "npm:2.14.0" - "@walletconnect/events": "npm:1.0.1" - "@walletconnect/heartbeat": "npm:1.2.2" - "@walletconnect/jsonrpc-utils": "npm:1.0.8" - "@walletconnect/logger": "npm:2.1.2" - "@walletconnect/time": "npm:1.0.2" - "@walletconnect/types": "npm:2.14.0" - "@walletconnect/utils": "npm:2.14.0" - events: "npm:3.3.0" - checksum: 77ca995c46ed76fa7086df5b841c3e06a36b33b7f8323606c36567ee7ca4123bc3c64bf3f530f02a4bbc15261c080eea6f048c96ed35a1d7b8f1c7e5c92f82fc - languageName: node - linkType: hard - -"@walletconnect/time@npm:1.0.2, @walletconnect/time@npm:^1.0.2": - version: 1.0.2 - resolution: "@walletconnect/time@npm:1.0.2" - dependencies: - tslib: "npm:1.14.1" - checksum: 6317f93086e36daa3383cab4a8579c7d0bed665fb0f8e9016575200314e9ba5e61468f66142a7bb5b8489bb4c9250196576d90a60b6b00e0e856b5d0ab6ba474 - languageName: node - linkType: hard - -"@walletconnect/types@npm:2.14.0": - version: 2.14.0 - resolution: "@walletconnect/types@npm:2.14.0" - dependencies: - "@walletconnect/events": "npm:1.0.1" - "@walletconnect/heartbeat": "npm:1.2.2" - "@walletconnect/jsonrpc-types": "npm:1.0.4" - "@walletconnect/keyvaluestorage": "npm:1.1.1" - "@walletconnect/logger": "npm:2.1.2" - events: "npm:3.3.0" - checksum: ea594c76b3dd3e9d75e8702c30e449a0af98423c76e5ad708bc41ad5624fd7725ba7329dd6f09f489eb5b08334387f39744457d3b173421517bd023c908da744 - languageName: node - linkType: hard - -"@walletconnect/universal-provider@npm:2.14.0": - version: 2.14.0 - resolution: "@walletconnect/universal-provider@npm:2.14.0" - dependencies: - "@walletconnect/jsonrpc-http-connection": "npm:1.0.8" - "@walletconnect/jsonrpc-provider": "npm:1.0.14" - "@walletconnect/jsonrpc-types": "npm:1.0.4" - "@walletconnect/jsonrpc-utils": "npm:1.0.8" - "@walletconnect/logger": "npm:2.1.2" - "@walletconnect/sign-client": "npm:2.14.0" - "@walletconnect/types": "npm:2.14.0" - "@walletconnect/utils": "npm:2.14.0" - events: "npm:3.3.0" - checksum: 22d7925272eac1efc4337e406b0d195fb90efed112c937e45cf03bbe950de080c2052ddd4ce869e67ccabd604a54d5cfc9cc2bf8f9777cef0387a62c1a109adb - languageName: node - linkType: hard - -"@walletconnect/utils@npm:2.14.0": - version: 2.14.0 - resolution: "@walletconnect/utils@npm:2.14.0" - dependencies: - "@stablelib/chacha20poly1305": "npm:1.0.1" - "@stablelib/hkdf": "npm:1.0.1" - "@stablelib/random": "npm:1.0.2" - "@stablelib/sha256": "npm:1.0.1" - "@stablelib/x25519": "npm:1.0.3" - "@walletconnect/relay-api": "npm:1.0.10" - "@walletconnect/safe-json": "npm:1.0.2" - "@walletconnect/time": "npm:1.0.2" - "@walletconnect/types": "npm:2.14.0" - "@walletconnect/window-getters": "npm:1.0.1" - "@walletconnect/window-metadata": "npm:1.0.1" - detect-browser: "npm:5.3.0" - query-string: "npm:7.1.3" - uint8arrays: "npm:3.1.0" - checksum: c7dc3155ac56c84edcf0c39fa61012675193f016698b0da941aba2977779398e95cddcf2ede139685856d84e39732d88417feb15d8a3844b00b13a9b3b68a149 - languageName: node - linkType: hard - -"@walletconnect/window-getters@npm:1.0.1, @walletconnect/window-getters@npm:^1.0.1": - version: 1.0.1 - resolution: "@walletconnect/window-getters@npm:1.0.1" - dependencies: - tslib: "npm:1.14.1" - checksum: c3aedba77aa9274b8277c4189ec992a0a6000377e95656443b3872ca5b5fe77dd91170b1695027fc524dc20362ce89605d277569a0d9a5bedc841cdaf14c95df - languageName: node - linkType: hard - -"@walletconnect/window-metadata@npm:1.0.1": - version: 1.0.1 - resolution: "@walletconnect/window-metadata@npm:1.0.1" - dependencies: - "@walletconnect/window-getters": "npm:^1.0.1" - tslib: "npm:1.14.1" - checksum: f190e9bed77282d8ba868a4895f4d813e135f9bbecb8dd4aed988ab1b06992f78128ac19d7d073cf41d8a6a74d0c055cd725908ce0a894649fd25443ad934cf4 - languageName: node - linkType: hard - -"abab@npm:^2.0.6": - version: 2.0.6 - resolution: "abab@npm:2.0.6" - checksum: 0b245c3c3ea2598fe0025abf7cc7bb507b06949d51e8edae5d12c1b847a0a0c09639abcb94788332b4e2044ac4491c1e8f571b51c7826fd4b0bda1685ad4a278 - languageName: node - linkType: hard - -"abbrev@npm:^2.0.0": - version: 2.0.0 - resolution: "abbrev@npm:2.0.0" - checksum: f742a5a107473946f426c691c08daba61a1d15942616f300b5d32fd735be88fef5cba24201757b6c407fd564555fb48c751cfa33519b2605c8a7aadd22baf372 - languageName: node - linkType: hard - -"abitype@npm:1.0.5": - version: 1.0.5 - resolution: "abitype@npm:1.0.5" - peerDependencies: - typescript: ">=5.0.4" - zod: ^3 >=3.22.0 - peerDependenciesMeta: - typescript: - optional: true - zod: - optional: true - checksum: dc954877fba19e2b7a70f1025807d69fa5aabec8bd58ce94e68d1a5ec1697fff3fe5214b4392508db7191762150f19a2396cf66ffb1d3ba8c1f37a89fd25e598 - languageName: node - linkType: hard - -"abort-controller@npm:^3.0.0": - version: 3.0.0 - resolution: "abort-controller@npm:3.0.0" - dependencies: - event-target-shim: "npm:^5.0.0" - checksum: 90ccc50f010250152509a344eb2e71977fbf8db0ab8f1061197e3275ddf6c61a41a6edfd7b9409c664513131dd96e962065415325ef23efa5db931b382d24ca5 - languageName: node - linkType: hard - -"acorn-globals@npm:^7.0.0": - version: 7.0.1 - resolution: "acorn-globals@npm:7.0.1" - dependencies: - acorn: "npm:^8.1.0" - acorn-walk: "npm:^8.0.2" - checksum: 7437f58e92d99292dbebd0e79531af27d706c9f272f31c675d793da6c82d897e75302a8744af13c7f7978a8399840f14a353b60cf21014647f71012982456d2b - languageName: node - linkType: hard - -"acorn-jsx@npm:^5.3.2": - version: 5.3.2 - resolution: "acorn-jsx@npm:5.3.2" - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - checksum: 4c54868fbef3b8d58927d5e33f0a4de35f59012fe7b12cf9dfbb345fb8f46607709e1c4431be869a23fb63c151033d84c4198fa9f79385cec34fcb1dd53974c1 - languageName: node - linkType: hard - -"acorn-walk@npm:^8.0.2, acorn-walk@npm:^8.1.1": - version: 8.3.2 - resolution: "acorn-walk@npm:8.3.2" - checksum: 7e2a8dad5480df7f872569b9dccff2f3da7e65f5353686b1d6032ab9f4ddf6e3a2cb83a9b52cf50b1497fd522154dda92f0abf7153290cc79cd14721ff121e52 - languageName: node - linkType: hard - -"acorn@npm:^8.1.0, acorn@npm:^8.4.1, acorn@npm:^8.8.1, acorn@npm:^8.9.0": - version: 8.11.3 - resolution: "acorn@npm:8.11.3" - bin: - acorn: bin/acorn - checksum: 3ff155f8812e4a746fee8ecff1f227d527c4c45655bb1fad6347c3cb58e46190598217551b1500f18542d2bbe5c87120cb6927f5a074a59166fbdd9468f0a299 - languageName: node - linkType: hard - -"acorn@npm:^8.11.3": - version: 8.12.1 - resolution: "acorn@npm:8.12.1" - bin: - acorn: bin/acorn - checksum: 51fb26cd678f914e13287e886da2d7021f8c2bc0ccc95e03d3e0447ee278dd3b40b9c57dc222acd5881adcf26f3edc40901a4953403232129e3876793cd17386 - languageName: node - linkType: hard - -"agent-base@npm:6": - version: 6.0.2 - resolution: "agent-base@npm:6.0.2" - dependencies: - debug: "npm:4" - checksum: dc4f757e40b5f3e3d674bc9beb4f1048f4ee83af189bae39be99f57bf1f48dde166a8b0a5342a84b5944ee8e6ed1e5a9d801858f4ad44764e84957122fe46261 - languageName: node - linkType: hard - -"agent-base@npm:^7.0.2, agent-base@npm:^7.1.0": - version: 7.1.0 - resolution: "agent-base@npm:7.1.0" - dependencies: - debug: "npm:^4.3.4" - checksum: fc974ab57ffdd8421a2bc339644d312a9cca320c20c3393c9d8b1fd91731b9bbabdb985df5fc860f5b79d81c3e350daa3fcb31c5c07c0bb385aafc817df004ce - languageName: node - linkType: hard - -"aggregate-error@npm:^3.0.0": - version: 3.1.0 - resolution: "aggregate-error@npm:3.1.0" - dependencies: - clean-stack: "npm:^2.0.0" - indent-string: "npm:^4.0.0" - checksum: a42f67faa79e3e6687a4923050e7c9807db3848a037076f791d10e092677d65c1d2d863b7848560699f40fc0502c19f40963fb1cd1fb3d338a7423df8e45e039 - languageName: node - linkType: hard - -"ajv@npm:^6.12.4": - version: 6.12.6 - resolution: "ajv@npm:6.12.6" - dependencies: - fast-deep-equal: "npm:^3.1.1" - fast-json-stable-stringify: "npm:^2.0.0" - json-schema-traverse: "npm:^0.4.1" - uri-js: "npm:^4.2.2" - checksum: 41e23642cbe545889245b9d2a45854ebba51cda6c778ebced9649420d9205f2efb39cb43dbc41e358409223b1ea43303ae4839db682c848b891e4811da1a5a71 - languageName: node - linkType: hard - -"ansi-escapes@npm:^4.2.1": - version: 4.3.2 - resolution: "ansi-escapes@npm:4.3.2" - dependencies: - type-fest: "npm:^0.21.3" - checksum: da917be01871525a3dfcf925ae2977bc59e8c513d4423368645634bf5d4ceba5401574eb705c1e92b79f7292af5a656f78c5725a4b0e1cec97c4b413705c1d50 - languageName: node - linkType: hard - -"ansi-regex@npm:^5.0.1": - version: 5.0.1 - resolution: "ansi-regex@npm:5.0.1" - checksum: 9a64bb8627b434ba9327b60c027742e5d17ac69277960d041898596271d992d4d52ba7267a63ca10232e29f6107fc8a835f6ce8d719b88c5f8493f8254813737 - languageName: node - linkType: hard - -"ansi-regex@npm:^6.0.1": - version: 6.0.1 - resolution: "ansi-regex@npm:6.0.1" - checksum: cbe16dbd2c6b2735d1df7976a7070dd277326434f0212f43abf6d87674095d247968209babdaad31bb00882fa68807256ba9be340eec2f1004de14ca75f52a08 - languageName: node - linkType: hard - -"ansi-styles@npm:^3.2.1": - version: 3.2.1 - resolution: "ansi-styles@npm:3.2.1" - dependencies: - color-convert: "npm:^1.9.0" - checksum: ece5a8ef069fcc5298f67e3f4771a663129abd174ea2dfa87923a2be2abf6cd367ef72ac87942da00ce85bd1d651d4cd8595aebdb1b385889b89b205860e977b - languageName: node - linkType: hard - -"ansi-styles@npm:^4.0.0, ansi-styles@npm:^4.1.0": - version: 4.3.0 - resolution: "ansi-styles@npm:4.3.0" - dependencies: - color-convert: "npm:^2.0.1" - checksum: 895a23929da416f2bd3de7e9cb4eabd340949328ab85ddd6e484a637d8f6820d485f53933446f5291c3b760cbc488beb8e88573dd0f9c7daf83dccc8fe81b041 - languageName: node - linkType: hard - -"ansi-styles@npm:^5.0.0": - version: 5.2.0 - resolution: "ansi-styles@npm:5.2.0" - checksum: 9c4ca80eb3c2fb7b33841c210d2f20807f40865d27008d7c3f707b7f95cab7d67462a565e2388ac3285b71cb3d9bb2173de8da37c57692a362885ec34d6e27df - languageName: node - linkType: hard - -"ansi-styles@npm:^6.1.0": - version: 6.2.1 - resolution: "ansi-styles@npm:6.2.1" - checksum: 5d1ec38c123984bcedd996eac680d548f31828bd679a66db2bdf11844634dde55fec3efa9c6bb1d89056a5e79c1ac540c4c784d592ea1d25028a92227d2f2d5c - languageName: node - linkType: hard - -"any-promise@npm:^1.0.0": - version: 1.3.0 - resolution: "any-promise@npm:1.3.0" - checksum: 60f0298ed34c74fef50daab88e8dab786036ed5a7fad02e012ab57e376e0a0b4b29e83b95ea9b5e7d89df762f5f25119b83e00706ecaccb22cfbacee98d74889 - languageName: node - linkType: hard - -"anymatch@npm:^3.0.3, anymatch@npm:^3.1.3, anymatch@npm:~3.1.2": - version: 3.1.3 - resolution: "anymatch@npm:3.1.3" - dependencies: - normalize-path: "npm:^3.0.0" - picomatch: "npm:^2.0.4" - checksum: 57b06ae984bc32a0d22592c87384cd88fe4511b1dd7581497831c56d41939c8a001b28e7b853e1450f2bf61992dfcaa8ae2d0d161a0a90c4fb631ef07098fbac - languageName: node - linkType: hard - -"arg@npm:^4.1.0": - version: 4.1.3 - resolution: "arg@npm:4.1.3" - checksum: 070ff801a9d236a6caa647507bdcc7034530604844d64408149a26b9e87c2f97650055c0f049abd1efc024b334635c01f29e0b632b371ac3f26130f4cf65997a - languageName: node - linkType: hard - -"arg@npm:^5.0.2": - version: 5.0.2 - resolution: "arg@npm:5.0.2" - checksum: ccaf86f4e05d342af6666c569f844bec426595c567d32a8289715087825c2ca7edd8a3d204e4d2fb2aa4602e09a57d0c13ea8c9eea75aac3dbb4af5514e6800e - languageName: node - linkType: hard - -"argparse@npm:^1.0.7": - version: 1.0.10 - resolution: "argparse@npm:1.0.10" - dependencies: - sprintf-js: "npm:~1.0.2" - checksum: b2972c5c23c63df66bca144dbc65d180efa74f25f8fd9b7d9a0a6c88ae839db32df3d54770dcb6460cf840d232b60695d1a6b1053f599d84e73f7437087712de - languageName: node - linkType: hard - -"argparse@npm:^2.0.1": - version: 2.0.1 - resolution: "argparse@npm:2.0.1" - checksum: c5640c2d89045371c7cedd6a70212a04e360fd34d6edeae32f6952c63949e3525ea77dbec0289d8213a99bbaeab5abfa860b5c12cf88a2e6cf8106e90dd27a7e - languageName: node - linkType: hard - -"aria-query@npm:5.1.3": - version: 5.1.3 - resolution: "aria-query@npm:5.1.3" - dependencies: - deep-equal: "npm:^2.0.5" - checksum: edcbc8044c4663d6f88f785e983e6784f98cb62b4ba1e9dd8d61b725d0203e4cfca38d676aee984c31f354103461102a3d583aa4fbe4fd0a89b679744f4e5faf - languageName: node - linkType: hard - -"aria-query@npm:^5.0.0, aria-query@npm:^5.3.0": - version: 5.3.0 - resolution: "aria-query@npm:5.3.0" - dependencies: - dequal: "npm:^2.0.3" - checksum: 2bff0d4eba5852a9dd578ecf47eaef0e82cc52569b48469b0aac2db5145db0b17b7a58d9e01237706d1e14b7a1b0ac9b78e9c97027ad97679dd8f91b85da1469 - languageName: node - linkType: hard - -"array-buffer-byte-length@npm:^1.0.0, array-buffer-byte-length@npm:^1.0.1": - version: 1.0.1 - resolution: "array-buffer-byte-length@npm:1.0.1" - dependencies: - call-bind: "npm:^1.0.5" - is-array-buffer: "npm:^3.0.4" - checksum: f5cdf54527cd18a3d2852ddf73df79efec03829e7373a8322ef5df2b4ef546fb365c19c71d6b42d641cb6bfe0f1a2f19bc0ece5b533295f86d7c3d522f228917 - languageName: node - linkType: hard - -"array-includes@npm:^3.1.6, array-includes@npm:^3.1.7": - version: 3.1.7 - resolution: "array-includes@npm:3.1.7" - dependencies: - call-bind: "npm:^1.0.2" - define-properties: "npm:^1.2.0" - es-abstract: "npm:^1.22.1" - get-intrinsic: "npm:^1.2.1" - is-string: "npm:^1.0.7" - checksum: 692907bd7f19d06dc58ccb761f34b58f5dc0b437d2b47a8fe42a1501849a5cf5c27aed3d521a9702667827c2c85a7e75df00a402c438094d87fc43f39ebf9b2b - languageName: node - linkType: hard - -"array-union@npm:^2.1.0": - version: 2.1.0 - resolution: "array-union@npm:2.1.0" - checksum: 429897e68110374f39b771ec47a7161fc6a8fc33e196857c0a396dc75df0b5f65e4d046674db764330b6bb66b39ef48dd7c53b6a2ee75cfb0681e0c1a7033962 - languageName: node - linkType: hard - -"array.prototype.filter@npm:^1.0.3": - version: 1.0.3 - resolution: "array.prototype.filter@npm:1.0.3" - dependencies: - call-bind: "npm:^1.0.2" - define-properties: "npm:^1.2.0" - es-abstract: "npm:^1.22.1" - es-array-method-boxes-properly: "npm:^1.0.0" - is-string: "npm:^1.0.7" - checksum: 8b70b5f866df5d90fa27aa5bfa30f5fefc44cbea94b0513699d761713658077c2a24cbf06aac5179eabddb6c93adc467af4c288b7a839c5bc5a769ee5a2d48ad - languageName: node - linkType: hard - -"array.prototype.findlastindex@npm:^1.2.3": - version: 1.2.4 - resolution: "array.prototype.findlastindex@npm:1.2.4" - dependencies: - call-bind: "npm:^1.0.5" - define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.22.3" - es-errors: "npm:^1.3.0" - es-shim-unscopables: "npm:^1.0.2" - checksum: b23ae35cf7621c82c20981ee110626090734a264798e781b052e534e3d61d576f03d125d92cf2e3672062bb5cc5907e02e69f2d80196a55f3cdb0197b4aa8c64 - languageName: node - linkType: hard - -"array.prototype.flat@npm:^1.3.1, array.prototype.flat@npm:^1.3.2": - version: 1.3.2 - resolution: "array.prototype.flat@npm:1.3.2" - dependencies: - call-bind: "npm:^1.0.2" - define-properties: "npm:^1.2.0" - es-abstract: "npm:^1.22.1" - es-shim-unscopables: "npm:^1.0.0" - checksum: a578ed836a786efbb6c2db0899ae80781b476200617f65a44846cb1ed8bd8b24c8821b83703375d8af639c689497b7b07277060024b9919db94ac3e10dc8a49b - languageName: node - linkType: hard - -"array.prototype.flatmap@npm:^1.3.1, array.prototype.flatmap@npm:^1.3.2": - version: 1.3.2 - resolution: "array.prototype.flatmap@npm:1.3.2" - dependencies: - call-bind: "npm:^1.0.2" - define-properties: "npm:^1.2.0" - es-abstract: "npm:^1.22.1" - es-shim-unscopables: "npm:^1.0.0" - checksum: 67b3f1d602bb73713265145853128b1ad77cc0f9b833c7e1e056b323fbeac41a4ff1c9c99c7b9445903caea924d9ca2450578d9011913191aa88cc3c3a4b54f4 - languageName: node - linkType: hard - -"array.prototype.tosorted@npm:^1.1.1": - version: 1.1.3 - resolution: "array.prototype.tosorted@npm:1.1.3" - dependencies: - call-bind: "npm:^1.0.5" - define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.22.3" - es-errors: "npm:^1.1.0" - es-shim-unscopables: "npm:^1.0.2" - checksum: a27e1ca51168ecacf6042901f5ef021e43c8fa04b6c6b6f2a30bac3645cd2b519cecbe0bc45db1b85b843f64dc3207f0268f700b4b9fbdec076d12d432cf0865 - languageName: node - linkType: hard - -"arraybuffer.prototype.slice@npm:^1.0.3": - version: 1.0.3 - resolution: "arraybuffer.prototype.slice@npm:1.0.3" - dependencies: - array-buffer-byte-length: "npm:^1.0.1" - call-bind: "npm:^1.0.5" - define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.22.3" - es-errors: "npm:^1.2.1" - get-intrinsic: "npm:^1.2.3" - is-array-buffer: "npm:^3.0.4" - is-shared-array-buffer: "npm:^1.0.2" - checksum: d32754045bcb2294ade881d45140a5e52bda2321b9e98fa514797b7f0d252c4c5ab0d1edb34112652c62fa6a9398def568da63a4d7544672229afea283358c36 - languageName: node - linkType: hard - -"ast-types-flow@npm:^0.0.8": - version: 0.0.8 - resolution: "ast-types-flow@npm:0.0.8" - checksum: f2a0ba8055353b743c41431974521e5e852a9824870cd6fce2db0e538ac7bf4da406bbd018d109af29ff3f8f0993f6a730c9eddbd0abd031fbcb29ca75c1014e - languageName: node - linkType: hard - -"async-mutex@npm:^0.2.6": - version: 0.2.6 - resolution: "async-mutex@npm:0.2.6" - dependencies: - tslib: "npm:^2.0.0" - checksum: 440f1388fdbf2021261ba05952765182124a333681692fdef6af13935c20bfc2017e24e902362f12b29094a77b359ce3131e8dd45b1db42f1d570927ace9e7d9 - languageName: node - linkType: hard - -"asynciterator.prototype@npm:^1.0.0": - version: 1.0.0 - resolution: "asynciterator.prototype@npm:1.0.0" - dependencies: - has-symbols: "npm:^1.0.3" - checksum: fb76850e57d931ff59fd16b6cddb79b0d34fe45f400b2c3480d38892e72cd089787401687dbdb7cdb14ece402c275d3e02a648760d1489cd493527129c4c6204 - languageName: node - linkType: hard - -"asynckit@npm:^0.4.0": - version: 0.4.0 - resolution: "asynckit@npm:0.4.0" - checksum: d73e2ddf20c4eb9337e1b3df1a0f6159481050a5de457c55b14ea2e5cb6d90bb69e004c9af54737a5ee0917fcf2c9e25de67777bbe58261847846066ba75bc9d - languageName: node - linkType: hard - -"atomic-sleep@npm:^1.0.0": - version: 1.0.0 - resolution: "atomic-sleep@npm:1.0.0" - checksum: e329a6665512736a9bbb073e1761b4ec102f7926cce35037753146a9db9c8104f5044c1662e4a863576ce544fb8be27cd2be6bc8c1a40147d03f31eb1cfb6e8a - languageName: node - linkType: hard - -"autoprefixer@npm:^10.0.1": - version: 10.4.17 - resolution: "autoprefixer@npm:10.4.17" - dependencies: - browserslist: "npm:^4.22.2" - caniuse-lite: "npm:^1.0.30001578" - fraction.js: "npm:^4.3.7" - normalize-range: "npm:^0.1.2" - picocolors: "npm:^1.0.0" - postcss-value-parser: "npm:^4.2.0" - peerDependencies: - postcss: ^8.1.0 - bin: - autoprefixer: bin/autoprefixer - checksum: 1d21cc8edb7bf993682094ceed03a32c18f5293f071182a64c2c6defb44bbe91d576ad775d2347469a81997b80cea0bbc4ad3eeb5b12710f9feacf2e6c04bb51 - languageName: node - linkType: hard - -"available-typed-arrays@npm:^1.0.5, available-typed-arrays@npm:^1.0.6": - version: 1.0.6 - resolution: "available-typed-arrays@npm:1.0.6" - checksum: e427360e68ccb19fa0ea48421f393ef3f3d2c9c561f6a8a0704ff472d58024be3e4101f00565445ba453de723a76f4a650defbacaea663c3fb3be8b8f842e955 - languageName: node - linkType: hard - -"available-typed-arrays@npm:^1.0.7": - version: 1.0.7 - resolution: "available-typed-arrays@npm:1.0.7" - dependencies: - possible-typed-array-names: "npm:^1.0.0" - checksum: d07226ef4f87daa01bd0fe80f8f310982e345f372926da2e5296aecc25c41cab440916bbaa4c5e1034b453af3392f67df5961124e4b586df1e99793a1374bdb2 - languageName: node - linkType: hard - -"axe-core@npm:=4.7.0": - version: 4.7.0 - resolution: "axe-core@npm:4.7.0" - checksum: 89ac5712b5932ac7d23398b4cb5ba081c394a086e343acc68ba49c83472706e18e0799804e8388c779dcdacc465377deb29f2714241d3fbb389cf3a6b275c9ba - languageName: node - linkType: hard - -"axobject-query@npm:^3.2.1": - version: 3.2.1 - resolution: "axobject-query@npm:3.2.1" - dependencies: - dequal: "npm:^2.0.3" - checksum: f7debc2012e456139b57d888c223f6d3cb4b61eb104164a85e3d346273dd6ef0bc9a04b6660ca9407704a14a8e05fa6b6eb9d55f44f348c7210de7ffb350c3a7 - languageName: node - linkType: hard - -"babel-jest@npm:^29.7.0": - version: 29.7.0 - resolution: "babel-jest@npm:29.7.0" - dependencies: - "@jest/transform": "npm:^29.7.0" - "@types/babel__core": "npm:^7.1.14" - babel-plugin-istanbul: "npm:^6.1.1" - babel-preset-jest: "npm:^29.6.3" - chalk: "npm:^4.0.0" - graceful-fs: "npm:^4.2.9" - slash: "npm:^3.0.0" - peerDependencies: - "@babel/core": ^7.8.0 - checksum: 2eda9c1391e51936ca573dd1aedfee07b14c59b33dbe16ef347873ddd777bcf6e2fc739681e9e9661ab54ef84a3109a03725be2ac32cd2124c07ea4401cbe8c1 - languageName: node - linkType: hard - -"babel-plugin-istanbul@npm:^6.1.1": - version: 6.1.1 - resolution: "babel-plugin-istanbul@npm:6.1.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.0.0" - "@istanbuljs/load-nyc-config": "npm:^1.0.0" - "@istanbuljs/schema": "npm:^0.1.2" - istanbul-lib-instrument: "npm:^5.0.4" - test-exclude: "npm:^6.0.0" - checksum: 1075657feb705e00fd9463b329921856d3775d9867c5054b449317d39153f8fbcebd3e02ebf00432824e647faff3683a9ca0a941325ef1afe9b3c4dd51b24beb - languageName: node - linkType: hard - -"babel-plugin-jest-hoist@npm:^29.6.3": - version: 29.6.3 - resolution: "babel-plugin-jest-hoist@npm:29.6.3" - dependencies: - "@babel/template": "npm:^7.3.3" - "@babel/types": "npm:^7.3.3" - "@types/babel__core": "npm:^7.1.14" - "@types/babel__traverse": "npm:^7.0.6" - checksum: 7e6451caaf7dce33d010b8aafb970e62f1b0c0b57f4978c37b0d457bbcf0874d75a395a102daf0bae0bd14eafb9f6e9a165ee5e899c0a4f1f3bb2e07b304ed2e - languageName: node - linkType: hard - -"babel-preset-current-node-syntax@npm:^1.0.0": - version: 1.0.1 - resolution: "babel-preset-current-node-syntax@npm:1.0.1" - dependencies: - "@babel/plugin-syntax-async-generators": "npm:^7.8.4" - "@babel/plugin-syntax-bigint": "npm:^7.8.3" - "@babel/plugin-syntax-class-properties": "npm:^7.8.3" - "@babel/plugin-syntax-import-meta": "npm:^7.8.3" - "@babel/plugin-syntax-json-strings": "npm:^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators": "npm:^7.8.3" - "@babel/plugin-syntax-nullish-coalescing-operator": "npm:^7.8.3" - "@babel/plugin-syntax-numeric-separator": "npm:^7.8.3" - "@babel/plugin-syntax-object-rest-spread": "npm:^7.8.3" - "@babel/plugin-syntax-optional-catch-binding": "npm:^7.8.3" - "@babel/plugin-syntax-optional-chaining": "npm:^7.8.3" - "@babel/plugin-syntax-top-level-await": "npm:^7.8.3" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 5ba39a3a0e6c37d25e56a4fb843be632dac98d54706d8a0933f9bcb1a07987a96d55c2b5a6c11788a74063fb2534fe68c1f1dbb6c93626850c785e0938495627 - languageName: node - linkType: hard - -"babel-preset-jest@npm:^29.6.3": - version: 29.6.3 - resolution: "babel-preset-jest@npm:29.6.3" - dependencies: - babel-plugin-jest-hoist: "npm:^29.6.3" - babel-preset-current-node-syntax: "npm:^1.0.0" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: ec5fd0276b5630b05f0c14bb97cc3815c6b31600c683ebb51372e54dcb776cff790bdeeabd5b8d01ede375a040337ccbf6a3ccd68d3a34219125945e167ad943 - languageName: node - linkType: hard - -"balanced-match@npm:^1.0.0": - version: 1.0.2 - resolution: "balanced-match@npm:1.0.2" - checksum: 9308baf0a7e4838a82bbfd11e01b1cb0f0cf2893bc1676c27c2a8c0e70cbae1c59120c3268517a8ae7fb6376b4639ef81ca22582611dbee4ed28df945134aaee - languageName: node - linkType: hard - -"base64-js@npm:^1.3.1": - version: 1.5.1 - resolution: "base64-js@npm:1.5.1" - checksum: f23823513b63173a001030fae4f2dabe283b99a9d324ade3ad3d148e218134676f1ee8568c877cd79ec1c53158dcf2d2ba527a97c606618928ba99dd930102bf - languageName: node - linkType: hard - -"binary-extensions@npm:^2.0.0": - version: 2.2.0 - resolution: "binary-extensions@npm:2.2.0" - checksum: d73d8b897238a2d3ffa5f59c0241870043aa7471335e89ea5e1ff48edb7c2d0bb471517a3e4c5c3f4c043615caa2717b5f80a5e61e07503d51dc85cb848e665d - languageName: node - linkType: hard - -"bn.js@npm:^4.11.9": - version: 4.12.0 - resolution: "bn.js@npm:4.12.0" - checksum: 9736aaa317421b6b3ed038ff3d4491935a01419ac2d83ddcfebc5717385295fcfcf0c57311d90fe49926d0abbd7a9dbefdd8861e6129939177f7e67ebc645b21 - languageName: node - linkType: hard - -"bn.js@npm:^5.2.1": - version: 5.2.1 - resolution: "bn.js@npm:5.2.1" - checksum: bed3d8bd34ec89dbcf9f20f88bd7d4a49c160fda3b561c7bb227501f974d3e435a48fb9b61bc3de304acab9215a3bda0803f7017ffb4d0016a0c3a740a283caa - languageName: node - linkType: hard - -"bowser@npm:^2.9.0": - version: 2.11.0 - resolution: "bowser@npm:2.11.0" - checksum: 04efeecc7927a9ec33c667fa0965dea19f4ac60b3fea60793c2e6cf06c1dcd2f7ae1dbc656f450c5f50783b1c75cf9dc173ba6f3b7db2feee01f8c4b793e1bd3 - languageName: node - linkType: hard - -"brace-expansion@npm:^1.1.7": - version: 1.1.11 - resolution: "brace-expansion@npm:1.1.11" - dependencies: - balanced-match: "npm:^1.0.0" - concat-map: "npm:0.0.1" - checksum: 695a56cd058096a7cb71fb09d9d6a7070113c7be516699ed361317aca2ec169f618e28b8af352e02ab4233fb54eb0168460a40dc320bab0034b36ab59aaad668 - languageName: node - linkType: hard - -"brace-expansion@npm:^2.0.1": - version: 2.0.1 - resolution: "brace-expansion@npm:2.0.1" - dependencies: - balanced-match: "npm:^1.0.0" - checksum: b358f2fe060e2d7a87aa015979ecea07f3c37d4018f8d6deb5bd4c229ad3a0384fe6029bb76cd8be63c81e516ee52d1a0673edbe2023d53a5191732ae3c3e49f - languageName: node - linkType: hard - -"braces@npm:^3.0.3, braces@npm:~3.0.2": - version: 3.0.3 - resolution: "braces@npm:3.0.3" - dependencies: - fill-range: "npm:^7.1.1" - checksum: 7c6dfd30c338d2997ba77500539227b9d1f85e388a5f43220865201e407e076783d0881f2d297b9f80951b4c957fcf0b51c1d2d24227631643c3f7c284b0aa04 - languageName: node - linkType: hard - -"brorand@npm:^1.1.0": - version: 1.1.0 - resolution: "brorand@npm:1.1.0" - checksum: 6f366d7c4990f82c366e3878492ba9a372a73163c09871e80d82fb4ae0d23f9f8924cb8a662330308206e6b3b76ba1d528b4601c9ef73c2166b440b2ea3b7571 - languageName: node - linkType: hard - -"browserslist@npm:^4.22.2": - version: 4.23.0 - resolution: "browserslist@npm:4.23.0" - dependencies: - caniuse-lite: "npm:^1.0.30001587" - electron-to-chromium: "npm:^1.4.668" - node-releases: "npm:^2.0.14" - update-browserslist-db: "npm:^1.0.13" - bin: - browserslist: cli.js - checksum: 8e9cc154529062128d02a7af4d8adeead83ca1df8cd9ee65a88e2161039f3d68a4d40fea7353cab6bae4c16182dec2fdd9a1cf7dc2a2935498cee1af0e998943 - languageName: node - linkType: hard - -"bser@npm:2.1.1": - version: 2.1.1 - resolution: "bser@npm:2.1.1" - dependencies: - node-int64: "npm:^0.4.0" - checksum: 24d8dfb7b6d457d73f32744e678a60cc553e4ec0e9e1a01cf614b44d85c3c87e188d3cc78ef0442ce5032ee6818de20a0162ba1074725c0d08908f62ea979227 - languageName: node - linkType: hard - -"buffer-from@npm:^1.0.0": - version: 1.1.2 - resolution: "buffer-from@npm:1.1.2" - checksum: 124fff9d66d691a86d3b062eff4663fe437a9d9ee4b47b1b9e97f5a5d14f6d5399345db80f796827be7c95e70a8e765dd404b7c3ff3b3324f98e9b0c8826cc34 - languageName: node - linkType: hard - -"buffer@npm:^6.0.3": - version: 6.0.3 - resolution: "buffer@npm:6.0.3" - dependencies: - base64-js: "npm:^1.3.1" - ieee754: "npm:^1.2.1" - checksum: 2a905fbbcde73cc5d8bd18d1caa23715d5f83a5935867c2329f0ac06104204ba7947be098fe1317fbd8830e26090ff8e764f08cd14fefc977bb248c3487bcbd0 - languageName: node - linkType: hard - -"bufferutil@npm:^4.0.8": - version: 4.0.8 - resolution: "bufferutil@npm:4.0.8" - dependencies: - node-gyp: "npm:latest" - node-gyp-build: "npm:^4.3.0" - checksum: 36cdc5b53a38d9f61f89fdbe62029a2ebcd020599862253fefebe31566155726df9ff961f41b8c97b02b4c12b391ef97faf94e2383392654cf8f0ed68f76e47c - languageName: node - linkType: hard - -"busboy@npm:1.6.0": - version: 1.6.0 - resolution: "busboy@npm:1.6.0" - dependencies: - streamsearch: "npm:^1.1.0" - checksum: fa7e836a2b82699b6e074393428b91ae579d4f9e21f5ac468e1b459a244341d722d2d22d10920cdd849743dbece6dca11d72de939fb75a7448825cf2babfba1f - languageName: node - linkType: hard - -"cacache@npm:^18.0.0": - version: 18.0.2 - resolution: "cacache@npm:18.0.2" - dependencies: - "@npmcli/fs": "npm:^3.1.0" - fs-minipass: "npm:^3.0.0" - glob: "npm:^10.2.2" - lru-cache: "npm:^10.0.1" - minipass: "npm:^7.0.3" - minipass-collect: "npm:^2.0.1" - minipass-flush: "npm:^1.0.5" - minipass-pipeline: "npm:^1.2.4" - p-map: "npm:^4.0.0" - ssri: "npm:^10.0.0" - tar: "npm:^6.1.11" - unique-filename: "npm:^3.0.0" - checksum: 7992665305cc251a984f4fdbab1449d50e88c635bc43bf2785530c61d239c61b349e5734461baa461caaee65f040ab14e2d58e694f479c0810cffd181ba5eabc - languageName: node - linkType: hard - -"call-bind@npm:^1.0.2, call-bind@npm:^1.0.5, call-bind@npm:^1.0.6, call-bind@npm:^1.0.7": - version: 1.0.7 - resolution: "call-bind@npm:1.0.7" - dependencies: - es-define-property: "npm:^1.0.0" - es-errors: "npm:^1.3.0" - function-bind: "npm:^1.1.2" - get-intrinsic: "npm:^1.2.4" - set-function-length: "npm:^1.2.1" - checksum: a3ded2e423b8e2a265983dba81c27e125b48eefb2655e7dfab6be597088da3d47c47976c24bc51b8fd9af1061f8f87b4ab78a314f3c77784b2ae2ba535ad8b8d - languageName: node - linkType: hard - -"callsites@npm:^3.0.0": - version: 3.1.0 - resolution: "callsites@npm:3.1.0" - checksum: fff92277400eb06c3079f9e74f3af120db9f8ea03bad0e84d9aede54bbe2d44a56cccb5f6cf12211f93f52306df87077ecec5b712794c5a9b5dac6d615a3f301 - languageName: node - linkType: hard - -"camelcase-css@npm:^2.0.1": - version: 2.0.1 - resolution: "camelcase-css@npm:2.0.1" - checksum: 1a1a3137e8a781e6cbeaeab75634c60ffd8e27850de410c162cce222ea331cd1ba5364e8fb21c95e5ca76f52ac34b81a090925ca00a87221355746d049c6e273 - languageName: node - linkType: hard - -"camelcase@npm:^5.0.0, camelcase@npm:^5.3.1": - version: 5.3.1 - resolution: "camelcase@npm:5.3.1" - checksum: 92ff9b443bfe8abb15f2b1513ca182d16126359ad4f955ebc83dc4ddcc4ef3fdd2c078bc223f2673dc223488e75c99b16cc4d056624374b799e6a1555cf61b23 - languageName: node - linkType: hard - -"camelcase@npm:^6.2.0": - version: 6.3.0 - resolution: "camelcase@npm:6.3.0" - checksum: 0d701658219bd3116d12da3eab31acddb3f9440790c0792e0d398f0a520a6a4058018e546862b6fba89d7ae990efaeb97da71e1913e9ebf5a8b5621a3d55c710 - languageName: node - linkType: hard - -"caniuse-lite@npm:^1.0.30001578, caniuse-lite@npm:^1.0.30001579, caniuse-lite@npm:^1.0.30001587": - version: 1.0.30001587 - resolution: "caniuse-lite@npm:1.0.30001587" - checksum: c7a34cb758a24fa1d948e164de3c5873e7e607b46db0e530ba160a281cb619c9d6a1b85bb334894bc8e629a59db99f3de4521593b08142d317a529e80a856385 - languageName: node - linkType: hard - -"cbw-sdk@npm:@coinbase/wallet-sdk@3.9.3": - version: 3.9.3 - resolution: "@coinbase/wallet-sdk@npm:3.9.3" - dependencies: - bn.js: "npm:^5.2.1" - buffer: "npm:^6.0.3" - clsx: "npm:^1.2.1" - eth-block-tracker: "npm:^7.1.0" - eth-json-rpc-filters: "npm:^6.0.0" - eventemitter3: "npm:^5.0.1" - keccak: "npm:^3.0.3" - preact: "npm:^10.16.0" - sha.js: "npm:^2.4.11" - checksum: a34b7f3e84f1d12f8235d57b3fd2e06d04e9ad9d999944b43bf0a3b0e79bc1cff336e9097f4555f85e7085ac7a1be2907732cda6a79cad1b60521d996f390b99 - languageName: node - linkType: hard - -"chalk@npm:^2.4.2": - version: 2.4.2 - resolution: "chalk@npm:2.4.2" - dependencies: - ansi-styles: "npm:^3.2.1" - escape-string-regexp: "npm:^1.0.5" - supports-color: "npm:^5.3.0" - checksum: e6543f02ec877732e3a2d1c3c3323ddb4d39fbab687c23f526e25bd4c6a9bf3b83a696e8c769d078e04e5754921648f7821b2a2acfd16c550435fd630026e073 - languageName: node - linkType: hard - -"chalk@npm:^3.0.0": - version: 3.0.0 - resolution: "chalk@npm:3.0.0" - dependencies: - ansi-styles: "npm:^4.1.0" - supports-color: "npm:^7.1.0" - checksum: ee650b0a065b3d7a6fda258e75d3a86fc8e4effa55871da730a9e42ccb035bf5fd203525e5a1ef45ec2582ecc4f65b47eb11357c526b84dd29a14fb162c414d2 - languageName: node - linkType: hard - -"chalk@npm:^4.0.0, chalk@npm:^4.1.0, chalk@npm:^4.1.1": - version: 4.1.2 - resolution: "chalk@npm:4.1.2" - dependencies: - ansi-styles: "npm:^4.1.0" - supports-color: "npm:^7.1.0" - checksum: 4a3fef5cc34975c898ffe77141450f679721df9dde00f6c304353fa9c8b571929123b26a0e4617bde5018977eb655b31970c297b91b63ee83bb82aeb04666880 - languageName: node - linkType: hard - -"char-regex@npm:^1.0.2": - version: 1.0.2 - resolution: "char-regex@npm:1.0.2" - checksum: 57a09a86371331e0be35d9083ba429e86c4f4648ecbe27455dbfb343037c16ee6fdc7f6b61f433a57cc5ded5561d71c56a150e018f40c2ffb7bc93a26dae341e - languageName: node - linkType: hard - -"chokidar@npm:^3.5.3, chokidar@npm:^3.6.0": - version: 3.6.0 - resolution: "chokidar@npm:3.6.0" - dependencies: - anymatch: "npm:~3.1.2" - braces: "npm:~3.0.2" - fsevents: "npm:~2.3.2" - glob-parent: "npm:~5.1.2" - is-binary-path: "npm:~2.1.0" - is-glob: "npm:~4.0.1" - normalize-path: "npm:~3.0.0" - readdirp: "npm:~3.6.0" - dependenciesMeta: - fsevents: - optional: true - checksum: 8361dcd013f2ddbe260eacb1f3cb2f2c6f2b0ad118708a343a5ed8158941a39cb8fb1d272e0f389712e74ee90ce8ba864eece9e0e62b9705cb468a2f6d917462 - languageName: node - linkType: hard - -"chownr@npm:^2.0.0": - version: 2.0.0 - resolution: "chownr@npm:2.0.0" - checksum: 594754e1303672171cc04e50f6c398ae16128eb134a88f801bf5354fd96f205320f23536a045d9abd8b51024a149696e51231565891d4efdab8846021ecf88e6 - languageName: node - linkType: hard - -"chownr@npm:^3.0.0": - version: 3.0.0 - resolution: "chownr@npm:3.0.0" - checksum: 43925b87700f7e3893296c8e9c56cc58f926411cce3a6e5898136daaf08f08b9a8eb76d37d3267e707d0dcc17aed2e2ebdf5848c0c3ce95cf910a919935c1b10 - languageName: node - linkType: hard - -"ci-info@npm:^3.2.0": - version: 3.9.0 - resolution: "ci-info@npm:3.9.0" - checksum: 6f0109e36e111684291d46123d491bc4e7b7a1934c3a20dea28cba89f1d4a03acd892f5f6a81ed3855c38647e285a150e3c9ba062e38943bef57fee6c1554c3a - languageName: node - linkType: hard - -"citty@npm:^0.1.5, citty@npm:^0.1.6": - version: 0.1.6 - resolution: "citty@npm:0.1.6" - dependencies: - consola: "npm:^3.2.3" - checksum: d26ad82a9a4a8858c7e149d90b878a3eceecd4cfd3e2ed3cd5f9a06212e451fb4f8cbe0fa39a3acb1b3e8f18e22db8ee5def5829384bad50e823d4b301609b48 - languageName: node - linkType: hard - -"cjs-module-lexer@npm:^1.0.0": - version: 1.2.3 - resolution: "cjs-module-lexer@npm:1.2.3" - checksum: 0de9a9c3fad03a46804c0d38e7b712fb282584a9c7ef1ed44cae22fb71d9bb600309d66a9711ac36a596fd03422f5bb03e021e8f369c12a39fa1786ae531baab - languageName: node - linkType: hard - -"clean-stack@npm:^2.0.0": - version: 2.2.0 - resolution: "clean-stack@npm:2.2.0" - checksum: 1f90262d5f6230a17e27d0c190b09d47ebe7efdd76a03b5a1127863f7b3c9aec4c3e6c8bb3a7bbf81d553d56a1fd35728f5a8ef4c63f867ac8d690109742a8c1 - languageName: node - linkType: hard - -"client-only@npm:0.0.1": - version: 0.0.1 - resolution: "client-only@npm:0.0.1" - checksum: 9d6cfd0c19e1c96a434605added99dff48482152af791ec4172fb912a71cff9027ff174efd8cdb2160cc7f377543e0537ffc462d4f279bc4701de3f2a3c4b358 - languageName: node - linkType: hard - -"clipboardy@npm:^4.0.0": - version: 4.0.0 - resolution: "clipboardy@npm:4.0.0" - dependencies: - execa: "npm:^8.0.1" - is-wsl: "npm:^3.1.0" - is64bit: "npm:^2.0.0" - checksum: 02bb5f3d0a772bd84ec26a3566c72c2319a9f3b4cb8338370c3bffcf0073c80b834abe1a6945bea4f2cbea28e1627a975aaac577e3f61a868d924ce79138b041 - languageName: node - linkType: hard - -"cliui@npm:^6.0.0": - version: 6.0.0 - resolution: "cliui@npm:6.0.0" - dependencies: - string-width: "npm:^4.2.0" - strip-ansi: "npm:^6.0.0" - wrap-ansi: "npm:^6.2.0" - checksum: 35229b1bb48647e882104cac374c9a18e34bbf0bace0e2cf03000326b6ca3050d6b59545d91e17bfe3705f4a0e2988787aa5cde6331bf5cbbf0164732cef6492 - languageName: node - linkType: hard - -"cliui@npm:^8.0.1": - version: 8.0.1 - resolution: "cliui@npm:8.0.1" - dependencies: - string-width: "npm:^4.2.0" - strip-ansi: "npm:^6.0.1" - wrap-ansi: "npm:^7.0.0" - checksum: 4bda0f09c340cbb6dfdc1ed508b3ca080f12992c18d68c6be4d9cf51756033d5266e61ec57529e610dacbf4da1c634423b0c1b11037709cc6b09045cbd815df5 - languageName: node - linkType: hard - -"clsx@npm:2.1.0": - version: 2.1.0 - resolution: "clsx@npm:2.1.0" - checksum: c09c00ad14f638366ca814097e6cab533dfa1972a358da5b557be487168acbb25b4c1395e89ffa842a8a61ba87a462d2b4885bc9d4f8410b598f3cb339599cdb - languageName: node - linkType: hard - -"clsx@npm:^1.2.1": - version: 1.2.1 - resolution: "clsx@npm:1.2.1" - checksum: 34dead8bee24f5e96f6e7937d711978380647e936a22e76380290e35486afd8634966ce300fc4b74a32f3762c7d4c0303f442c3e259f4ce02374eb0c82834f27 - languageName: node - linkType: hard - -"clsx@npm:^2.1.1": - version: 2.1.1 - resolution: "clsx@npm:2.1.1" - checksum: c4c8eb865f8c82baab07e71bfa8897c73454881c4f99d6bc81585aecd7c441746c1399d08363dc096c550cceaf97bd4ce1e8854e1771e9998d9f94c4fe075839 - languageName: node - linkType: hard - -"co@npm:^4.6.0": - version: 4.6.0 - resolution: "co@npm:4.6.0" - checksum: c0e85ea0ca8bf0a50cbdca82efc5af0301240ca88ebe3644a6ffb8ffe911f34d40f8fbcf8f1d52c5ddd66706abd4d3bfcd64259f1e8e2371d4f47573b0dc8c28 - languageName: node - linkType: hard - -"collect-v8-coverage@npm:^1.0.0": - version: 1.0.2 - resolution: "collect-v8-coverage@npm:1.0.2" - checksum: ed7008e2e8b6852c5483b444a3ae6e976e088d4335a85aa0a9db2861c5f1d31bd2d7ff97a60469b3388deeba661a619753afbe201279fb159b4b9548ab8269a1 - languageName: node - linkType: hard - -"color-convert@npm:^1.9.0": - version: 1.9.3 - resolution: "color-convert@npm:1.9.3" - dependencies: - color-name: "npm:1.1.3" - checksum: 5ad3c534949a8c68fca8fbc6f09068f435f0ad290ab8b2f76841b9e6af7e0bb57b98cb05b0e19fe33f5d91e5a8611ad457e5f69e0a484caad1f7487fd0e8253c - languageName: node - linkType: hard - -"color-convert@npm:^2.0.1": - version: 2.0.1 - resolution: "color-convert@npm:2.0.1" - dependencies: - color-name: "npm:~1.1.4" - checksum: 37e1150172f2e311fe1b2df62c6293a342ee7380da7b9cfdba67ea539909afbd74da27033208d01d6d5cfc65ee7868a22e18d7e7648e004425441c0f8a15a7d7 - languageName: node - linkType: hard - -"color-name@npm:1.1.3": - version: 1.1.3 - resolution: "color-name@npm:1.1.3" - checksum: 566a3d42cca25b9b3cd5528cd7754b8e89c0eb646b7f214e8e2eaddb69994ac5f0557d9c175eb5d8f0ad73531140d9c47525085ee752a91a2ab15ab459caf6d6 - languageName: node - linkType: hard - -"color-name@npm:~1.1.4": - version: 1.1.4 - resolution: "color-name@npm:1.1.4" - checksum: a1a3f914156960902f46f7f56bc62effc6c94e84b2cae157a526b1c1f74b677a47ec602bf68a61abfa2b42d15b7c5651c6dbe72a43af720bc588dff885b10f95 - languageName: node - linkType: hard - -"combined-stream@npm:^1.0.8": - version: 1.0.8 - resolution: "combined-stream@npm:1.0.8" - dependencies: - delayed-stream: "npm:~1.0.0" - checksum: 0dbb829577e1b1e839fa82b40c07ffaf7de8a09b935cadd355a73652ae70a88b4320db322f6634a4ad93424292fa80973ac6480986247f1734a1137debf271d5 - languageName: node - linkType: hard - -"commander@npm:^4.0.0": - version: 4.1.1 - resolution: "commander@npm:4.1.1" - checksum: 84a76c08fe6cc08c9c93f62ac573d2907d8e79138999312c92d4155bc2325d487d64d13f669b2000c9f8caf70493c1be2dac74fec3c51d5a04f8bc3ae1830bab - languageName: node - linkType: hard - -"concat-map@npm:0.0.1": - version: 0.0.1 - resolution: "concat-map@npm:0.0.1" - checksum: c996b1cfdf95b6c90fee4dae37e332c8b6eb7d106430c17d538034c0ad9a1630cb194d2ab37293b1bdd4d779494beee7786d586a50bd9376fd6f7bcc2bd4c98f - languageName: node - linkType: hard - -"confbox@npm:^0.1.7": - version: 0.1.7 - resolution: "confbox@npm:0.1.7" - checksum: 18b40c2f652196a833f3f1a5db2326a8a579cd14eacabfe637e4fc8cb9b68d7cf296139a38c5e7c688ce5041bf46f9adce05932d43fde44cf7e012840b5da111 - languageName: node - linkType: hard - -"consola@npm:^3.2.3": - version: 3.2.3 - resolution: "consola@npm:3.2.3" - checksum: c606220524ec88a05bb1baf557e9e0e04a0c08a9c35d7a08652d99de195c4ddcb6572040a7df57a18ff38bbc13ce9880ad032d56630cef27bef72768ef0ac078 - languageName: node - linkType: hard - -"convert-source-map@npm:^2.0.0": - version: 2.0.0 - resolution: "convert-source-map@npm:2.0.0" - checksum: 8f2f7a27a1a011cc6cc88cc4da2d7d0cfa5ee0369508baae3d98c260bb3ac520691464e5bbe4ae7cdf09860c1d69ecc6f70c63c6e7c7f7e3f18ec08484dc7d9b - languageName: node - linkType: hard - -"cookie-es@npm:^1.1.0": - version: 1.2.2 - resolution: "cookie-es@npm:1.2.2" - checksum: 210eb67cd40a53986fda99d6f47118cfc45a69c4abc03490d15ab1b83ac978d5518356aecdd7a7a4969292445e3063c2302deda4c73706a67edc008127608638 - languageName: node - linkType: hard - -"core-util-is@npm:~1.0.0": - version: 1.0.3 - resolution: "core-util-is@npm:1.0.3" - checksum: 90a0e40abbddfd7618f8ccd63a74d88deea94e77d0e8dbbea059fa7ebebb8fbb4e2909667fe26f3a467073de1a542ebe6ae4c73a73745ac5833786759cd906c9 - languageName: node - linkType: hard - -"crc-32@npm:^1.2.0": - version: 1.2.2 - resolution: "crc-32@npm:1.2.2" - bin: - crc32: bin/crc32.njs - checksum: 11dcf4a2e77ee793835d49f2c028838eae58b44f50d1ff08394a610bfd817523f105d6ae4d9b5bef0aad45510f633eb23c903e9902e4409bed1ce70cb82b9bf0 - languageName: node - linkType: hard - -"create-jest@npm:^29.7.0": - version: 29.7.0 - resolution: "create-jest@npm:29.7.0" - dependencies: - "@jest/types": "npm:^29.6.3" - chalk: "npm:^4.0.0" - exit: "npm:^0.1.2" - graceful-fs: "npm:^4.2.9" - jest-config: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - prompts: "npm:^2.0.1" - bin: - create-jest: bin/create-jest.js - checksum: e7e54c280692470d3398f62a6238fd396327e01c6a0757002833f06d00afc62dd7bfe04ff2b9cd145264460e6b4d1eb8386f2925b7e567f97939843b7b0e812f - languageName: node - linkType: hard - -"create-require@npm:^1.1.0": - version: 1.1.1 - resolution: "create-require@npm:1.1.1" - checksum: 157cbc59b2430ae9a90034a5f3a1b398b6738bf510f713edc4d4e45e169bc514d3d99dd34d8d01ca7ae7830b5b8b537e46ae8f3c8f932371b0875c0151d7ec91 - languageName: node - linkType: hard - -"cross-fetch@npm:^3.1.4, cross-fetch@npm:^3.1.5": - version: 3.1.8 - resolution: "cross-fetch@npm:3.1.8" - dependencies: - node-fetch: "npm:^2.6.12" - checksum: 4c5e022ffe6abdf380faa6e2373c0c4ed7ef75e105c95c972b6f627c3f083170b6886f19fb488a7fa93971f4f69dcc890f122b0d97f0bf5f41ca1d9a8f58c8af - languageName: node - linkType: hard - -"cross-fetch@npm:^4.0.0": - version: 4.0.0 - resolution: "cross-fetch@npm:4.0.0" - dependencies: - node-fetch: "npm:^2.6.12" - checksum: 386727dc4c6b044746086aced959ff21101abb85c43df5e1d151547ccb6f338f86dec3f28b9dbddfa8ff5b9ec8662ed2263ad4607a93b2dc354fb7fe3bbb898a - languageName: node - linkType: hard - -"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3": - version: 7.0.3 - resolution: "cross-spawn@npm:7.0.3" - dependencies: - path-key: "npm:^3.1.0" - shebang-command: "npm:^2.0.0" - which: "npm:^2.0.1" - checksum: 5738c312387081c98d69c98e105b6327b069197f864a60593245d64c8089c8a0a744e16349281210d56835bb9274130d825a78b2ad6853ca13cfbeffc0c31750 - languageName: node - linkType: hard - -"crossws@npm:^0.2.0, crossws@npm:^0.2.4": - version: 0.2.4 - resolution: "crossws@npm:0.2.4" - peerDependencies: - uWebSockets.js: "*" - peerDependenciesMeta: - uWebSockets.js: - optional: true - checksum: b950c64d36f3f11fdb8e0faf3107598660d89d77eb860e68b535fe6acba9f0f2f0507cc7250bd219a3ef2fe08718db91b591e6912b7324fcfc8fd1b8d9f78c96 - languageName: node - linkType: hard - -"css-what@npm:^6.1.0": - version: 6.1.0 - resolution: "css-what@npm:6.1.0" - checksum: a09f5a6b14ba8dcf57ae9a59474722e80f20406c53a61e9aedb0eedc693b135113ffe2983f4efc4b5065ae639442e9ae88df24941ef159c218b231011d733746 - languageName: node - linkType: hard - -"css.escape@npm:^1.5.1": - version: 1.5.1 - resolution: "css.escape@npm:1.5.1" - checksum: 5e09035e5bf6c2c422b40c6df2eb1529657a17df37fda5d0433d722609527ab98090baf25b13970ca754079a0f3161dd3dfc0e743563ded8cfa0749d861c1525 - languageName: node - linkType: hard - -"cssesc@npm:^3.0.0": - version: 3.0.0 - resolution: "cssesc@npm:3.0.0" - bin: - cssesc: bin/cssesc - checksum: 6bcfd898662671be15ae7827120472c5667afb3d7429f1f917737f3bf84c4176003228131b643ae74543f17a394446247df090c597bb9a728cce298606ed0aa7 - languageName: node - linkType: hard - -"cssom@npm:^0.5.0": - version: 0.5.0 - resolution: "cssom@npm:0.5.0" - checksum: 8c4121c243baf0678c65dcac29b201ff0067dfecf978de9d5c83b2ff127a8fdefd2bfd54577f5ad8c80ed7d2c8b489ae01c82023545d010c4ecb87683fb403dd - languageName: node - linkType: hard - -"cssom@npm:~0.3.6": - version: 0.3.8 - resolution: "cssom@npm:0.3.8" - checksum: d74017b209440822f9e24d8782d6d2e808a8fdd58fa626a783337222fe1c87a518ba944d4c88499031b4786e68772c99dfae616638d71906fe9f203aeaf14411 - languageName: node - linkType: hard - -"cssstyle@npm:^2.3.0": - version: 2.3.0 - resolution: "cssstyle@npm:2.3.0" - dependencies: - cssom: "npm:~0.3.6" - checksum: 863400da2a458f73272b9a55ba7ff05de40d850f22eb4f37311abebd7eff801cf1cd2fb04c4c92b8c3daed83fe766e52e4112afb7bc88d86c63a9c2256a7d178 - languageName: node - linkType: hard - -"csstype@npm:^3.0.2, csstype@npm:^3.0.7": - version: 3.1.3 - resolution: "csstype@npm:3.1.3" - checksum: 80c089d6f7e0c5b2bd83cf0539ab41474198579584fa10d86d0cafe0642202343cbc119e076a0b1aece191989477081415d66c9fefbf3c957fc2fc4b7009f248 - languageName: node - linkType: hard - -"damerau-levenshtein@npm:^1.0.8": - version: 1.0.8 - resolution: "damerau-levenshtein@npm:1.0.8" - checksum: 4c2647e0f42acaee7d068756c1d396e296c3556f9c8314bac1ac63ffb236217ef0e7e58602b18bb2173deec7ec8e0cac8e27cccf8f5526666b4ff11a13ad54a3 - languageName: node - linkType: hard - -"data-urls@npm:^3.0.2": - version: 3.0.2 - resolution: "data-urls@npm:3.0.2" - dependencies: - abab: "npm:^2.0.6" - whatwg-mimetype: "npm:^3.0.0" - whatwg-url: "npm:^11.0.0" - checksum: 051c3aaaf3e961904f136aab095fcf6dff4db23a7fc759dd8ba7b3e6ba03fc07ef608086caad8ab910d864bd3b5e57d0d2f544725653d77c96a2c971567045f4 - languageName: node - linkType: hard - -"date-fns@npm:^2.29.3": - version: 2.30.0 - resolution: "date-fns@npm:2.30.0" - dependencies: - "@babel/runtime": "npm:^7.21.0" - checksum: e4b521fbf22bc8c3db332bbfb7b094fd3e7627de0259a9d17c7551e2d2702608a7307a449206065916538e384f37b181565447ce2637ae09828427aed9cb5581 - languageName: node - linkType: hard - -"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4": - version: 4.3.4 - resolution: "debug@npm:4.3.4" - dependencies: - ms: "npm:2.1.2" - peerDependenciesMeta: - supports-color: - optional: true - checksum: cedbec45298dd5c501d01b92b119cd3faebe5438c3917ff11ae1bff86a6c722930ac9c8659792824013168ba6db7c4668225d845c633fbdafbbf902a6389f736 - languageName: node - linkType: hard - -"debug@npm:^3.2.7": - version: 3.2.7 - resolution: "debug@npm:3.2.7" - dependencies: - ms: "npm:^2.1.1" - checksum: 37d96ae42cbc71c14844d2ae3ba55adf462ec89fd3a999459dec3833944cd999af6007ff29c780f1c61153bcaaf2c842d1e4ce1ec621e4fc4923244942e4a02a - languageName: node - linkType: hard - -"debug@npm:~4.3.1, debug@npm:~4.3.2": - version: 4.3.6 - resolution: "debug@npm:4.3.6" - dependencies: - ms: "npm:2.1.2" - peerDependenciesMeta: - supports-color: - optional: true - checksum: 3293416bff072389c101697d4611c402a6bacd1900ac20c0492f61a9cdd6b3b29750fc7f5e299f8058469ef60ff8fb79b86395a30374fbd2490113c1c7112285 - languageName: node - linkType: hard - -"decamelize@npm:^1.2.0": - version: 1.2.0 - resolution: "decamelize@npm:1.2.0" - checksum: 85c39fe8fbf0482d4a1e224ef0119db5c1897f8503bcef8b826adff7a1b11414972f6fef2d7dec2ee0b4be3863cf64ac1439137ae9e6af23a3d8dcbe26a5b4b2 - languageName: node - linkType: hard - -"decimal.js@npm:^10.4.2": - version: 10.4.3 - resolution: "decimal.js@npm:10.4.3" - checksum: 6d60206689ff0911f0ce968d40f163304a6c1bc739927758e6efc7921cfa630130388966f16bf6ef6b838cb33679fbe8e7a78a2f3c478afce841fd55ac8fb8ee - languageName: node - linkType: hard - -"decode-uri-component@npm:^0.2.2": - version: 0.2.2 - resolution: "decode-uri-component@npm:0.2.2" - checksum: 1f4fa54eb740414a816b3f6c24818fbfcabd74ac478391e9f4e2282c994127db02010ce804f3d08e38255493cfe68608b3f5c8e09fd6efc4ae46c807691f7a31 - languageName: node - linkType: hard - -"dedent@npm:^1.0.0": - version: 1.5.1 - resolution: "dedent@npm:1.5.1" - peerDependencies: - babel-plugin-macros: ^3.1.0 - peerDependenciesMeta: - babel-plugin-macros: - optional: true - checksum: f8612cd5b00aab58b18bb95572dca08dc2d49720bfa7201a444c3dae430291e8a06d4928614a6ec8764d713927f44bce9c990d3b8238fca2f430990ddc17c070 - languageName: node - linkType: hard - -"deep-equal@npm:^2.0.5": - version: 2.2.3 - resolution: "deep-equal@npm:2.2.3" - dependencies: - array-buffer-byte-length: "npm:^1.0.0" - call-bind: "npm:^1.0.5" - es-get-iterator: "npm:^1.1.3" - get-intrinsic: "npm:^1.2.2" - is-arguments: "npm:^1.1.1" - is-array-buffer: "npm:^3.0.2" - is-date-object: "npm:^1.0.5" - is-regex: "npm:^1.1.4" - is-shared-array-buffer: "npm:^1.0.2" - isarray: "npm:^2.0.5" - object-is: "npm:^1.1.5" - object-keys: "npm:^1.1.1" - object.assign: "npm:^4.1.4" - regexp.prototype.flags: "npm:^1.5.1" - side-channel: "npm:^1.0.4" - which-boxed-primitive: "npm:^1.0.2" - which-collection: "npm:^1.0.1" - which-typed-array: "npm:^1.1.13" - checksum: a48244f90fa989f63ff5ef0cc6de1e4916b48ea0220a9c89a378561960814794a5800c600254482a2c8fd2e49d6c2e196131dc983976adb024c94a42dfe4949f - languageName: node - linkType: hard - -"deep-is@npm:^0.1.3": - version: 0.1.4 - resolution: "deep-is@npm:0.1.4" - checksum: 7f0ee496e0dff14a573dc6127f14c95061b448b87b995fc96c017ce0a1e66af1675e73f1d6064407975bc4ea6ab679497a29fff7b5b9c4e99cb10797c1ad0b4c - languageName: node - linkType: hard - -"deep-object-diff@npm:^1.1.9": - version: 1.1.9 - resolution: "deep-object-diff@npm:1.1.9" - checksum: 12cfd1b000d16c9192fc649923c972f8aac2ddca4f71a292f8f2c1e2d5cf3c9c16c85e73ab3e7d8a89a5ec6918d6460677d0b05bd160f7bd50bb4816d496dc24 - languageName: node - linkType: hard - -"deepmerge@npm:^4.2.2": - version: 4.3.1 - resolution: "deepmerge@npm:4.3.1" - checksum: e53481aaf1aa2c4082b5342be6b6d8ad9dfe387bc92ce197a66dea08bd4265904a087e75e464f14d1347cf2ac8afe1e4c16b266e0561cc5df29382d3c5f80044 - languageName: node - linkType: hard - -"define-data-property@npm:^1.0.1, define-data-property@npm:^1.1.2": - version: 1.1.4 - resolution: "define-data-property@npm:1.1.4" - dependencies: - es-define-property: "npm:^1.0.0" - es-errors: "npm:^1.3.0" - gopd: "npm:^1.0.1" - checksum: dea0606d1483eb9db8d930d4eac62ca0fa16738b0b3e07046cddfacf7d8c868bbe13fa0cb263eb91c7d0d527960dc3f2f2471a69ed7816210307f6744fe62e37 - languageName: node - linkType: hard - -"define-lazy-prop@npm:^2.0.0": - version: 2.0.0 - resolution: "define-lazy-prop@npm:2.0.0" - checksum: db6c63864a9d3b7dc9def55d52764968a5af296de87c1b2cc71d8be8142e445208071953649e0386a8cc37cfcf9a2067a47207f1eb9ff250c2a269658fdae422 - languageName: node - linkType: hard - -"define-properties@npm:^1.1.3, define-properties@npm:^1.2.0, define-properties@npm:^1.2.1": - version: 1.2.1 - resolution: "define-properties@npm:1.2.1" - dependencies: - define-data-property: "npm:^1.0.1" - has-property-descriptors: "npm:^1.0.0" - object-keys: "npm:^1.1.1" - checksum: 88a152319ffe1396ccc6ded510a3896e77efac7a1bfbaa174a7b00414a1747377e0bb525d303794a47cf30e805c2ec84e575758512c6e44a993076d29fd4e6c3 - languageName: node - linkType: hard - -"defu@npm:^6.1.4": - version: 6.1.4 - resolution: "defu@npm:6.1.4" - checksum: 2d6cc366262dc0cb8096e429368e44052fdf43ed48e53ad84cc7c9407f890301aa5fcb80d0995abaaf842b3949f154d060be4160f7a46cb2bc2f7726c81526f5 - languageName: node - linkType: hard - -"delayed-stream@npm:~1.0.0": - version: 1.0.0 - resolution: "delayed-stream@npm:1.0.0" - checksum: d758899da03392e6712f042bec80aa293bbe9e9ff1b2634baae6a360113e708b91326594c8a486d475c69d6259afb7efacdc3537bfcda1c6c648e390ce601b19 - languageName: node - linkType: hard - -"dequal@npm:^2.0.3": - version: 2.0.3 - resolution: "dequal@npm:2.0.3" - checksum: f98860cdf58b64991ae10205137c0e97d384c3a4edc7f807603887b7c4b850af1224a33d88012009f150861cbee4fa2d322c4cc04b9313bee312e47f6ecaa888 - languageName: node - linkType: hard - -"destr@npm:^2.0.3": - version: 2.0.3 - resolution: "destr@npm:2.0.3" - checksum: 10e7eff5149e2839a4dd29a1e9617c3c675a3b53608d78d74fc6f4abc31daa977e6de08e0eea78965527a0d5a35467ae2f9624e0a4646d54aa1162caa094473e - languageName: node - linkType: hard - -"detect-browser@npm:5.3.0, detect-browser@npm:^5.2.0": - version: 5.3.0 - resolution: "detect-browser@npm:5.3.0" - checksum: 88d49b70ce3836e7971345b2ebdd486ad0d457d1e4f066540d0c12f9210c8f731ccbed955fcc9af2f048f5d4629702a8e46bedf5bcad42ad49a3a0927bfd5a76 - languageName: node - linkType: hard - -"detect-libc@npm:^1.0.3": - version: 1.0.3 - resolution: "detect-libc@npm:1.0.3" - bin: - detect-libc: ./bin/detect-libc.js - checksum: 4da0deae9f69e13bc37a0902d78bf7169480004b1fed3c19722d56cff578d16f0e11633b7fbf5fb6249181236c72e90024cbd68f0b9558ae06e281f47326d50d - languageName: node - linkType: hard - -"detect-newline@npm:^3.0.0": - version: 3.1.0 - resolution: "detect-newline@npm:3.1.0" - checksum: c38cfc8eeb9fda09febb44bcd85e467c970d4e3bf526095394e5a4f18bc26dd0cf6b22c69c1fa9969261521c593836db335c2795218f6d781a512aea2fb8209d - languageName: node - linkType: hard - -"detect-node-es@npm:^1.1.0": - version: 1.1.0 - resolution: "detect-node-es@npm:1.1.0" - checksum: e562f00de23f10c27d7119e1af0e7388407eb4b06596a25f6d79a360094a109ff285de317f02b090faae093d314cf6e73ac3214f8a5bb3a0def5bece94557fbe - languageName: node - linkType: hard - -"didyoumean@npm:^1.2.2": - version: 1.2.2 - resolution: "didyoumean@npm:1.2.2" - checksum: 95d0b53d23b851aacff56dfadb7ecfedce49da4232233baecfeecb7710248c4aa03f0aa8995062f0acafaf925adf8536bd7044a2e68316fd7d411477599bc27b - languageName: node - linkType: hard - -"diff-sequences@npm:^29.6.3": - version: 29.6.3 - resolution: "diff-sequences@npm:29.6.3" - checksum: 32e27ac7dbffdf2fb0eb5a84efd98a9ad084fbabd5ac9abb8757c6770d5320d2acd172830b28c4add29bb873d59420601dfc805ac4064330ce59b1adfd0593b2 - languageName: node - linkType: hard - -"diff@npm:^4.0.1": - version: 4.0.2 - resolution: "diff@npm:4.0.2" - checksum: 81b91f9d39c4eaca068eb0c1eb0e4afbdc5bb2941d197f513dd596b820b956fef43485876226d65d497bebc15666aa2aa82c679e84f65d5f2bfbf14ee46e32c1 - languageName: node - linkType: hard - -"dijkstrajs@npm:^1.0.1": - version: 1.0.3 - resolution: "dijkstrajs@npm:1.0.3" - checksum: 2183d61ac1f25062f3c3773f3ea8d9f45ba164a00e77e07faf8cc5750da966222d1e2ce6299c875a80f969190c71a0973042192c5624d5223e4ed196ff584c99 - languageName: node - linkType: hard - -"dir-glob@npm:^3.0.1": - version: 3.0.1 - resolution: "dir-glob@npm:3.0.1" - dependencies: - path-type: "npm:^4.0.0" - checksum: dcac00920a4d503e38bb64001acb19df4efc14536ada475725e12f52c16777afdee4db827f55f13a908ee7efc0cb282e2e3dbaeeb98c0993dd93d1802d3bf00c - languageName: node - linkType: hard - -"dlv@npm:^1.1.3": - version: 1.1.3 - resolution: "dlv@npm:1.1.3" - checksum: 03eb4e769f19a027fd5b43b59e8a05e3fd2100ac239ebb0bf9a745de35d449e2f25cfaf3aa3934664551d72856f4ae8b7822016ce5c42c2d27c18ae79429ec42 - languageName: node - linkType: hard - -"doctrine@npm:^2.1.0": - version: 2.1.0 - resolution: "doctrine@npm:2.1.0" - dependencies: - esutils: "npm:^2.0.2" - checksum: b6416aaff1f380bf56c3b552f31fdf7a69b45689368deca72d28636f41c16bb28ec3ebc40ace97db4c1afc0ceeb8120e8492fe0046841c94c2933b2e30a7d5ac - languageName: node - linkType: hard - -"doctrine@npm:^3.0.0": - version: 3.0.0 - resolution: "doctrine@npm:3.0.0" - dependencies: - esutils: "npm:^2.0.2" - checksum: c96bdccabe9d62ab6fea9399fdff04a66e6563c1d6fb3a3a063e8d53c3bb136ba63e84250bbf63d00086a769ad53aef92d2bd483f03f837fc97b71cbee6b2520 - languageName: node - linkType: hard - -"dom-accessibility-api@npm:^0.5.9": - version: 0.5.16 - resolution: "dom-accessibility-api@npm:0.5.16" - checksum: b2c2eda4fae568977cdac27a9f0c001edf4f95a6a6191dfa611e3721db2478d1badc01db5bb4fa8a848aeee13e442a6c2a4386d65ec65a1436f24715a2f8d053 - languageName: node - linkType: hard - -"dom-accessibility-api@npm:^0.6.3": - version: 0.6.3 - resolution: "dom-accessibility-api@npm:0.6.3" - checksum: 10bee5aa514b2a9a37c87cd81268db607a2e933a050074abc2f6fa3da9080ebed206a320cbc123567f2c3087d22292853bdfdceaffdd4334ffe2af9510b29360 - languageName: node - linkType: hard - -"domexception@npm:^4.0.0": - version: 4.0.0 - resolution: "domexception@npm:4.0.0" - dependencies: - webidl-conversions: "npm:^7.0.0" - checksum: 774277cd9d4df033f852196e3c0077a34dbd15a96baa4d166e0e47138a80f4c0bdf0d94e4703e6ff5883cec56bb821a6fff84402d8a498e31de7c87eb932a294 - languageName: node - linkType: hard - -"duplexify@npm:^4.1.2": - version: 4.1.3 - resolution: "duplexify@npm:4.1.3" - dependencies: - end-of-stream: "npm:^1.4.1" - inherits: "npm:^2.0.3" - readable-stream: "npm:^3.1.1" - stream-shift: "npm:^1.0.2" - checksum: 8a7621ae95c89f3937f982fe36d72ea997836a708471a75bb2a0eecde3330311b1e128a6dad510e0fd64ace0c56bff3484ed2e82af0e465600c82117eadfbda5 - languageName: node - linkType: hard - -"eastasianwidth@npm:^0.2.0": - version: 0.2.0 - resolution: "eastasianwidth@npm:0.2.0" - checksum: 26f364ebcdb6395f95124fda411f63137a4bfb5d3a06453f7f23dfe52502905bd84e0488172e0f9ec295fdc45f05c23d5d91baf16bd26f0fe9acd777a188dc39 - languageName: node - linkType: hard - -"eciesjs@npm:^0.3.15": - version: 0.3.19 - resolution: "eciesjs@npm:0.3.19" - dependencies: - "@types/secp256k1": "npm:^4.0.6" - futoin-hkdf: "npm:^1.5.3" - secp256k1: "npm:^5.0.0" - checksum: 8fc86c7675f0e7bb169c546b5422992d52bbbeeeea6abb8e958815b09138873d195a00c708ffa239da29160344b594858ee0d04b3010598b25426029ec75b1c1 - languageName: node - linkType: hard - -"electron-to-chromium@npm:^1.4.668": - version: 1.4.673 - resolution: "electron-to-chromium@npm:1.4.673" - checksum: 3e01365ee9b5b32b772ac6437ad4395e4367a2ffb23d651caab67802dbe65e91fca677681c38fa8e14f04ba8e8c79463520ab29b9e5fadf9028e1b1e97772d69 - languageName: node - linkType: hard - -"elliptic@npm:^6.5.4": - version: 6.5.7 - resolution: "elliptic@npm:6.5.7" - dependencies: - bn.js: "npm:^4.11.9" - brorand: "npm:^1.1.0" - hash.js: "npm:^1.0.0" - hmac-drbg: "npm:^1.0.1" - inherits: "npm:^2.0.4" - minimalistic-assert: "npm:^1.0.1" - minimalistic-crypto-utils: "npm:^1.0.1" - checksum: 799959b6c54ea3564e8961f35abdf8c77e37617f3051614b05ab1fb6a04ddb65bd1caa75ed1bae375b15dda312a0f79fed26ebe76ecf05c5a7af244152a601b8 - languageName: node - linkType: hard - -"emittery@npm:^0.13.1": - version: 0.13.1 - resolution: "emittery@npm:0.13.1" - checksum: 1573d0ae29ab34661b6c63251ff8f5facd24ccf6a823f19417ae8ba8c88ea450325788c67f16c99edec8de4b52ce93a10fe441ece389fd156e88ee7dab9bfa35 - languageName: node - linkType: hard - -"emoji-regex@npm:^8.0.0": - version: 8.0.0 - resolution: "emoji-regex@npm:8.0.0" - checksum: b6053ad39951c4cf338f9092d7bfba448cdfd46fe6a2a034700b149ac9ffbc137e361cbd3c442297f86bed2e5f7576c1b54cc0a6bf8ef5106cc62f496af35010 - languageName: node - linkType: hard - -"emoji-regex@npm:^9.2.2": - version: 9.2.2 - resolution: "emoji-regex@npm:9.2.2" - checksum: af014e759a72064cf66e6e694a7fc6b0ed3d8db680427b021a89727689671cefe9d04151b2cad51dbaf85d5ba790d061cd167f1cf32eb7b281f6368b3c181639 - languageName: node - linkType: hard - -"encode-utf8@npm:^1.0.3": - version: 1.0.3 - resolution: "encode-utf8@npm:1.0.3" - checksum: 6b3458b73e868113d31099d7508514a5c627d8e16d1e0542d1b4e3652299b8f1f590c468e2b9dcdf1b4021ee961f31839d0be9d70a7f2a8a043c63b63c9b3a88 - languageName: node - linkType: hard - -"encoding@npm:^0.1.13": - version: 0.1.13 - resolution: "encoding@npm:0.1.13" - dependencies: - iconv-lite: "npm:^0.6.2" - checksum: 36d938712ff00fe1f4bac88b43bcffb5930c1efa57bbcdca9d67e1d9d6c57cfb1200fb01efe0f3109b2ce99b231f90779532814a81370a1bd3274a0f58585039 - languageName: node - linkType: hard - -"end-of-stream@npm:^1.1.0, end-of-stream@npm:^1.4.0, end-of-stream@npm:^1.4.1": - version: 1.4.4 - resolution: "end-of-stream@npm:1.4.4" - dependencies: - once: "npm:^1.4.0" - checksum: 870b423afb2d54bb8d243c63e07c170409d41e20b47eeef0727547aea5740bd6717aca45597a9f2745525667a6b804c1e7bede41f856818faee5806dd9ff3975 - languageName: node - linkType: hard - -"engine.io-client@npm:~6.5.2": - version: 6.5.4 - resolution: "engine.io-client@npm:6.5.4" - dependencies: - "@socket.io/component-emitter": "npm:~3.1.0" - debug: "npm:~4.3.1" - engine.io-parser: "npm:~5.2.1" - ws: "npm:~8.17.1" - xmlhttprequest-ssl: "npm:~2.0.0" - checksum: ef220f9875d6a43bade906bd9b61118e812474bbe46e80f38c92dca238484170daf92d51e58bbade6433c29ffb5ba329f4864c5609f2e33c5e31041b1f8ad672 - languageName: node - linkType: hard - -"engine.io-parser@npm:~5.2.1": - version: 5.2.3 - resolution: "engine.io-parser@npm:5.2.3" - checksum: ed4900d8dbef470ab3839ccf3bfa79ee518ea8277c7f1f2759e8c22a48f64e687ea5e474291394d0c94f84054749fd93f3ef0acb51fa2f5f234cc9d9d8e7c536 - languageName: node - linkType: hard - -"enhanced-resolve@npm:^5.12.0": - version: 5.15.0 - resolution: "enhanced-resolve@npm:5.15.0" - dependencies: - graceful-fs: "npm:^4.2.4" - tapable: "npm:^2.2.0" - checksum: 69984a7990913948b4150855aed26a84afb4cb1c5a94fb8e3a65bd00729a73fc2eaff6871fb8e345377f294831afe349615c93560f2f54d61b43cdfdf668f19a - languageName: node - linkType: hard - -"entities@npm:^4.4.0": - version: 4.5.0 - resolution: "entities@npm:4.5.0" - checksum: 5b039739f7621f5d1ad996715e53d964035f75ad3b9a4d38c6b3804bb226e282ffeae2443624d8fdd9c47d8e926ae9ac009c54671243f0c3294c26af7cc85250 - languageName: node - linkType: hard - -"env-paths@npm:^2.2.0": - version: 2.2.1 - resolution: "env-paths@npm:2.2.1" - checksum: 285325677bf00e30845e330eec32894f5105529db97496ee3f598478e50f008c5352a41a30e5e72ec9de8a542b5a570b85699cd63bd2bc646dbcb9f311d83bc4 - languageName: node - linkType: hard - -"err-code@npm:^2.0.2": - version: 2.0.3 - resolution: "err-code@npm:2.0.3" - checksum: b642f7b4dd4a376e954947550a3065a9ece6733ab8e51ad80db727aaae0817c2e99b02a97a3d6cecc648a97848305e728289cf312d09af395403a90c9d4d8a66 - languageName: node - linkType: hard - -"error-ex@npm:^1.3.1": - version: 1.3.2 - resolution: "error-ex@npm:1.3.2" - dependencies: - is-arrayish: "npm:^0.2.1" - checksum: ba827f89369b4c93382cfca5a264d059dfefdaa56ecc5e338ffa58a6471f5ed93b71a20add1d52290a4873d92381174382658c885ac1a2305f7baca363ce9cce - languageName: node - linkType: hard - -"es-abstract@npm:^1.22.1, es-abstract@npm:^1.22.3, es-abstract@npm:^1.22.4": - version: 1.22.4 - resolution: "es-abstract@npm:1.22.4" - dependencies: - array-buffer-byte-length: "npm:^1.0.1" - arraybuffer.prototype.slice: "npm:^1.0.3" - available-typed-arrays: "npm:^1.0.6" - call-bind: "npm:^1.0.7" - es-define-property: "npm:^1.0.0" - es-errors: "npm:^1.3.0" - es-set-tostringtag: "npm:^2.0.2" - es-to-primitive: "npm:^1.2.1" - function.prototype.name: "npm:^1.1.6" - get-intrinsic: "npm:^1.2.4" - get-symbol-description: "npm:^1.0.2" - globalthis: "npm:^1.0.3" - gopd: "npm:^1.0.1" - has-property-descriptors: "npm:^1.0.2" - has-proto: "npm:^1.0.1" - has-symbols: "npm:^1.0.3" - hasown: "npm:^2.0.1" - internal-slot: "npm:^1.0.7" - is-array-buffer: "npm:^3.0.4" - is-callable: "npm:^1.2.7" - is-negative-zero: "npm:^2.0.2" - is-regex: "npm:^1.1.4" - is-shared-array-buffer: "npm:^1.0.2" - is-string: "npm:^1.0.7" - is-typed-array: "npm:^1.1.13" - is-weakref: "npm:^1.0.2" - object-inspect: "npm:^1.13.1" - object-keys: "npm:^1.1.1" - object.assign: "npm:^4.1.5" - regexp.prototype.flags: "npm:^1.5.2" - safe-array-concat: "npm:^1.1.0" - safe-regex-test: "npm:^1.0.3" - string.prototype.trim: "npm:^1.2.8" - string.prototype.trimend: "npm:^1.0.7" - string.prototype.trimstart: "npm:^1.0.7" - typed-array-buffer: "npm:^1.0.1" - typed-array-byte-length: "npm:^1.0.0" - typed-array-byte-offset: "npm:^1.0.0" - typed-array-length: "npm:^1.0.4" - unbox-primitive: "npm:^1.0.2" - which-typed-array: "npm:^1.1.14" - checksum: dc332c3a010c5e7b77b7ea8a4532ac455fa02e7bcabf996a47447165bafa72d0d99967407d0cf5dbbb5fbbf87f53cd8b706608ec70953523b8cd2b831b9a9d64 - languageName: node - linkType: hard - -"es-array-method-boxes-properly@npm:^1.0.0": - version: 1.0.0 - resolution: "es-array-method-boxes-properly@npm:1.0.0" - checksum: 4b7617d3fbd460d6f051f684ceca6cf7e88e6724671d9480388d3ecdd72119ddaa46ca31f2c69c5426a82e4b3091c1e81867c71dcdc453565cd90005ff2c382d - languageName: node - linkType: hard - -"es-define-property@npm:^1.0.0": - version: 1.0.0 - resolution: "es-define-property@npm:1.0.0" - dependencies: - get-intrinsic: "npm:^1.2.4" - checksum: 6bf3191feb7ea2ebda48b577f69bdfac7a2b3c9bcf97307f55fd6ef1bbca0b49f0c219a935aca506c993d8c5d8bddd937766cb760cd5e5a1071351f2df9f9aa4 - languageName: node - linkType: hard - -"es-errors@npm:^1.0.0, es-errors@npm:^1.1.0, es-errors@npm:^1.2.1, es-errors@npm:^1.3.0": - version: 1.3.0 - resolution: "es-errors@npm:1.3.0" - checksum: 0a61325670072f98d8ae3b914edab3559b6caa980f08054a3b872052640d91da01d38df55df797fcc916389d77fc92b8d5906cf028f4db46d7e3003abecbca85 - languageName: node - linkType: hard - -"es-get-iterator@npm:^1.1.3": - version: 1.1.3 - resolution: "es-get-iterator@npm:1.1.3" - dependencies: - call-bind: "npm:^1.0.2" - get-intrinsic: "npm:^1.1.3" - has-symbols: "npm:^1.0.3" - is-arguments: "npm:^1.1.1" - is-map: "npm:^2.0.2" - is-set: "npm:^2.0.2" - is-string: "npm:^1.0.7" - isarray: "npm:^2.0.5" - stop-iteration-iterator: "npm:^1.0.0" - checksum: ebd11effa79851ea75d7f079405f9d0dc185559fd65d986c6afea59a0ff2d46c2ed8675f19f03dce7429d7f6c14ff9aede8d121fbab78d75cfda6a263030bac0 - languageName: node - linkType: hard - -"es-iterator-helpers@npm:^1.0.12, es-iterator-helpers@npm:^1.0.15": - version: 1.0.17 - resolution: "es-iterator-helpers@npm:1.0.17" - dependencies: - asynciterator.prototype: "npm:^1.0.0" - call-bind: "npm:^1.0.7" - define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.22.4" - es-errors: "npm:^1.3.0" - es-set-tostringtag: "npm:^2.0.2" - function-bind: "npm:^1.1.2" - get-intrinsic: "npm:^1.2.4" - globalthis: "npm:^1.0.3" - has-property-descriptors: "npm:^1.0.2" - has-proto: "npm:^1.0.1" - has-symbols: "npm:^1.0.3" - internal-slot: "npm:^1.0.7" - iterator.prototype: "npm:^1.1.2" - safe-array-concat: "npm:^1.1.0" - checksum: d0f281257e7165f068fd4fc3beb63d07ae4f18fbef02a2bbe4a39272b764164c1ce3311ae7c5429ac30003aef290fcdf569050e4a9ba3560e044440f68e9a47c - languageName: node - linkType: hard - -"es-set-tostringtag@npm:^2.0.2": - version: 2.0.2 - resolution: "es-set-tostringtag@npm:2.0.2" - dependencies: - get-intrinsic: "npm:^1.2.2" - has-tostringtag: "npm:^1.0.0" - hasown: "npm:^2.0.0" - checksum: 176d6bd1be31dd0145dcceee62bb78d4a5db7f81db437615a18308a6f62bcffe45c15081278413455e8cf0aad4ea99079de66f8de389605942dfdacbad74c2d5 - languageName: node - linkType: hard - -"es-shim-unscopables@npm:^1.0.0, es-shim-unscopables@npm:^1.0.2": - version: 1.0.2 - resolution: "es-shim-unscopables@npm:1.0.2" - dependencies: - hasown: "npm:^2.0.0" - checksum: f495af7b4b7601a4c0cfb893581c352636e5c08654d129590386a33a0432cf13a7bdc7b6493801cadd990d838e2839b9013d1de3b880440cb537825e834fe783 - languageName: node - linkType: hard - -"es-to-primitive@npm:^1.2.1": - version: 1.2.1 - resolution: "es-to-primitive@npm:1.2.1" - dependencies: - is-callable: "npm:^1.1.4" - is-date-object: "npm:^1.0.1" - is-symbol: "npm:^1.0.2" - checksum: 0886572b8dc075cb10e50c0af62a03d03a68e1e69c388bd4f10c0649ee41b1fbb24840a1b7e590b393011b5cdbe0144b776da316762653685432df37d6de60f1 - languageName: node - linkType: hard - -"escalade@npm:^3.1.1": - version: 3.1.2 - resolution: "escalade@npm:3.1.2" - checksum: 6b4adafecd0682f3aa1cd1106b8fff30e492c7015b178bc81b2d2f75106dabea6c6d6e8508fc491bd58e597c74abb0e8e2368f943ecb9393d4162e3c2f3cf287 - languageName: node - linkType: hard - -"escape-string-regexp@npm:2.0.0, escape-string-regexp@npm:^2.0.0": - version: 2.0.0 - resolution: "escape-string-regexp@npm:2.0.0" - checksum: 2530479fe8db57eace5e8646c9c2a9c80fa279614986d16dcc6bcaceb63ae77f05a851ba6c43756d816c61d7f4534baf56e3c705e3e0d884818a46808811c507 - languageName: node - linkType: hard - -"escape-string-regexp@npm:^1.0.5": - version: 1.0.5 - resolution: "escape-string-regexp@npm:1.0.5" - checksum: a968ad453dd0c2724e14a4f20e177aaf32bb384ab41b674a8454afe9a41c5e6fe8903323e0a1052f56289d04bd600f81278edf140b0fcc02f5cac98d0f5b5371 - languageName: node - linkType: hard - -"escape-string-regexp@npm:^4.0.0": - version: 4.0.0 - resolution: "escape-string-regexp@npm:4.0.0" - checksum: 9497d4dd307d845bd7f75180d8188bb17ea8c151c1edbf6b6717c100e104d629dc2dfb687686181b0f4b7d732c7dfdc4d5e7a8ff72de1b0ca283a75bbb3a9cd9 - languageName: node - linkType: hard - -"escodegen@npm:^2.0.0": - version: 2.1.0 - resolution: "escodegen@npm:2.1.0" - dependencies: - esprima: "npm:^4.0.1" - estraverse: "npm:^5.2.0" - esutils: "npm:^2.0.2" - source-map: "npm:~0.6.1" - dependenciesMeta: - source-map: - optional: true - bin: - escodegen: bin/escodegen.js - esgenerate: bin/esgenerate.js - checksum: e1450a1f75f67d35c061bf0d60888b15f62ab63aef9df1901cffc81cffbbb9e8b3de237c5502cf8613a017c1df3a3003881307c78835a1ab54d8c8d2206e01d3 - languageName: node - linkType: hard - -"eslint-config-next@npm:14.1.0": - version: 14.1.0 - resolution: "eslint-config-next@npm:14.1.0" - dependencies: - "@next/eslint-plugin-next": "npm:14.1.0" - "@rushstack/eslint-patch": "npm:^1.3.3" - "@typescript-eslint/parser": "npm:^5.4.2 || ^6.0.0" - eslint-import-resolver-node: "npm:^0.3.6" - eslint-import-resolver-typescript: "npm:^3.5.2" - eslint-plugin-import: "npm:^2.28.1" - eslint-plugin-jsx-a11y: "npm:^6.7.1" - eslint-plugin-react: "npm:^7.33.2" - eslint-plugin-react-hooks: "npm:^4.5.0 || 5.0.0-canary-7118f5dd7-20230705" - peerDependencies: - eslint: ^7.23.0 || ^8.0.0 - typescript: ">=3.3.1" - peerDependenciesMeta: - typescript: - optional: true - checksum: 8e3fc5fb99d8d8d03651a44487bd7739fd880cf6698292f548ebdb3886c52b3030758018970401f6220430e7d003a1100a62de47f86f7216d3c86ba0e1cd9cd1 - languageName: node - linkType: hard - -"eslint-import-resolver-node@npm:^0.3.6, eslint-import-resolver-node@npm:^0.3.9": - version: 0.3.9 - resolution: "eslint-import-resolver-node@npm:0.3.9" - dependencies: - debug: "npm:^3.2.7" - is-core-module: "npm:^2.13.0" - resolve: "npm:^1.22.4" - checksum: 0ea8a24a72328a51fd95aa8f660dcca74c1429806737cf10261ab90cfcaaf62fd1eff664b76a44270868e0a932711a81b250053942595bcd00a93b1c1575dd61 - languageName: node - linkType: hard - -"eslint-import-resolver-typescript@npm:^3.5.2": - version: 3.6.1 - resolution: "eslint-import-resolver-typescript@npm:3.6.1" - dependencies: - debug: "npm:^4.3.4" - enhanced-resolve: "npm:^5.12.0" - eslint-module-utils: "npm:^2.7.4" - fast-glob: "npm:^3.3.1" - get-tsconfig: "npm:^4.5.0" - is-core-module: "npm:^2.11.0" - is-glob: "npm:^4.0.3" - peerDependencies: - eslint: "*" - eslint-plugin-import: "*" - checksum: cb1cb4389916fe78bf8c8567aae2f69243dbfe624bfe21078c56ad46fa1ebf0634fa7239dd3b2055ab5c27359e4b4c28b69b11fcb3a5df8a9e6f7add8e034d86 - languageName: node - linkType: hard - -"eslint-module-utils@npm:^2.7.4, eslint-module-utils@npm:^2.8.0": - version: 2.8.0 - resolution: "eslint-module-utils@npm:2.8.0" - dependencies: - debug: "npm:^3.2.7" - peerDependenciesMeta: - eslint: - optional: true - checksum: c7a8d1a58d76ec8217a8fea49271ec8132d1b9390965a75f6a4ecbc9e5983d742195b46d2e4378231d2186801439fe1aa5700714b0bfd4eb17aac6e1b65309df - languageName: node - linkType: hard - -"eslint-plugin-import@npm:^2.28.1": - version: 2.29.1 - resolution: "eslint-plugin-import@npm:2.29.1" - dependencies: - array-includes: "npm:^3.1.7" - array.prototype.findlastindex: "npm:^1.2.3" - array.prototype.flat: "npm:^1.3.2" - array.prototype.flatmap: "npm:^1.3.2" - debug: "npm:^3.2.7" - doctrine: "npm:^2.1.0" - eslint-import-resolver-node: "npm:^0.3.9" - eslint-module-utils: "npm:^2.8.0" - hasown: "npm:^2.0.0" - is-core-module: "npm:^2.13.1" - is-glob: "npm:^4.0.3" - minimatch: "npm:^3.1.2" - object.fromentries: "npm:^2.0.7" - object.groupby: "npm:^1.0.1" - object.values: "npm:^1.1.7" - semver: "npm:^6.3.1" - tsconfig-paths: "npm:^3.15.0" - peerDependencies: - eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 - checksum: 5f35dfbf4e8e67f741f396987de9504ad125c49f4144508a93282b4ea0127e052bde65ab6def1f31b6ace6d5d430be698333f75bdd7dca3bc14226c92a083196 - languageName: node - linkType: hard - -"eslint-plugin-jsx-a11y@npm:^6.7.1": - version: 6.8.0 - resolution: "eslint-plugin-jsx-a11y@npm:6.8.0" - dependencies: - "@babel/runtime": "npm:^7.23.2" - aria-query: "npm:^5.3.0" - array-includes: "npm:^3.1.7" - array.prototype.flatmap: "npm:^1.3.2" - ast-types-flow: "npm:^0.0.8" - axe-core: "npm:=4.7.0" - axobject-query: "npm:^3.2.1" - damerau-levenshtein: "npm:^1.0.8" - emoji-regex: "npm:^9.2.2" - es-iterator-helpers: "npm:^1.0.15" - hasown: "npm:^2.0.0" - jsx-ast-utils: "npm:^3.3.5" - language-tags: "npm:^1.0.9" - minimatch: "npm:^3.1.2" - object.entries: "npm:^1.1.7" - object.fromentries: "npm:^2.0.7" - peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 - checksum: 199b883e526e6f9d7c54cb3f094abc54f11a1ec816db5fb6cae3b938eb0e503acc10ccba91ca7451633a9d0b9abc0ea03601844a8aba5fe88c5e8897c9ac8f49 - languageName: node - linkType: hard - -"eslint-plugin-react-hooks@npm:^4.5.0 || 5.0.0-canary-7118f5dd7-20230705": - version: 5.0.0-canary-7118f5dd7-20230705 - resolution: "eslint-plugin-react-hooks@npm:5.0.0-canary-7118f5dd7-20230705" - peerDependencies: - eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 - checksum: 554c4e426bfeb126155510dcba8345391426af147ee629f1c56c9ef6af08340d11008213e4e15b0138830af2c4439d7158da2091987f7efb01aeab662c44b274 - languageName: node - linkType: hard - -"eslint-plugin-react@npm:^7.33.2": - version: 7.33.2 - resolution: "eslint-plugin-react@npm:7.33.2" - dependencies: - array-includes: "npm:^3.1.6" - array.prototype.flatmap: "npm:^1.3.1" - array.prototype.tosorted: "npm:^1.1.1" - doctrine: "npm:^2.1.0" - es-iterator-helpers: "npm:^1.0.12" - estraverse: "npm:^5.3.0" - jsx-ast-utils: "npm:^2.4.1 || ^3.0.0" - minimatch: "npm:^3.1.2" - object.entries: "npm:^1.1.6" - object.fromentries: "npm:^2.0.6" - object.hasown: "npm:^1.1.2" - object.values: "npm:^1.1.6" - prop-types: "npm:^15.8.1" - resolve: "npm:^2.0.0-next.4" - semver: "npm:^6.3.1" - string.prototype.matchall: "npm:^4.0.8" - peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 - checksum: f9b247861024bafc396c4bd3c9ac946604b3b23077251c98f23602aa22027a0c33a69157fd49564e4ff7f17b3678e5dc366a46c7ec42a09454d7cbce786d5001 - languageName: node - linkType: hard - -"eslint-scope@npm:^7.2.2": - version: 7.2.2 - resolution: "eslint-scope@npm:7.2.2" - dependencies: - esrecurse: "npm:^4.3.0" - estraverse: "npm:^5.2.0" - checksum: 613c267aea34b5a6d6c00514e8545ef1f1433108097e857225fed40d397dd6b1809dffd11c2fde23b37ca53d7bf935fe04d2a18e6fc932b31837b6ad67e1c116 - languageName: node - linkType: hard - -"eslint-visitor-keys@npm:^3.3.0, eslint-visitor-keys@npm:^3.4.1, eslint-visitor-keys@npm:^3.4.3": - version: 3.4.3 - resolution: "eslint-visitor-keys@npm:3.4.3" - checksum: 92708e882c0a5ffd88c23c0b404ac1628cf20104a108c745f240a13c332a11aac54f49a22d5762efbffc18ecbc9a580d1b7ad034bf5f3cc3307e5cbff2ec9820 - languageName: node - linkType: hard - -"eslint@npm:^8": - version: 8.56.0 - resolution: "eslint@npm:8.56.0" - dependencies: - "@eslint-community/eslint-utils": "npm:^4.2.0" - "@eslint-community/regexpp": "npm:^4.6.1" - "@eslint/eslintrc": "npm:^2.1.4" - "@eslint/js": "npm:8.56.0" - "@humanwhocodes/config-array": "npm:^0.11.13" - "@humanwhocodes/module-importer": "npm:^1.0.1" - "@nodelib/fs.walk": "npm:^1.2.8" - "@ungap/structured-clone": "npm:^1.2.0" - ajv: "npm:^6.12.4" - chalk: "npm:^4.0.0" - cross-spawn: "npm:^7.0.2" - debug: "npm:^4.3.2" - doctrine: "npm:^3.0.0" - escape-string-regexp: "npm:^4.0.0" - eslint-scope: "npm:^7.2.2" - eslint-visitor-keys: "npm:^3.4.3" - espree: "npm:^9.6.1" - esquery: "npm:^1.4.2" - esutils: "npm:^2.0.2" - fast-deep-equal: "npm:^3.1.3" - file-entry-cache: "npm:^6.0.1" - find-up: "npm:^5.0.0" - glob-parent: "npm:^6.0.2" - globals: "npm:^13.19.0" - graphemer: "npm:^1.4.0" - ignore: "npm:^5.2.0" - imurmurhash: "npm:^0.1.4" - is-glob: "npm:^4.0.0" - is-path-inside: "npm:^3.0.3" - js-yaml: "npm:^4.1.0" - json-stable-stringify-without-jsonify: "npm:^1.0.1" - levn: "npm:^0.4.1" - lodash.merge: "npm:^4.6.2" - minimatch: "npm:^3.1.2" - natural-compare: "npm:^1.4.0" - optionator: "npm:^0.9.3" - strip-ansi: "npm:^6.0.1" - text-table: "npm:^0.2.0" - bin: - eslint: bin/eslint.js - checksum: 2be598f7da1339d045ad933ffd3d4742bee610515cd2b0d9a2b8b729395a01d4e913552fff555b559fccaefd89d7b37632825789d1b06470608737ae69ab43fb - languageName: node - linkType: hard - -"espree@npm:^9.6.0, espree@npm:^9.6.1": - version: 9.6.1 - resolution: "espree@npm:9.6.1" - dependencies: - acorn: "npm:^8.9.0" - acorn-jsx: "npm:^5.3.2" - eslint-visitor-keys: "npm:^3.4.1" - checksum: 1a2e9b4699b715347f62330bcc76aee224390c28bb02b31a3752e9d07549c473f5f986720483c6469cf3cfb3c9d05df612ffc69eb1ee94b54b739e67de9bb460 - languageName: node - linkType: hard - -"esprima@npm:^4.0.0, esprima@npm:^4.0.1": - version: 4.0.1 - resolution: "esprima@npm:4.0.1" - bin: - esparse: ./bin/esparse.js - esvalidate: ./bin/esvalidate.js - checksum: ad4bab9ead0808cf56501750fd9d3fb276f6b105f987707d059005d57e182d18a7c9ec7f3a01794ebddcca676773e42ca48a32d67a250c9d35e009ca613caba3 - languageName: node - linkType: hard - -"esquery@npm:^1.4.2": - version: 1.5.0 - resolution: "esquery@npm:1.5.0" - dependencies: - estraverse: "npm:^5.1.0" - checksum: a084bd049d954cc88ac69df30534043fb2aee5555b56246493f42f27d1e168f00d9e5d4192e46f10290d312dc30dc7d58994d61a609c579c1219d636996f9213 - languageName: node - linkType: hard - -"esrecurse@npm:^4.3.0": - version: 4.3.0 - resolution: "esrecurse@npm:4.3.0" - dependencies: - estraverse: "npm:^5.2.0" - checksum: 81a37116d1408ded88ada45b9fb16dbd26fba3aadc369ce50fcaf82a0bac12772ebd7b24cd7b91fc66786bf2c1ac7b5f196bc990a473efff972f5cb338877cf5 - languageName: node - linkType: hard - -"estraverse@npm:^5.1.0, estraverse@npm:^5.2.0, estraverse@npm:^5.3.0": - version: 5.3.0 - resolution: "estraverse@npm:5.3.0" - checksum: 1ff9447b96263dec95d6d67431c5e0771eb9776427421260a3e2f0fdd5d6bd4f8e37a7338f5ad2880c9f143450c9b1e4fc2069060724570a49cf9cf0312bd107 - languageName: node - linkType: hard - -"esutils@npm:^2.0.2": - version: 2.0.3 - resolution: "esutils@npm:2.0.3" - checksum: 9a2fe69a41bfdade834ba7c42de4723c97ec776e40656919c62cbd13607c45e127a003f05f724a1ea55e5029a4cf2de444b13009f2af71271e42d93a637137c7 - languageName: node - linkType: hard - -"eth-block-tracker@npm:^7.1.0": - version: 7.1.0 - resolution: "eth-block-tracker@npm:7.1.0" - dependencies: - "@metamask/eth-json-rpc-provider": "npm:^1.0.0" - "@metamask/safe-event-emitter": "npm:^3.0.0" - "@metamask/utils": "npm:^5.0.1" - json-rpc-random-id: "npm:^1.0.1" - pify: "npm:^3.0.0" - checksum: 86a5cabef7fa8505c27b5fad1b2f0100c21fda11ad64a701f76eb4224f8c7edab706181fd0934e106a71f5465d57278448af401eb3e584b3529d943ddd4d7dfb - languageName: node - linkType: hard - -"eth-json-rpc-filters@npm:^6.0.0": - version: 6.0.1 - resolution: "eth-json-rpc-filters@npm:6.0.1" - dependencies: - "@metamask/safe-event-emitter": "npm:^3.0.0" - async-mutex: "npm:^0.2.6" - eth-query: "npm:^2.1.2" - json-rpc-engine: "npm:^6.1.0" - pify: "npm:^5.0.0" - checksum: 69699460fd7837e13e42c1c74fbbfc44c01139ffd694e50235c78773c06059988be5c83dbe3a14d175ecc2bf3e385c4bfd3d6ab5d2d4714788b0b461465a3f56 - languageName: node - linkType: hard - -"eth-query@npm:^2.1.2": - version: 2.1.2 - resolution: "eth-query@npm:2.1.2" - dependencies: - json-rpc-random-id: "npm:^1.0.0" - xtend: "npm:^4.0.1" - checksum: ef28d14bfad14b8813c9ba8f9f0baf8778946a4797a222b8a039067222ac68aa3d9d53ed22a71c75b99240a693af1ed42508a99fd484cce2a7726822723346b7 - languageName: node - linkType: hard - -"eth-rpc-errors@npm:^4.0.2, eth-rpc-errors@npm:^4.0.3": - version: 4.0.3 - resolution: "eth-rpc-errors@npm:4.0.3" - dependencies: - fast-safe-stringify: "npm:^2.0.6" - checksum: 332cbc5a957b62bb66ea01da2a467da65026df47e6516a286a969cad74d6002f2b481335510c93f12ca29c46ebc8354e39e2240769d86184f9b4c30832cf5466 - languageName: node - linkType: hard - -"ethereum-cryptography@npm:^2.0.0": - version: 2.2.1 - resolution: "ethereum-cryptography@npm:2.2.1" - dependencies: - "@noble/curves": "npm:1.4.2" - "@noble/hashes": "npm:1.4.0" - "@scure/bip32": "npm:1.4.0" - "@scure/bip39": "npm:1.3.0" - checksum: c6c7626d393980577b57f709878b2eb91f270fe56116044b1d7afb70d5c519cddc0c072e8c05e4a335e05342eb64d9c3ab39d52f78bb75f76ad70817da9645ef - languageName: node - linkType: hard - -"event-target-shim@npm:^5.0.0": - version: 5.0.1 - resolution: "event-target-shim@npm:5.0.1" - checksum: 0255d9f936215fd206156fd4caa9e8d35e62075d720dc7d847e89b417e5e62cf1ce6c9b4e0a1633a9256de0efefaf9f8d26924b1f3c8620cffb9db78e7d3076b - languageName: node - linkType: hard - -"eventemitter2@npm:^6.4.7": - version: 6.4.9 - resolution: "eventemitter2@npm:6.4.9" - checksum: b2adf7d9f1544aa2d95ee271b0621acaf1e309d85ebcef1244fb0ebc7ab0afa6ffd5e371535d0981bc46195ad67fd6ff57a8d1db030584dee69aa5e371a27ea7 - languageName: node - linkType: hard - -"eventemitter3@npm:5.0.1, eventemitter3@npm:^5.0.1": - version: 5.0.1 - resolution: "eventemitter3@npm:5.0.1" - checksum: 4ba5c00c506e6c786b4d6262cfbce90ddc14c10d4667e5c83ae993c9de88aa856033994dd2b35b83e8dc1170e224e66a319fa80adc4c32adcd2379bbc75da814 - languageName: node - linkType: hard - -"events@npm:3.3.0, events@npm:^3.3.0": - version: 3.3.0 - resolution: "events@npm:3.3.0" - checksum: d6b6f2adbccbcda74ddbab52ed07db727ef52e31a61ed26db9feb7dc62af7fc8e060defa65e5f8af9449b86b52cc1a1f6a79f2eafcf4e62add2b7a1fa4a432f6 - languageName: node - linkType: hard - -"execa@npm:^5.0.0": - version: 5.1.1 - resolution: "execa@npm:5.1.1" - dependencies: - cross-spawn: "npm:^7.0.3" - get-stream: "npm:^6.0.0" - human-signals: "npm:^2.1.0" - is-stream: "npm:^2.0.0" - merge-stream: "npm:^2.0.0" - npm-run-path: "npm:^4.0.1" - onetime: "npm:^5.1.2" - signal-exit: "npm:^3.0.3" - strip-final-newline: "npm:^2.0.0" - checksum: c8e615235e8de4c5addf2fa4c3da3e3aa59ce975a3e83533b4f6a71750fb816a2e79610dc5f1799b6e28976c9ae86747a36a606655bf8cb414a74d8d507b304f - languageName: node - linkType: hard - -"execa@npm:^8.0.1": - version: 8.0.1 - resolution: "execa@npm:8.0.1" - dependencies: - cross-spawn: "npm:^7.0.3" - get-stream: "npm:^8.0.1" - human-signals: "npm:^5.0.0" - is-stream: "npm:^3.0.0" - merge-stream: "npm:^2.0.0" - npm-run-path: "npm:^5.1.0" - onetime: "npm:^6.0.0" - signal-exit: "npm:^4.1.0" - strip-final-newline: "npm:^3.0.0" - checksum: 2c52d8775f5bf103ce8eec9c7ab3059909ba350a5164744e9947ed14a53f51687c040a250bda833f906d1283aa8803975b84e6c8f7a7c42f99dc8ef80250d1af - languageName: node - linkType: hard - -"exit@npm:^0.1.2": - version: 0.1.2 - resolution: "exit@npm:0.1.2" - checksum: 71d2ad9b36bc25bb8b104b17e830b40a08989be7f7d100b13269aaae7c3784c3e6e1e88a797e9e87523993a25ba27c8958959a554535370672cfb4d824af8989 - languageName: node - linkType: hard - -"expect@npm:^29.7.0": - version: 29.7.0 - resolution: "expect@npm:29.7.0" - dependencies: - "@jest/expect-utils": "npm:^29.7.0" - jest-get-type: "npm:^29.6.3" - jest-matcher-utils: "npm:^29.7.0" - jest-message-util: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - checksum: 2eddeace66e68b8d8ee5f7be57f3014b19770caaf6815c7a08d131821da527fb8c8cb7b3dcd7c883d2d3d8d184206a4268984618032d1e4b16dc8d6596475d41 - languageName: node - linkType: hard - -"exponential-backoff@npm:^3.1.1": - version: 3.1.1 - resolution: "exponential-backoff@npm:3.1.1" - checksum: 160456d2d647e6019640bd07111634d8c353038d9fa40176afb7cd49b0548bdae83b56d05e907c2cce2300b81cae35d800ef92fefb9d0208e190fa3b7d6bb579 - languageName: node - linkType: hard - -"extension-port-stream@npm:^3.0.0": - version: 3.0.0 - resolution: "extension-port-stream@npm:3.0.0" - dependencies: - readable-stream: "npm:^3.6.2 || ^4.4.2" - webextension-polyfill: "npm:>=0.10.0 <1.0" - checksum: 5645ba63b8e77996b75a5aae5a37d169fef13b65d575fa72b0cf9199c7ecd46df7ef76fbf7d6384b375544e48eb2c8912b62200320ed2a5ef9526a00fcc148d9 - languageName: node - linkType: hard - -"fast-deep-equal@npm:^3.1.1, fast-deep-equal@npm:^3.1.3": - version: 3.1.3 - resolution: "fast-deep-equal@npm:3.1.3" - checksum: 40dedc862eb8992c54579c66d914635afbec43350afbbe991235fdcb4e3a8d5af1b23ae7e79bef7d4882d0ecee06c3197488026998fb19f72dc95acff1d1b1d0 - languageName: node - linkType: hard - -"fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.0, fast-glob@npm:^3.3.1": - version: 3.3.2 - resolution: "fast-glob@npm:3.3.2" - dependencies: - "@nodelib/fs.stat": "npm:^2.0.2" - "@nodelib/fs.walk": "npm:^1.2.3" - glob-parent: "npm:^5.1.2" - merge2: "npm:^1.3.0" - micromatch: "npm:^4.0.4" - checksum: 42baad7b9cd40b63e42039132bde27ca2cb3a4950d0a0f9abe4639ea1aa9d3e3b40f98b1fe31cbc0cc17b664c9ea7447d911a152fa34ec5b72977b125a6fc845 - languageName: node - linkType: hard - -"fast-json-stable-stringify@npm:^2.0.0, fast-json-stable-stringify@npm:^2.1.0": - version: 2.1.0 - resolution: "fast-json-stable-stringify@npm:2.1.0" - checksum: 7f081eb0b8a64e0057b3bb03f974b3ef00135fbf36c1c710895cd9300f13c94ba809bb3a81cf4e1b03f6e5285610a61abbd7602d0652de423144dfee5a389c9b - languageName: node - linkType: hard - -"fast-levenshtein@npm:^2.0.6": - version: 2.0.6 - resolution: "fast-levenshtein@npm:2.0.6" - checksum: 111972b37338bcb88f7d9e2c5907862c280ebf4234433b95bc611e518d192ccb2d38119c4ac86e26b668d75f7f3894f4ff5c4982899afced7ca78633b08287c4 - languageName: node - linkType: hard - -"fast-redact@npm:^3.0.0": - version: 3.5.0 - resolution: "fast-redact@npm:3.5.0" - checksum: 7e2ce4aad6e7535e0775bf12bd3e4f2e53d8051d8b630e0fa9e67f68cb0b0e6070d2f7a94b1d0522ef07e32f7c7cda5755e2b677a6538f1e9070ca053c42343a - languageName: node - linkType: hard - -"fast-safe-stringify@npm:^2.0.6": - version: 2.1.1 - resolution: "fast-safe-stringify@npm:2.1.1" - checksum: d90ec1c963394919828872f21edaa3ad6f1dddd288d2bd4e977027afff09f5db40f94e39536d4646f7e01761d704d72d51dce5af1b93717f3489ef808f5f4e4d - languageName: node - linkType: hard - -"fastq@npm:^1.6.0": - version: 1.17.1 - resolution: "fastq@npm:1.17.1" - dependencies: - reusify: "npm:^1.0.4" - checksum: 1095f16cea45fb3beff558bb3afa74ca7a9250f5a670b65db7ed585f92b4b48381445cd328b3d87323da81e43232b5d5978a8201bde84e0cd514310f1ea6da34 - languageName: node - linkType: hard - -"fb-watchman@npm:^2.0.0": - version: 2.0.2 - resolution: "fb-watchman@npm:2.0.2" - dependencies: - bser: "npm:2.1.1" - checksum: feae89ac148adb8f6ae8ccd87632e62b13563e6fb114cacb5265c51f585b17e2e268084519fb2edd133872f1d47a18e6bfd7e5e08625c0d41b93149694187581 - languageName: node - linkType: hard - -"file-entry-cache@npm:^6.0.1": - version: 6.0.1 - resolution: "file-entry-cache@npm:6.0.1" - dependencies: - flat-cache: "npm:^3.0.4" - checksum: 58473e8a82794d01b38e5e435f6feaf648e3f36fdb3a56e98f417f4efae71ad1c0d4ebd8a9a7c50c3ad085820a93fc7494ad721e0e4ebc1da3573f4e1c3c7cdd - languageName: node - linkType: hard - -"fill-range@npm:^7.1.1": - version: 7.1.1 - resolution: "fill-range@npm:7.1.1" - dependencies: - to-regex-range: "npm:^5.0.1" - checksum: b75b691bbe065472f38824f694c2f7449d7f5004aa950426a2c28f0306c60db9b880c0b0e4ed819997ffb882d1da02cfcfc819bddc94d71627f5269682edf018 - languageName: node - linkType: hard - -"filter-obj@npm:^1.1.0": - version: 1.1.0 - resolution: "filter-obj@npm:1.1.0" - checksum: 071e0886b2b50238ca5026c5bbf58c26a7c1a1f720773b8c7813d16ba93d0200de977af14ac143c5ac18f666b2cfc83073f3a5fe6a4e996c49e0863d5500fccf - languageName: node - linkType: hard - -"find-up@npm:^4.0.0, find-up@npm:^4.1.0": - version: 4.1.0 - resolution: "find-up@npm:4.1.0" - dependencies: - locate-path: "npm:^5.0.0" - path-exists: "npm:^4.0.0" - checksum: 0406ee89ebeefa2d507feb07ec366bebd8a6167ae74aa4e34fb4c4abd06cf782a3ce26ae4194d70706f72182841733f00551c209fe575cb00bd92104056e78c1 - languageName: node - linkType: hard - -"find-up@npm:^5.0.0": - version: 5.0.0 - resolution: "find-up@npm:5.0.0" - dependencies: - locate-path: "npm:^6.0.0" - path-exists: "npm:^4.0.0" - checksum: 062c5a83a9c02f53cdd6d175a37ecf8f87ea5bbff1fdfb828f04bfa021441bc7583e8ebc0872a4c1baab96221fb8a8a275a19809fb93fbc40bd69ec35634069a - languageName: node - linkType: hard - -"flat-cache@npm:^3.0.4": - version: 3.2.0 - resolution: "flat-cache@npm:3.2.0" - dependencies: - flatted: "npm:^3.2.9" - keyv: "npm:^4.5.3" - rimraf: "npm:^3.0.2" - checksum: b76f611bd5f5d68f7ae632e3ae503e678d205cf97a17c6ab5b12f6ca61188b5f1f7464503efae6dc18683ed8f0b41460beb48ac4b9ac63fe6201296a91ba2f75 - languageName: node - linkType: hard - -"flatted@npm:^3.2.9": - version: 3.2.9 - resolution: "flatted@npm:3.2.9" - checksum: 5c91c5a0a21bbc0b07b272231e5b4efe6b822bcb4ad317caf6bb06984be4042a9e9045026307da0fdb4583f1f545e317a67ef1231a59e71f7fced3cc429cfc53 - languageName: node - linkType: hard - -"for-each@npm:^0.3.3": - version: 0.3.3 - resolution: "for-each@npm:0.3.3" - dependencies: - is-callable: "npm:^1.1.3" - checksum: 22330d8a2db728dbf003ec9182c2d421fbcd2969b02b4f97ec288721cda63eb28f2c08585ddccd0f77cb2930af8d958005c9e72f47141dc51816127a118f39aa - languageName: node - linkType: hard - -"foreground-child@npm:^3.1.0": - version: 3.1.1 - resolution: "foreground-child@npm:3.1.1" - dependencies: - cross-spawn: "npm:^7.0.0" - signal-exit: "npm:^4.0.1" - checksum: 9700a0285628abaeb37007c9a4d92bd49f67210f09067638774338e146c8e9c825c5c877f072b2f75f41dc6a2d0be8664f79ffc03f6576649f54a84fb9b47de0 - languageName: node - linkType: hard - -"form-data@npm:^4.0.0": - version: 4.0.0 - resolution: "form-data@npm:4.0.0" - dependencies: - asynckit: "npm:^0.4.0" - combined-stream: "npm:^1.0.8" - mime-types: "npm:^2.1.12" - checksum: cb6f3ac49180be03ff07ba3ff125f9eba2ff0b277fb33c7fc47569fc5e616882c5b1c69b9904c4c4187e97dd0419dd03b134174756f296dec62041e6527e2c6e - languageName: node - linkType: hard - -"fraction.js@npm:^4.3.7": - version: 4.3.7 - resolution: "fraction.js@npm:4.3.7" - checksum: df291391beea9ab4c263487ffd9d17fed162dbb736982dee1379b2a8cc94e4e24e46ed508c6d278aded9080ba51872f1bc5f3a5fd8d7c74e5f105b508ac28711 - languageName: node - linkType: hard - -"framegear@workspace:.": - version: 0.0.0-use.local - resolution: "framegear@workspace:." - dependencies: - "@coinbase/onchainkit": "npm:^0.29.1" - "@radix-ui/react-icons": "npm:^1.3.0" - "@testing-library/jest-dom": "npm:^6.4.2" - "@testing-library/react": "npm:^14.2.1" - "@types/node": "npm:^20" - "@types/react": "npm:^18" - "@types/react-dom": "npm:^18" - autoprefixer: "npm:^10.0.1" - clsx: "npm:^2.1.1" - eslint: "npm:^8" - eslint-config-next: "npm:14.1.0" - jest: "npm:^29.7.0" - jest-environment-jsdom: "npm:^29.7.0" - jotai: "npm:^2.6.4" - next: "npm:14.2.10" - postcss: "npm:^8" - react: "npm:^18" - react-dom: "npm:^18" - tailwindcss: "npm:^3.3.0" - tar: "npm:^7.0.0" - ts-node: "npm:^10.9.2" - typescript: "npm:^5" - yup: "npm:^1.3.3" - languageName: unknown - linkType: soft - -"fs-minipass@npm:^2.0.0": - version: 2.1.0 - resolution: "fs-minipass@npm:2.1.0" - dependencies: - minipass: "npm:^3.0.0" - checksum: 703d16522b8282d7299337539c3ed6edddd1afe82435e4f5b76e34a79cd74e488a8a0e26a636afc2440e1a23b03878e2122e3a2cfe375a5cf63c37d92b86a004 - languageName: node - linkType: hard - -"fs-minipass@npm:^3.0.0": - version: 3.0.3 - resolution: "fs-minipass@npm:3.0.3" - dependencies: - minipass: "npm:^7.0.3" - checksum: 63e80da2ff9b621e2cb1596abcb9207f1cf82b968b116ccd7b959e3323144cce7fb141462200971c38bbf2ecca51695069db45265705bed09a7cd93ae5b89f94 - languageName: node - linkType: hard - -"fs.realpath@npm:^1.0.0": - version: 1.0.0 - resolution: "fs.realpath@npm:1.0.0" - checksum: 444cf1291d997165dfd4c0d58b69f0e4782bfd9149fd72faa4fe299e68e0e93d6db941660b37dd29153bf7186672ececa3b50b7e7249477b03fdf850f287c948 - languageName: node - linkType: hard - -"fsevents@npm:^2.3.2, fsevents@npm:~2.3.2": - version: 2.3.3 - resolution: "fsevents@npm:2.3.3" - dependencies: - node-gyp: "npm:latest" - checksum: a1f0c44595123ed717febbc478aa952e47adfc28e2092be66b8ab1635147254ca6cfe1df792a8997f22716d4cbafc73309899ff7bfac2ac3ad8cf2e4ecc3ec60 - conditions: os=darwin - languageName: node - linkType: hard - -"fsevents@patch:fsevents@npm%3A^2.3.2#optional!builtin, fsevents@patch:fsevents@npm%3A~2.3.2#optional!builtin": - version: 2.3.3 - resolution: "fsevents@patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1" - dependencies: - node-gyp: "npm:latest" - conditions: os=darwin - languageName: node - linkType: hard - -"function-bind@npm:^1.1.2": - version: 1.1.2 - resolution: "function-bind@npm:1.1.2" - checksum: d8680ee1e5fcd4c197e4ac33b2b4dce03c71f4d91717292785703db200f5c21f977c568d28061226f9b5900cbcd2c84463646134fd5337e7925e0942bc3f46d5 - languageName: node - linkType: hard - -"function.prototype.name@npm:^1.1.5, function.prototype.name@npm:^1.1.6": - version: 1.1.6 - resolution: "function.prototype.name@npm:1.1.6" - dependencies: - call-bind: "npm:^1.0.2" - define-properties: "npm:^1.2.0" - es-abstract: "npm:^1.22.1" - functions-have-names: "npm:^1.2.3" - checksum: 9eae11294905b62cb16874adb4fc687927cda3162285e0ad9612e6a1d04934005d46907362ea9cdb7428edce05a2f2c3dabc3b2d21e9fd343e9bb278230ad94b - languageName: node - linkType: hard - -"functions-have-names@npm:^1.2.3": - version: 1.2.3 - resolution: "functions-have-names@npm:1.2.3" - checksum: 33e77fd29bddc2d9bb78ab3eb854c165909201f88c75faa8272e35899e2d35a8a642a15e7420ef945e1f64a9670d6aa3ec744106b2aa42be68ca5114025954ca - languageName: node - linkType: hard - -"futoin-hkdf@npm:^1.5.3": - version: 1.5.3 - resolution: "futoin-hkdf@npm:1.5.3" - checksum: fe87b50d2ac125ca2074e92588ca1df5016e9657267363cb77d8287080639dc31f90e7740f4737aa054c3e687b2ab3456f9b5c55950b94cd2c2010bc441aa5ae - languageName: node - linkType: hard - -"gensync@npm:^1.0.0-beta.2": - version: 1.0.0-beta.2 - resolution: "gensync@npm:1.0.0-beta.2" - checksum: 782aba6cba65b1bb5af3b095d96249d20edbe8df32dbf4696fd49be2583faf676173bf4809386588828e4dd76a3354fcbeb577bab1c833ccd9fc4577f26103f8 - languageName: node - linkType: hard - -"get-caller-file@npm:^2.0.1, get-caller-file@npm:^2.0.5": - version: 2.0.5 - resolution: "get-caller-file@npm:2.0.5" - checksum: c6c7b60271931fa752aeb92f2b47e355eac1af3a2673f47c9589e8f8a41adc74d45551c1bc57b5e66a80609f10ffb72b6f575e4370d61cc3f7f3aaff01757cde - languageName: node - linkType: hard - -"get-intrinsic@npm:^1.1.1, get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.1, get-intrinsic@npm:^1.2.2, get-intrinsic@npm:^1.2.3, get-intrinsic@npm:^1.2.4": - version: 1.2.4 - resolution: "get-intrinsic@npm:1.2.4" - dependencies: - es-errors: "npm:^1.3.0" - function-bind: "npm:^1.1.2" - has-proto: "npm:^1.0.1" - has-symbols: "npm:^1.0.3" - hasown: "npm:^2.0.0" - checksum: 0a9b82c16696ed6da5e39b1267104475c47e3a9bdbe8b509dfe1710946e38a87be70d759f4bb3cda042d76a41ef47fe769660f3b7c0d1f68750299344ffb15b7 - languageName: node - linkType: hard - -"get-nonce@npm:^1.0.0": - version: 1.0.1 - resolution: "get-nonce@npm:1.0.1" - checksum: 2d7df55279060bf0568549e1ffc9b84bc32a32b7541675ca092dce56317cdd1a59a98dcc4072c9f6a980779440139a3221d7486f52c488e69dc0fd27b1efb162 - languageName: node - linkType: hard - -"get-package-type@npm:^0.1.0": - version: 0.1.0 - resolution: "get-package-type@npm:0.1.0" - checksum: e34cdf447fdf1902a1f6d5af737eaadf606d2ee3518287abde8910e04159368c268568174b2e71102b87b26c2020486f126bfca9c4fb1ceb986ff99b52ecd1be - languageName: node - linkType: hard - -"get-port-please@npm:^3.1.2": - version: 3.1.2 - resolution: "get-port-please@npm:3.1.2" - checksum: 61237342fe035967e5ad1b67a2dee347a64de093bf1222b7cd50072568d73c48dad5cc5cd4fa44635b7cfdcd14d6c47554edb9891c2ec70ab33ecb831683e257 - languageName: node - linkType: hard - -"get-stream@npm:^6.0.0": - version: 6.0.1 - resolution: "get-stream@npm:6.0.1" - checksum: 49825d57d3fd6964228e6200a58169464b8e8970489b3acdc24906c782fb7f01f9f56f8e6653c4a50713771d6658f7cfe051e5eb8c12e334138c9c918b296341 - languageName: node - linkType: hard - -"get-stream@npm:^8.0.1": - version: 8.0.1 - resolution: "get-stream@npm:8.0.1" - checksum: 5c2181e98202b9dae0bb4a849979291043e5892eb40312b47f0c22b9414fc9b28a3b6063d2375705eb24abc41ecf97894d9a51f64ff021511b504477b27b4290 - languageName: node - linkType: hard - -"get-symbol-description@npm:^1.0.2": - version: 1.0.2 - resolution: "get-symbol-description@npm:1.0.2" - dependencies: - call-bind: "npm:^1.0.5" - es-errors: "npm:^1.3.0" - get-intrinsic: "npm:^1.2.4" - checksum: 867be6d63f5e0eb026cb3b0ef695ec9ecf9310febb041072d2e142f260bd91ced9eeb426b3af98791d1064e324e653424afa6fd1af17dee373bea48ae03162bc - languageName: node - linkType: hard - -"get-tsconfig@npm:^4.5.0": - version: 4.7.2 - resolution: "get-tsconfig@npm:4.7.2" - dependencies: - resolve-pkg-maps: "npm:^1.0.0" - checksum: 169b2beababfbb16e8a0ae813ee59d3e14d4960231c816615161ab5be68ec07a394dce59695742ac84295e2efab8d9e89bcf3abaf5e253dfbec3496e01bb9a65 - languageName: node - linkType: hard - -"glob-parent@npm:^5.1.2, glob-parent@npm:~5.1.2": - version: 5.1.2 - resolution: "glob-parent@npm:5.1.2" - dependencies: - is-glob: "npm:^4.0.1" - checksum: cab87638e2112bee3f839ef5f6e0765057163d39c66be8ec1602f3823da4692297ad4e972de876ea17c44d652978638d2fd583c6713d0eb6591706825020c9ee - languageName: node - linkType: hard - -"glob-parent@npm:^6.0.2": - version: 6.0.2 - resolution: "glob-parent@npm:6.0.2" - dependencies: - is-glob: "npm:^4.0.3" - checksum: 317034d88654730230b3f43bb7ad4f7c90257a426e872ea0bf157473ac61c99bf5d205fad8f0185f989be8d2fa6d3c7dce1645d99d545b6ea9089c39f838e7f8 - languageName: node - linkType: hard - -"glob@npm:10.3.10, glob@npm:^10.2.2, glob@npm:^10.3.10": - version: 10.3.10 - resolution: "glob@npm:10.3.10" - dependencies: - foreground-child: "npm:^3.1.0" - jackspeak: "npm:^2.3.5" - minimatch: "npm:^9.0.1" - minipass: "npm:^5.0.0 || ^6.0.2 || ^7.0.0" - path-scurry: "npm:^1.10.1" - bin: - glob: dist/esm/bin.mjs - checksum: 13d8a1feb7eac7945f8c8480e11cd4a44b24d26503d99a8d8ac8d5aefbf3e9802a2b6087318a829fad04cb4e829f25c5f4f1110c68966c498720dd261c7e344d - languageName: node - linkType: hard - -"glob@npm:^10.3.7": - version: 10.3.12 - resolution: "glob@npm:10.3.12" - dependencies: - foreground-child: "npm:^3.1.0" - jackspeak: "npm:^2.3.6" - minimatch: "npm:^9.0.1" - minipass: "npm:^7.0.4" - path-scurry: "npm:^1.10.2" - bin: - glob: dist/esm/bin.mjs - checksum: f60cefdc1cf3f958b2bb5823e1b233727f04916d489dc4641d76914f016e6704421e06a83cbb68b0cb1cb9382298b7a88075b844ad2127fc9727ea22b18b0711 - languageName: node - linkType: hard - -"glob@npm:^7.1.3, glob@npm:^7.1.4": - version: 7.2.3 - resolution: "glob@npm:7.2.3" - dependencies: - fs.realpath: "npm:^1.0.0" - inflight: "npm:^1.0.4" - inherits: "npm:2" - minimatch: "npm:^3.1.1" - once: "npm:^1.3.0" - path-is-absolute: "npm:^1.0.0" - checksum: 65676153e2b0c9095100fe7f25a778bf45608eeb32c6048cf307f579649bcc30353277b3b898a3792602c65764e5baa4f643714dfbdfd64ea271d210c7a425fe - languageName: node - linkType: hard - -"globals@npm:^11.1.0": - version: 11.12.0 - resolution: "globals@npm:11.12.0" - checksum: 758f9f258e7b19226bd8d4af5d3b0dcf7038780fb23d82e6f98932c44e239f884847f1766e8fa9cc5635ccb3204f7fa7314d4408dd4002a5e8ea827b4018f0a1 - languageName: node - linkType: hard - -"globals@npm:^13.19.0": - version: 13.24.0 - resolution: "globals@npm:13.24.0" - dependencies: - type-fest: "npm:^0.20.2" - checksum: d3c11aeea898eb83d5ec7a99508600fbe8f83d2cf00cbb77f873dbf2bcb39428eff1b538e4915c993d8a3b3473fa71eeebfe22c9bb3a3003d1e26b1f2c8a42cd - languageName: node - linkType: hard - -"globalthis@npm:^1.0.3": - version: 1.0.3 - resolution: "globalthis@npm:1.0.3" - dependencies: - define-properties: "npm:^1.1.3" - checksum: 0db6e9af102a5254630351557ac15e6909bc7459d3e3f6b001e59fe784c96d31108818f032d9095739355a88467459e6488ff16584ee6250cd8c27dec05af4b0 - languageName: node - linkType: hard - -"globby@npm:^11.1.0": - version: 11.1.0 - resolution: "globby@npm:11.1.0" - dependencies: - array-union: "npm:^2.1.0" - dir-glob: "npm:^3.0.1" - fast-glob: "npm:^3.2.9" - ignore: "npm:^5.2.0" - merge2: "npm:^1.4.1" - slash: "npm:^3.0.0" - checksum: b39511b4afe4bd8a7aead3a27c4ade2b9968649abab0a6c28b1a90141b96ca68ca5db1302f7c7bd29eab66bf51e13916b8e0a3d0ac08f75e1e84a39b35691189 - languageName: node - linkType: hard - -"gopd@npm:^1.0.1": - version: 1.0.1 - resolution: "gopd@npm:1.0.1" - dependencies: - get-intrinsic: "npm:^1.1.3" - checksum: 505c05487f7944c552cee72087bf1567debb470d4355b1335f2c262d218ebbff805cd3715448fe29b4b380bae6912561d0467233e4165830efd28da241418c63 - languageName: node - linkType: hard - -"graceful-fs@npm:^4.2.11, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": - version: 4.2.11 - resolution: "graceful-fs@npm:4.2.11" - checksum: 386d011a553e02bc594ac2ca0bd6d9e4c22d7fa8cfbfc448a6d148c59ea881b092db9dbe3547ae4b88e55f1b01f7c4a2ecc53b310c042793e63aa44cf6c257f2 - languageName: node - linkType: hard - -"graphemer@npm:^1.4.0": - version: 1.4.0 - resolution: "graphemer@npm:1.4.0" - checksum: e951259d8cd2e0d196c72ec711add7115d42eb9a8146c8eeda5b8d3ac91e5dd816b9cd68920726d9fd4490368e7ed86e9c423f40db87e2d8dfafa00fa17c3a31 - languageName: node - linkType: hard - -"graphql-request@npm:^6.1.0": - version: 6.1.0 - resolution: "graphql-request@npm:6.1.0" - dependencies: - "@graphql-typed-document-node/core": "npm:^3.2.0" - cross-fetch: "npm:^3.1.5" - peerDependencies: - graphql: 14 - 16 - checksum: f8167925a110e8e1de93d56c14245e7e64391dc8dce5002dd01bf24a3059f345d4ca1bb6ce2040e2ec78264211b0704e75da3e63984f0f74d2042f697a4e8cc6 - languageName: node - linkType: hard - -"graphql@npm:^14 || ^15 || ^16": - version: 16.9.0 - resolution: "graphql@npm:16.9.0" - checksum: a8850f077ff767377237d1f8b1da2ec70aeb7623cdf1dfc9e1c7ae93accc0c8149c85abe68923be9871a2934b1bce5a2496f846d4d56e1cfb03eaaa7ddba9b6a - languageName: node - linkType: hard - -"h3@npm:^1.10.2, h3@npm:^1.11.1": - version: 1.12.0 - resolution: "h3@npm:1.12.0" - dependencies: - cookie-es: "npm:^1.1.0" - crossws: "npm:^0.2.4" - defu: "npm:^6.1.4" - destr: "npm:^2.0.3" - iron-webcrypto: "npm:^1.1.1" - ohash: "npm:^1.1.3" - radix3: "npm:^1.1.2" - ufo: "npm:^1.5.3" - uncrypto: "npm:^0.1.3" - unenv: "npm:^1.9.0" - checksum: 21ac3ee2451e96a74d6a4ec3a6e589c4725590dc4e675816436ae9d041556fc1b64052ba3775a48912f4ae98977031e1be4c57ac8a80bb4297117506b6ec7a6f - languageName: node - linkType: hard - -"has-bigints@npm:^1.0.1, has-bigints@npm:^1.0.2": - version: 1.0.2 - resolution: "has-bigints@npm:1.0.2" - checksum: 724eb1485bfa3cdff6f18d95130aa190561f00b3fcf9f19dc640baf8176b5917c143b81ec2123f8cddb6c05164a198c94b13e1377c497705ccc8e1a80306e83b - languageName: node - linkType: hard - -"has-flag@npm:^3.0.0": - version: 3.0.0 - resolution: "has-flag@npm:3.0.0" - checksum: 1c6c83b14b8b1b3c25b0727b8ba3e3b647f99e9e6e13eb7322107261de07a4c1be56fc0d45678fc376e09772a3a1642ccdaf8fc69bdf123b6c086598397ce473 - languageName: node - linkType: hard - -"has-flag@npm:^4.0.0": - version: 4.0.0 - resolution: "has-flag@npm:4.0.0" - checksum: 2e789c61b7888d66993e14e8331449e525ef42aac53c627cc53d1c3334e768bcb6abdc4f5f0de1478a25beec6f0bd62c7549058b7ac53e924040d4f301f02fd1 - languageName: node - linkType: hard - -"has-property-descriptors@npm:^1.0.0, has-property-descriptors@npm:^1.0.1, has-property-descriptors@npm:^1.0.2": - version: 1.0.2 - resolution: "has-property-descriptors@npm:1.0.2" - dependencies: - es-define-property: "npm:^1.0.0" - checksum: 253c1f59e80bb476cf0dde8ff5284505d90c3bdb762983c3514d36414290475fe3fd6f574929d84de2a8eec00d35cf07cb6776205ff32efd7c50719125f00236 - languageName: node - linkType: hard - -"has-proto@npm:^1.0.1": - version: 1.0.1 - resolution: "has-proto@npm:1.0.1" - checksum: c8a8fe411f810b23a564bd5546a8f3f0fff6f1b692740eb7a2fdc9df716ef870040806891e2f23ff4653f1083e3895bf12088703dd1a0eac3d9202d3a4768cd0 - languageName: node - linkType: hard - -"has-symbols@npm:^1.0.2, has-symbols@npm:^1.0.3": - version: 1.0.3 - resolution: "has-symbols@npm:1.0.3" - checksum: e6922b4345a3f37069cdfe8600febbca791c94988c01af3394d86ca3360b4b93928bbf395859158f88099cb10b19d98e3bbab7c9ff2c1bd09cf665ee90afa2c3 - languageName: node - linkType: hard - -"has-tostringtag@npm:^1.0.0, has-tostringtag@npm:^1.0.1, has-tostringtag@npm:^1.0.2": - version: 1.0.2 - resolution: "has-tostringtag@npm:1.0.2" - dependencies: - has-symbols: "npm:^1.0.3" - checksum: a8b166462192bafe3d9b6e420a1d581d93dd867adb61be223a17a8d6dad147aa77a8be32c961bb2f27b3ef893cae8d36f564ab651f5e9b7938ae86f74027c48c - languageName: node - linkType: hard - -"hash.js@npm:^1.0.0, hash.js@npm:^1.0.3": - version: 1.1.7 - resolution: "hash.js@npm:1.1.7" - dependencies: - inherits: "npm:^2.0.3" - minimalistic-assert: "npm:^1.0.1" - checksum: 41ada59494eac5332cfc1ce6b7ebdd7b88a3864a6d6b08a3ea8ef261332ed60f37f10877e0c825aaa4bddebf164fbffa618286aeeec5296675e2671cbfa746c4 - languageName: node - linkType: hard - -"hasown@npm:^2.0.0, hasown@npm:^2.0.1": - version: 2.0.1 - resolution: "hasown@npm:2.0.1" - dependencies: - function-bind: "npm:^1.1.2" - checksum: 9e27e70e8e4204f4124c8f99950d1ba2b1f5174864fd39ff26da190f9ea6488c1b3927dcc64981c26d1f637a971783c9489d62c829d393ea509e6f1ba20370bb - languageName: node - linkType: hard - -"hey-listen@npm:^1.0.8": - version: 1.0.8 - resolution: "hey-listen@npm:1.0.8" - checksum: 38db3028b4756f3d536c0f6a92da53bad577ab649b06dddfd0a4d953f9a46bbc6a7f693c8c5b466a538d6d23dbc469260c848427f0de14198a2bbecbac37b39e - languageName: node - linkType: hard - -"hmac-drbg@npm:^1.0.1": - version: 1.0.1 - resolution: "hmac-drbg@npm:1.0.1" - dependencies: - hash.js: "npm:^1.0.3" - minimalistic-assert: "npm:^1.0.0" - minimalistic-crypto-utils: "npm:^1.0.1" - checksum: f3d9ba31b40257a573f162176ac5930109816036c59a09f901eb2ffd7e5e705c6832bedfff507957125f2086a0ab8f853c0df225642a88bf1fcaea945f20600d - languageName: node - linkType: hard - -"html-encoding-sniffer@npm:^3.0.0": - version: 3.0.0 - resolution: "html-encoding-sniffer@npm:3.0.0" - dependencies: - whatwg-encoding: "npm:^2.0.0" - checksum: b17b3b0fb5d061d8eb15121c3b0b536376c3e295ecaf09ba48dd69c6b6c957839db124fe1e2b3f11329753a4ee01aa7dedf63b7677999e86da17fbbdd82c5386 - languageName: node - linkType: hard - -"html-escaper@npm:^2.0.0": - version: 2.0.2 - resolution: "html-escaper@npm:2.0.2" - checksum: 208e8a12de1a6569edbb14544f4567e6ce8ecc30b9394fcaa4e7bb1e60c12a7c9a1ed27e31290817157e8626f3a4f29e76c8747030822eb84a6abb15c255f0a0 - languageName: node - linkType: hard - -"http-cache-semantics@npm:^4.1.1": - version: 4.1.1 - resolution: "http-cache-semantics@npm:4.1.1" - checksum: ce1319b8a382eb3cbb4a37c19f6bfe14e5bb5be3d09079e885e8c513ab2d3cd9214902f8a31c9dc4e37022633ceabfc2d697405deeaf1b8f3552bb4ed996fdfc - languageName: node - linkType: hard - -"http-proxy-agent@npm:^5.0.0": - version: 5.0.0 - resolution: "http-proxy-agent@npm:5.0.0" - dependencies: - "@tootallnate/once": "npm:2" - agent-base: "npm:6" - debug: "npm:4" - checksum: 32a05e413430b2c1e542e5c74b38a9f14865301dd69dff2e53ddb684989440e3d2ce0c4b64d25eb63cf6283e6265ff979a61cf93e3ca3d23047ddfdc8df34a32 - languageName: node - linkType: hard - -"http-proxy-agent@npm:^7.0.0": - version: 7.0.2 - resolution: "http-proxy-agent@npm:7.0.2" - dependencies: - agent-base: "npm:^7.1.0" - debug: "npm:^4.3.4" - checksum: 4207b06a4580fb85dd6dff521f0abf6db517489e70863dca1a0291daa7f2d3d2d6015a57bd702af068ea5cf9f1f6ff72314f5f5b4228d299c0904135d2aef921 - languageName: node - linkType: hard - -"http-shutdown@npm:^1.2.2": - version: 1.2.2 - resolution: "http-shutdown@npm:1.2.2" - checksum: 1ea04d50d9a84ad6e7d9ee621160ce9515936e32e7f5ba445db48a5d72681858002c934c7f3ae5f474b301c1cd6b418aee3f6a2f109822109e606cc1a6c17c03 - languageName: node - linkType: hard - -"https-proxy-agent@npm:^5.0.1": - version: 5.0.1 - resolution: "https-proxy-agent@npm:5.0.1" - dependencies: - agent-base: "npm:6" - debug: "npm:4" - checksum: 6dd639f03434003577c62b27cafdb864784ef19b2de430d8ae2a1d45e31c4fd60719e5637b44db1a88a046934307da7089e03d6089ec3ddacc1189d8de8897d1 - languageName: node - linkType: hard - -"https-proxy-agent@npm:^7.0.1": - version: 7.0.4 - resolution: "https-proxy-agent@npm:7.0.4" - dependencies: - agent-base: "npm:^7.0.2" - debug: "npm:4" - checksum: bc4f7c38da32a5fc622450b6cb49a24ff596f9bd48dcedb52d2da3fa1c1a80e100fb506bd59b326c012f21c863c69b275c23de1a01d0b84db396822fdf25e52b - languageName: node - linkType: hard - -"human-signals@npm:^2.1.0": - version: 2.1.0 - resolution: "human-signals@npm:2.1.0" - checksum: 695edb3edfcfe9c8b52a76926cd31b36978782062c0ed9b1192b36bebc75c4c87c82e178dfcb0ed0fc27ca59d434198aac0bd0be18f5781ded775604db22304a - languageName: node - linkType: hard - -"human-signals@npm:^5.0.0": - version: 5.0.0 - resolution: "human-signals@npm:5.0.0" - checksum: 5a9359073fe17a8b58e5a085e9a39a950366d9f00217c4ff5878bd312e09d80f460536ea6a3f260b5943a01fe55c158d1cea3fc7bee3d0520aeef04f6d915c82 - languageName: node - linkType: hard - -"i18next-browser-languagedetector@npm:7.1.0": - version: 7.1.0 - resolution: "i18next-browser-languagedetector@npm:7.1.0" - dependencies: - "@babel/runtime": "npm:^7.19.4" - checksum: d7cd0ea0ad6047e786de665d67b41cbb0940a2983eb2c53dd85a5d71f88e170550bba8de45728470a2b5f88060bed2c79f330aff9806dd50ef58ade0ec7b8ca3 - languageName: node - linkType: hard - -"i18next@npm:23.11.5": - version: 23.11.5 - resolution: "i18next@npm:23.11.5" - dependencies: - "@babel/runtime": "npm:^7.23.2" - checksum: b0bec64250a3e529d4c51e2fc511406a85c5dde3d005d3aabe919551ca31dfc0a8f5490bf6e44649822e895a1fa91a58092d112367669cd11b2eb89e6ba90d1a - languageName: node - linkType: hard - -"iconv-lite@npm:0.6.3, iconv-lite@npm:^0.6.2": - version: 0.6.3 - resolution: "iconv-lite@npm:0.6.3" - dependencies: - safer-buffer: "npm:>= 2.1.2 < 3.0.0" - checksum: 98102bc66b33fcf5ac044099d1257ba0b7ad5e3ccd3221f34dd508ab4070edff183276221684e1e0555b145fce0850c9f7d2b60a9fcac50fbb4ea0d6e845a3b1 - languageName: node - linkType: hard - -"idb-keyval@npm:^6.2.1": - version: 6.2.1 - resolution: "idb-keyval@npm:6.2.1" - checksum: 9f0c83703a365e00bd0b4ed6380ce509a06dedfc6ec39b2ba5740085069fd2f2ff5c14ba19356488e3612a2f9c49985971982d836460a982a5d0b4019eeba48a - languageName: node - linkType: hard - -"ieee754@npm:^1.2.1": - version: 1.2.1 - resolution: "ieee754@npm:1.2.1" - checksum: b0782ef5e0935b9f12883a2e2aa37baa75da6e66ce6515c168697b42160807d9330de9a32ec1ed73149aea02e0d822e572bca6f1e22bdcbd2149e13b050b17bb - languageName: node - linkType: hard - -"ignore@npm:^5.2.0": - version: 5.3.1 - resolution: "ignore@npm:5.3.1" - checksum: 703f7f45ffb2a27fb2c5a8db0c32e7dee66b33a225d28e8db4e1be6474795f606686a6e3bcc50e1aa12f2042db4c9d4a7d60af3250511de74620fbed052ea4cd - languageName: node - linkType: hard - -"import-fresh@npm:^3.2.1": - version: 3.3.0 - resolution: "import-fresh@npm:3.3.0" - dependencies: - parent-module: "npm:^1.0.0" - resolve-from: "npm:^4.0.0" - checksum: 7f882953aa6b740d1f0e384d0547158bc86efbf2eea0f1483b8900a6f65c5a5123c2cf09b0d542cc419d0b98a759ecaeb394237e97ea427f2da221dc3cd80cc3 - languageName: node - linkType: hard - -"import-local@npm:^3.0.2": - version: 3.1.0 - resolution: "import-local@npm:3.1.0" - dependencies: - pkg-dir: "npm:^4.2.0" - resolve-cwd: "npm:^3.0.0" - bin: - import-local-fixture: fixtures/cli.js - checksum: c67ecea72f775fe8684ca3d057e54bdb2ae28c14bf261d2607c269c18ea0da7b730924c06262eca9aed4b8ab31e31d65bc60b50e7296c85908a56e2f7d41ecd2 - languageName: node - linkType: hard - -"imurmurhash@npm:^0.1.4": - version: 0.1.4 - resolution: "imurmurhash@npm:0.1.4" - checksum: 8b51313850dd33605c6c9d3fd9638b714f4c4c40250cff658209f30d40da60f78992fb2df5dabee4acf589a6a82bbc79ad5486550754bd9ec4e3fc0d4a57d6a6 - languageName: node - linkType: hard - -"indent-string@npm:^4.0.0": - version: 4.0.0 - resolution: "indent-string@npm:4.0.0" - checksum: 1e1904ddb0cb3d6cce7cd09e27a90184908b7a5d5c21b92e232c93579d314f0b83c246ffb035493d0504b1e9147ba2c9b21df0030f48673fba0496ecd698161f - languageName: node - linkType: hard - -"inflight@npm:^1.0.4": - version: 1.0.6 - resolution: "inflight@npm:1.0.6" - dependencies: - once: "npm:^1.3.0" - wrappy: "npm:1" - checksum: 7faca22584600a9dc5b9fca2cd5feb7135ac8c935449837b315676b4c90aa4f391ec4f42240178244b5a34e8bede1948627fda392ca3191522fc46b34e985ab2 - languageName: node - linkType: hard - -"inherits@npm:2, inherits@npm:^2.0.1, inherits@npm:^2.0.3, inherits@npm:^2.0.4, inherits@npm:~2.0.3": - version: 2.0.4 - resolution: "inherits@npm:2.0.4" - checksum: 4e531f648b29039fb7426fb94075e6545faa1eb9fe83c29f0b6d9e7263aceb4289d2d4557db0d428188eeb449cc7c5e77b0a0b2c4e248ff2a65933a0dee49ef2 - languageName: node - linkType: hard - -"internal-slot@npm:^1.0.4, internal-slot@npm:^1.0.5, internal-slot@npm:^1.0.7": - version: 1.0.7 - resolution: "internal-slot@npm:1.0.7" - dependencies: - es-errors: "npm:^1.3.0" - hasown: "npm:^2.0.0" - side-channel: "npm:^1.0.4" - checksum: f8b294a4e6ea3855fc59551bbf35f2b832cf01fd5e6e2a97f5c201a071cc09b49048f856e484b67a6c721da5e55736c5b6ddafaf19e2dbeb4a3ff1821680de6c - languageName: node - linkType: hard - -"invariant@npm:2.2.4, invariant@npm:^2.2.4": - version: 2.2.4 - resolution: "invariant@npm:2.2.4" - dependencies: - loose-envify: "npm:^1.0.0" - checksum: 5af133a917c0bcf65e84e7f23e779e7abc1cd49cb7fdc62d00d1de74b0d8c1b5ee74ac7766099fb3be1b05b26dfc67bab76a17030d2fe7ea2eef867434362dfc - languageName: node - linkType: hard - -"ip-address@npm:^9.0.5": - version: 9.0.5 - resolution: "ip-address@npm:9.0.5" - dependencies: - jsbn: "npm:1.1.0" - sprintf-js: "npm:^1.1.3" - checksum: 331cd07fafcb3b24100613e4b53e1a2b4feab11e671e655d46dc09ee233da5011284d09ca40c4ecbdfe1d0004f462958675c224a804259f2f78d2465a87824bc - languageName: node - linkType: hard - -"iron-webcrypto@npm:^1.1.1": - version: 1.2.1 - resolution: "iron-webcrypto@npm:1.2.1" - checksum: 5cf27c6e2bd3ef3b4970e486235fd82491ab8229e2ed0ac23307c28d6c80d721772a86ed4e9fe2a5cabadd710c2f024b706843b40561fb83f15afee58f809f66 - languageName: node - linkType: hard - -"is-arguments@npm:^1.0.4, is-arguments@npm:^1.1.1": - version: 1.1.1 - resolution: "is-arguments@npm:1.1.1" - dependencies: - call-bind: "npm:^1.0.2" - has-tostringtag: "npm:^1.0.0" - checksum: 5ff1f341ee4475350adfc14b2328b38962564b7c2076be2f5bac7bd9b61779efba99b9f844a7b82ba7654adccf8e8eb19d1bb0cc6d1c1a085e498f6793d4328f - languageName: node - linkType: hard - -"is-array-buffer@npm:^3.0.2, is-array-buffer@npm:^3.0.4": - version: 3.0.4 - resolution: "is-array-buffer@npm:3.0.4" - dependencies: - call-bind: "npm:^1.0.2" - get-intrinsic: "npm:^1.2.1" - checksum: 42a49d006cc6130bc5424eae113e948c146f31f9d24460fc0958f855d9d810e6fd2e4519bf19aab75179af9c298ea6092459d8cafdec523cd19e529b26eab860 - languageName: node - linkType: hard - -"is-arrayish@npm:^0.2.1": - version: 0.2.1 - resolution: "is-arrayish@npm:0.2.1" - checksum: e7fb686a739068bb70f860b39b67afc62acc62e36bb61c5f965768abce1873b379c563e61dd2adad96ebb7edf6651111b385e490cf508378959b0ed4cac4e729 - languageName: node - linkType: hard - -"is-async-function@npm:^2.0.0": - version: 2.0.0 - resolution: "is-async-function@npm:2.0.0" - dependencies: - has-tostringtag: "npm:^1.0.0" - checksum: 787bc931576aad525d751fc5ce211960fe91e49ac84a5c22d6ae0bc9541945fbc3f686dc590c3175722ce4f6d7b798a93f6f8ff4847fdb2199aea6f4baf5d668 - languageName: node - linkType: hard - -"is-bigint@npm:^1.0.1": - version: 1.0.4 - resolution: "is-bigint@npm:1.0.4" - dependencies: - has-bigints: "npm:^1.0.1" - checksum: eb9c88e418a0d195ca545aff2b715c9903d9b0a5033bc5922fec600eb0c3d7b1ee7f882dbf2e0d5a6e694e42391be3683e4368737bd3c4a77f8ac293e7773696 - languageName: node - linkType: hard - -"is-binary-path@npm:~2.1.0": - version: 2.1.0 - resolution: "is-binary-path@npm:2.1.0" - dependencies: - binary-extensions: "npm:^2.0.0" - checksum: a16eaee59ae2b315ba36fad5c5dcaf8e49c3e27318f8ab8fa3cdb8772bf559c8d1ba750a589c2ccb096113bb64497084361a25960899cb6172a6925ab6123d38 - languageName: node - linkType: hard - -"is-boolean-object@npm:^1.1.0": - version: 1.1.2 - resolution: "is-boolean-object@npm:1.1.2" - dependencies: - call-bind: "npm:^1.0.2" - has-tostringtag: "npm:^1.0.0" - checksum: 6090587f8a8a8534c0f816da868bc94f32810f08807aa72fa7e79f7e11c466d281486ffe7a788178809c2aa71fe3e700b167fe80dd96dad68026bfff8ebf39f7 - languageName: node - linkType: hard - -"is-callable@npm:^1.1.3, is-callable@npm:^1.1.4, is-callable@npm:^1.2.7": - version: 1.2.7 - resolution: "is-callable@npm:1.2.7" - checksum: ceebaeb9d92e8adee604076971dd6000d38d6afc40bb843ea8e45c5579b57671c3f3b50d7f04869618242c6cee08d1b67806a8cb8edaaaf7c0748b3720d6066f - languageName: node - linkType: hard - -"is-core-module@npm:^2.11.0, is-core-module@npm:^2.13.0, is-core-module@npm:^2.13.1": - version: 2.13.1 - resolution: "is-core-module@npm:2.13.1" - dependencies: - hasown: "npm:^2.0.0" - checksum: 2cba9903aaa52718f11c4896dabc189bab980870aae86a62dc0d5cedb546896770ee946fb14c84b7adf0735f5eaea4277243f1b95f5cefa90054f92fbcac2518 - languageName: node - linkType: hard - -"is-date-object@npm:^1.0.1, is-date-object@npm:^1.0.5": - version: 1.0.5 - resolution: "is-date-object@npm:1.0.5" - dependencies: - has-tostringtag: "npm:^1.0.0" - checksum: eed21e5dcc619c48ccef804dfc83a739dbb2abee6ca202838ee1bd5f760fe8d8a93444f0d49012ad19bb7c006186e2884a1b92f6e1c056da7fd23d0a9ad5992e - languageName: node - linkType: hard - -"is-docker@npm:^2.0.0, is-docker@npm:^2.1.1": - version: 2.2.1 - resolution: "is-docker@npm:2.2.1" - bin: - is-docker: cli.js - checksum: e828365958d155f90c409cdbe958f64051d99e8aedc2c8c4cd7c89dcf35329daed42f7b99346f7828df013e27deb8f721cf9408ba878c76eb9e8290235fbcdcc - languageName: node - linkType: hard - -"is-docker@npm:^3.0.0": - version: 3.0.0 - resolution: "is-docker@npm:3.0.0" - bin: - is-docker: cli.js - checksum: d2c4f8e6d3e34df75a5defd44991b6068afad4835bb783b902fa12d13ebdb8f41b2a199dcb0b5ed2cb78bfee9e4c0bbdb69c2d9646f4106464674d3e697a5856 - languageName: node - linkType: hard - -"is-extglob@npm:^2.1.1": - version: 2.1.1 - resolution: "is-extglob@npm:2.1.1" - checksum: 5487da35691fbc339700bbb2730430b07777a3c21b9ebaecb3072512dfd7b4ba78ac2381a87e8d78d20ea08affb3f1971b4af629173a6bf435ff8a4c47747912 - languageName: node - linkType: hard - -"is-finalizationregistry@npm:^1.0.2": - version: 1.0.2 - resolution: "is-finalizationregistry@npm:1.0.2" - dependencies: - call-bind: "npm:^1.0.2" - checksum: 81caecc984d27b1a35c68741156fc651fb1fa5e3e6710d21410abc527eb226d400c0943a167922b2e920f6b3e58b0dede9aa795882b038b85f50b3a4b877db86 - languageName: node - linkType: hard - -"is-fullwidth-code-point@npm:^3.0.0": - version: 3.0.0 - resolution: "is-fullwidth-code-point@npm:3.0.0" - checksum: bb11d825e049f38e04c06373a8d72782eee0205bda9d908cc550ccb3c59b99d750ff9537982e01733c1c94a58e35400661f57042158ff5e8f3e90cf936daf0fc - languageName: node - linkType: hard - -"is-generator-fn@npm:^2.0.0": - version: 2.1.0 - resolution: "is-generator-fn@npm:2.1.0" - checksum: 2957cab387997a466cd0bf5c1b6047bd21ecb32bdcfd8996b15747aa01002c1c88731802f1b3d34ac99f4f6874b626418bd118658cf39380fe5fff32a3af9c4d - languageName: node - linkType: hard - -"is-generator-function@npm:^1.0.10, is-generator-function@npm:^1.0.7": - version: 1.0.10 - resolution: "is-generator-function@npm:1.0.10" - dependencies: - has-tostringtag: "npm:^1.0.0" - checksum: df03514df01a6098945b5a0cfa1abff715807c8e72f57c49a0686ad54b3b74d394e2d8714e6f709a71eb00c9630d48e73ca1796c1ccc84ac95092c1fecc0d98b - languageName: node - linkType: hard - -"is-glob@npm:^4.0.0, is-glob@npm:^4.0.1, is-glob@npm:^4.0.3, is-glob@npm:~4.0.1": - version: 4.0.3 - resolution: "is-glob@npm:4.0.3" - dependencies: - is-extglob: "npm:^2.1.1" - checksum: 17fb4014e22be3bbecea9b2e3a76e9e34ff645466be702f1693e8f1ee1adac84710d0be0bd9f967d6354036fd51ab7c2741d954d6e91dae6bb69714de92c197a - languageName: node - linkType: hard - -"is-inside-container@npm:^1.0.0": - version: 1.0.0 - resolution: "is-inside-container@npm:1.0.0" - dependencies: - is-docker: "npm:^3.0.0" - bin: - is-inside-container: cli.js - checksum: a8efb0e84f6197e6ff5c64c52890fa9acb49b7b74fed4da7c95383965da6f0fa592b4dbd5e38a79f87fc108196937acdbcd758fcefc9b140e479b39ce1fcd1cd - languageName: node - linkType: hard - -"is-lambda@npm:^1.0.1": - version: 1.0.1 - resolution: "is-lambda@npm:1.0.1" - checksum: 85fee098ae62ba6f1e24cf22678805473c7afd0fb3978a3aa260e354cb7bcb3a5806cf0a98403188465efedec41ab4348e8e4e79305d409601323855b3839d4d - languageName: node - linkType: hard - -"is-map@npm:^2.0.1, is-map@npm:^2.0.2": - version: 2.0.2 - resolution: "is-map@npm:2.0.2" - checksum: 119ff9137a37fd131a72fab3f4ab8c9d6a24b0a1ee26b4eff14dc625900d8675a97785eea5f4174265e2006ed076cc24e89f6e57ebd080a48338d914ec9168a5 - languageName: node - linkType: hard - -"is-negative-zero@npm:^2.0.2": - version: 2.0.2 - resolution: "is-negative-zero@npm:2.0.2" - checksum: eda024c158f70f2017f3415e471b818d314da5ef5be68f801b16314d4a4b6304a74cbed778acf9e2f955bb9c1c5f2935c1be0c7c99e1ad12286f45366217b6a3 - languageName: node - linkType: hard - -"is-number-object@npm:^1.0.4": - version: 1.0.7 - resolution: "is-number-object@npm:1.0.7" - dependencies: - has-tostringtag: "npm:^1.0.0" - checksum: aad266da1e530f1804a2b7bd2e874b4869f71c98590b3964f9d06cc9869b18f8d1f4778f838ecd2a11011bce20aeecb53cb269ba916209b79c24580416b74b1b - languageName: node - linkType: hard - -"is-number@npm:^7.0.0": - version: 7.0.0 - resolution: "is-number@npm:7.0.0" - checksum: b4686d0d3053146095ccd45346461bc8e53b80aeb7671cc52a4de02dbbf7dc0d1d2a986e2fe4ae206984b4d34ef37e8b795ebc4f4295c978373e6575e295d811 - languageName: node - linkType: hard - -"is-path-inside@npm:^3.0.3": - version: 3.0.3 - resolution: "is-path-inside@npm:3.0.3" - checksum: cf7d4ac35fb96bab6a1d2c3598fe5ebb29aafb52c0aaa482b5a3ed9d8ba3edc11631e3ec2637660c44b3ce0e61a08d54946e8af30dec0b60a7c27296c68ffd05 - languageName: node - linkType: hard - -"is-potential-custom-element-name@npm:^1.0.1": - version: 1.0.1 - resolution: "is-potential-custom-element-name@npm:1.0.1" - checksum: b73e2f22bc863b0939941d369486d308b43d7aef1f9439705e3582bfccaa4516406865e32c968a35f97a99396dac84e2624e67b0a16b0a15086a785e16ce7db9 - languageName: node - linkType: hard - -"is-regex@npm:^1.1.4": - version: 1.1.4 - resolution: "is-regex@npm:1.1.4" - dependencies: - call-bind: "npm:^1.0.2" - has-tostringtag: "npm:^1.0.0" - checksum: bb72aae604a69eafd4a82a93002058c416ace8cde95873589a97fc5dac96a6c6c78a9977d487b7b95426a8f5073969124dd228f043f9f604f041f32fcc465fc1 - languageName: node - linkType: hard - -"is-set@npm:^2.0.1, is-set@npm:^2.0.2": - version: 2.0.2 - resolution: "is-set@npm:2.0.2" - checksum: 5f8bd1880df8c0004ce694e315e6e1e47a3452014be792880bb274a3b2cdb952fdb60789636ca6e084c7947ca8b7ae03ccaf54c93a7fcfed228af810559e5432 - languageName: node - linkType: hard - -"is-shared-array-buffer@npm:^1.0.2": - version: 1.0.2 - resolution: "is-shared-array-buffer@npm:1.0.2" - dependencies: - call-bind: "npm:^1.0.2" - checksum: cfeee6f171f1b13e6cbc6f3b6cc44e192b93df39f3fcb31aa66ffb1d2df3b91e05664311659f9701baba62f5e98c83b0673c628e7adc30f55071c4874fcdccec - languageName: node - linkType: hard - -"is-stream@npm:^2.0.0": - version: 2.0.1 - resolution: "is-stream@npm:2.0.1" - checksum: 7c284241313fc6efc329b8d7f08e16c0efeb6baab1b4cd0ba579eb78e5af1aa5da11e68559896a2067cd6c526bd29241dda4eb1225e627d5aa1a89a76d4635a5 - languageName: node - linkType: hard - -"is-stream@npm:^3.0.0": - version: 3.0.0 - resolution: "is-stream@npm:3.0.0" - checksum: eb2f7127af02ee9aa2a0237b730e47ac2de0d4e76a4a905a50a11557f2339df5765eaea4ceb8029f1efa978586abe776908720bfcb1900c20c6ec5145f6f29d8 - languageName: node - linkType: hard - -"is-string@npm:^1.0.5, is-string@npm:^1.0.7": - version: 1.0.7 - resolution: "is-string@npm:1.0.7" - dependencies: - has-tostringtag: "npm:^1.0.0" - checksum: 905f805cbc6eedfa678aaa103ab7f626aac9ebbdc8737abb5243acaa61d9820f8edc5819106b8fcd1839e33db21de9f0116ae20de380c8382d16dc2a601921f6 - languageName: node - linkType: hard - -"is-symbol@npm:^1.0.2, is-symbol@npm:^1.0.3": - version: 1.0.4 - resolution: "is-symbol@npm:1.0.4" - dependencies: - has-symbols: "npm:^1.0.2" - checksum: 9381dd015f7c8906154dbcbf93fad769de16b4b961edc94f88d26eb8c555935caa23af88bda0c93a18e65560f6d7cca0fd5a3f8a8e1df6f1abbb9bead4502ef7 - languageName: node - linkType: hard - -"is-typed-array@npm:^1.1.10, is-typed-array@npm:^1.1.13, is-typed-array@npm:^1.1.3, is-typed-array@npm:^1.1.9": - version: 1.1.13 - resolution: "is-typed-array@npm:1.1.13" - dependencies: - which-typed-array: "npm:^1.1.14" - checksum: fa5cb97d4a80e52c2cc8ed3778e39f175a1a2ae4ddf3adae3187d69586a1fd57cfa0b095db31f66aa90331e9e3da79184cea9c6abdcd1abc722dc3c3edd51cca - languageName: node - linkType: hard - -"is-weakmap@npm:^2.0.1": - version: 2.0.1 - resolution: "is-weakmap@npm:2.0.1" - checksum: 9c9fec9efa7bf5030a4a927f33fff2a6976b93646259f92b517d3646c073cc5b98283a162ce75c412b060a46de07032444b530f0a4c9b6e012ef8f1741c3a987 - languageName: node - linkType: hard - -"is-weakref@npm:^1.0.2": - version: 1.0.2 - resolution: "is-weakref@npm:1.0.2" - dependencies: - call-bind: "npm:^1.0.2" - checksum: 1545c5d172cb690c392f2136c23eec07d8d78a7f57d0e41f10078aa4f5daf5d7f57b6513a67514ab4f073275ad00c9822fc8935e00229d0a2089e1c02685d4b1 - languageName: node - linkType: hard - -"is-weakset@npm:^2.0.1": - version: 2.0.2 - resolution: "is-weakset@npm:2.0.2" - dependencies: - call-bind: "npm:^1.0.2" - get-intrinsic: "npm:^1.1.1" - checksum: ef5136bd446ae4603229b897f73efd0720c6ab3ec6cc05c8d5c4b51aa9f95164713c4cad0a22ff1fedf04865ff86cae4648bc1d5eead4b6388e1150525af1cc1 - languageName: node - linkType: hard - -"is-wsl@npm:^2.2.0": - version: 2.2.0 - resolution: "is-wsl@npm:2.2.0" - dependencies: - is-docker: "npm:^2.0.0" - checksum: a6fa2d370d21be487c0165c7a440d567274fbba1a817f2f0bfa41cc5e3af25041d84267baa22df66696956038a43973e72fca117918c91431920bdef490fa25e - languageName: node - linkType: hard - -"is-wsl@npm:^3.1.0": - version: 3.1.0 - resolution: "is-wsl@npm:3.1.0" - dependencies: - is-inside-container: "npm:^1.0.0" - checksum: d3317c11995690a32c362100225e22ba793678fe8732660c6de511ae71a0ff05b06980cf21f98a6bf40d7be0e9e9506f859abe00a1118287d63e53d0a3d06947 - languageName: node - linkType: hard - -"is64bit@npm:^2.0.0": - version: 2.0.0 - resolution: "is64bit@npm:2.0.0" - dependencies: - system-architecture: "npm:^0.1.0" - checksum: 9f3741d4b7560e2a30b9ce0c79bb30c7bdcc5df77c897bd59bb68f0fd882ae698015e8da81d48331def66c778d430c1ae3cb8c1fcc34e96c576b66198395faa7 - languageName: node - linkType: hard - -"isarray@npm:^2.0.5": - version: 2.0.5 - resolution: "isarray@npm:2.0.5" - checksum: 4199f14a7a13da2177c66c31080008b7124331956f47bca57dd0b6ea9f11687aa25e565a2c7a2b519bc86988d10398e3049a1f5df13c9f6b7664154690ae79fd - languageName: node - linkType: hard - -"isarray@npm:~1.0.0": - version: 1.0.0 - resolution: "isarray@npm:1.0.0" - checksum: 18b5be6669be53425f0b84098732670ed4e727e3af33bc7f948aac01782110eb9a18b3b329c5323bcdd3acdaae547ee077d3951317e7f133bff7105264b3003d - languageName: node - linkType: hard - -"isexe@npm:^2.0.0": - version: 2.0.0 - resolution: "isexe@npm:2.0.0" - checksum: 228cfa503fadc2c31596ab06ed6aa82c9976eec2bfd83397e7eaf06d0ccf42cd1dfd6743bf9aeb01aebd4156d009994c5f76ea898d2832c1fe342da923ca457d - languageName: node - linkType: hard - -"isexe@npm:^3.1.1": - version: 3.1.1 - resolution: "isexe@npm:3.1.1" - checksum: 9ec257654093443eb0a528a9c8cbba9c0ca7616ccb40abd6dde7202734d96bb86e4ac0d764f0f8cd965856aacbff2f4ce23e730dc19dfb41e3b0d865ca6fdcc7 - languageName: node - linkType: hard - -"isomorphic-unfetch@npm:3.1.0": - version: 3.1.0 - resolution: "isomorphic-unfetch@npm:3.1.0" - dependencies: - node-fetch: "npm:^2.6.1" - unfetch: "npm:^4.2.0" - checksum: d3b61fca06304db692b7f76bdfd3a00f410e42cfa7403c3b250546bf71589d18cf2f355922f57198e4cc4a9872d3647b20397a5c3edf1a347c90d57c83cf2a89 - languageName: node - linkType: hard - -"isows@npm:1.0.4": - version: 1.0.4 - resolution: "isows@npm:1.0.4" - peerDependencies: - ws: "*" - checksum: 46f43b07edcf148acba735ddfc6ed985e1e124446043ea32b71023e67671e46619c8818eda8c34a9ac91cb37c475af12a3aeeee676a88a0aceb5d67a3082313f - languageName: node - linkType: hard - -"istanbul-lib-coverage@npm:^3.0.0, istanbul-lib-coverage@npm:^3.2.0": - version: 3.2.2 - resolution: "istanbul-lib-coverage@npm:3.2.2" - checksum: 6c7ff2106769e5f592ded1fb418f9f73b4411fd5a084387a5410538332b6567cd1763ff6b6cadca9b9eb2c443cce2f7ea7d7f1b8d315f9ce58539793b1e0922b - languageName: node - linkType: hard - -"istanbul-lib-instrument@npm:^5.0.4": - version: 5.2.1 - resolution: "istanbul-lib-instrument@npm:5.2.1" - dependencies: - "@babel/core": "npm:^7.12.3" - "@babel/parser": "npm:^7.14.7" - "@istanbuljs/schema": "npm:^0.1.2" - istanbul-lib-coverage: "npm:^3.2.0" - semver: "npm:^6.3.0" - checksum: 8a1bdf3e377dcc0d33ec32fe2b6ecacdb1e4358fd0eb923d4326bb11c67622c0ceb99600a680f3dad5d29c66fc1991306081e339b4d43d0b8a2ab2e1d910a6ee - languageName: node - linkType: hard - -"istanbul-lib-instrument@npm:^6.0.0": - version: 6.0.1 - resolution: "istanbul-lib-instrument@npm:6.0.1" - dependencies: - "@babel/core": "npm:^7.12.3" - "@babel/parser": "npm:^7.14.7" - "@istanbuljs/schema": "npm:^0.1.2" - istanbul-lib-coverage: "npm:^3.2.0" - semver: "npm:^7.5.4" - checksum: 313d61aca3f82a04ad9377841d05061d603ea3d4a4dd281fdda2479ec4ddbc86dc1792c73651f21c93480570d1ecadc5f63011e2df86f30ee662b62c0c00e3d8 - languageName: node - linkType: hard - -"istanbul-lib-report@npm:^3.0.0": - version: 3.0.1 - resolution: "istanbul-lib-report@npm:3.0.1" - dependencies: - istanbul-lib-coverage: "npm:^3.0.0" - make-dir: "npm:^4.0.0" - supports-color: "npm:^7.1.0" - checksum: 84323afb14392de8b6a5714bd7e9af845cfbd56cfe71ed276cda2f5f1201aea673c7111901227ee33e68e4364e288d73861eb2ed48f6679d1e69a43b6d9b3ba7 - languageName: node - linkType: hard - -"istanbul-lib-source-maps@npm:^4.0.0": - version: 4.0.1 - resolution: "istanbul-lib-source-maps@npm:4.0.1" - dependencies: - debug: "npm:^4.1.1" - istanbul-lib-coverage: "npm:^3.0.0" - source-map: "npm:^0.6.1" - checksum: 19e4cc405016f2c906dff271a76715b3e881fa9faeb3f09a86cb99b8512b3a5ed19cadfe0b54c17ca0e54c1142c9c6de9330d65506e35873994e06634eebeb66 - languageName: node - linkType: hard - -"istanbul-reports@npm:^3.1.3": - version: 3.1.6 - resolution: "istanbul-reports@npm:3.1.6" - dependencies: - html-escaper: "npm:^2.0.0" - istanbul-lib-report: "npm:^3.0.0" - checksum: ec3f1bdbc51b3e0b325a5b9f4ad31a247697f31001df4e81075f7980413f14da1b5adfec574fd156efd3b0464023f61320f6718efc66ee72b32d89611cef99dd - languageName: node - linkType: hard - -"iterator.prototype@npm:^1.1.2": - version: 1.1.2 - resolution: "iterator.prototype@npm:1.1.2" - dependencies: - define-properties: "npm:^1.2.1" - get-intrinsic: "npm:^1.2.1" - has-symbols: "npm:^1.0.3" - reflect.getprototypeof: "npm:^1.0.4" - set-function-name: "npm:^2.0.1" - checksum: a32151326095e916f306990d909f6bbf23e3221999a18ba686419535dcd1749b10ded505e89334b77dc4c7a58a8508978f0eb16c2c8573e6d412eb7eb894ea79 - languageName: node - linkType: hard - -"jackspeak@npm:^2.3.5, jackspeak@npm:^2.3.6": - version: 2.3.6 - resolution: "jackspeak@npm:2.3.6" - dependencies: - "@isaacs/cliui": "npm:^8.0.2" - "@pkgjs/parseargs": "npm:^0.11.0" - dependenciesMeta: - "@pkgjs/parseargs": - optional: true - checksum: f01d8f972d894cd7638bc338e9ef5ddb86f7b208ce177a36d718eac96ec86638a6efa17d0221b10073e64b45edc2ce15340db9380b1f5d5c5d000cbc517dc111 - languageName: node - linkType: hard - -"jest-changed-files@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-changed-files@npm:29.7.0" - dependencies: - execa: "npm:^5.0.0" - jest-util: "npm:^29.7.0" - p-limit: "npm:^3.1.0" - checksum: e071384d9e2f6bb462231ac53f29bff86f0e12394c1b49ccafbad225ce2ab7da226279a8a94f421949920bef9be7ef574fd86aee22e8adfa149be73554ab828b - languageName: node - linkType: hard - -"jest-circus@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-circus@npm:29.7.0" - dependencies: - "@jest/environment": "npm:^29.7.0" - "@jest/expect": "npm:^29.7.0" - "@jest/test-result": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - "@types/node": "npm:*" - chalk: "npm:^4.0.0" - co: "npm:^4.6.0" - dedent: "npm:^1.0.0" - is-generator-fn: "npm:^2.0.0" - jest-each: "npm:^29.7.0" - jest-matcher-utils: "npm:^29.7.0" - jest-message-util: "npm:^29.7.0" - jest-runtime: "npm:^29.7.0" - jest-snapshot: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - p-limit: "npm:^3.1.0" - pretty-format: "npm:^29.7.0" - pure-rand: "npm:^6.0.0" - slash: "npm:^3.0.0" - stack-utils: "npm:^2.0.3" - checksum: 8d15344cf7a9f14e926f0deed64ed190c7a4fa1ed1acfcd81e4cc094d3cc5bf7902ebb7b874edc98ada4185688f90c91e1747e0dfd7ac12463b097968ae74b5e - languageName: node - linkType: hard - -"jest-cli@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-cli@npm:29.7.0" - dependencies: - "@jest/core": "npm:^29.7.0" - "@jest/test-result": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - chalk: "npm:^4.0.0" - create-jest: "npm:^29.7.0" - exit: "npm:^0.1.2" - import-local: "npm:^3.0.2" - jest-config: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - jest-validate: "npm:^29.7.0" - yargs: "npm:^17.3.1" - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - bin: - jest: bin/jest.js - checksum: a658fd55050d4075d65c1066364595962ead7661711495cfa1dfeecf3d6d0a8ffec532f3dbd8afbb3e172dd5fd2fb2e813c5e10256e7cf2fea766314942fb43a - languageName: node - linkType: hard - -"jest-config@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-config@npm:29.7.0" - dependencies: - "@babel/core": "npm:^7.11.6" - "@jest/test-sequencer": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - babel-jest: "npm:^29.7.0" - chalk: "npm:^4.0.0" - ci-info: "npm:^3.2.0" - deepmerge: "npm:^4.2.2" - glob: "npm:^7.1.3" - graceful-fs: "npm:^4.2.9" - jest-circus: "npm:^29.7.0" - jest-environment-node: "npm:^29.7.0" - jest-get-type: "npm:^29.6.3" - jest-regex-util: "npm:^29.6.3" - jest-resolve: "npm:^29.7.0" - jest-runner: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - jest-validate: "npm:^29.7.0" - micromatch: "npm:^4.0.4" - parse-json: "npm:^5.2.0" - pretty-format: "npm:^29.7.0" - slash: "npm:^3.0.0" - strip-json-comments: "npm:^3.1.1" - peerDependencies: - "@types/node": "*" - ts-node: ">=9.0.0" - peerDependenciesMeta: - "@types/node": - optional: true - ts-node: - optional: true - checksum: bab23c2eda1fff06e0d104b00d6adfb1d1aabb7128441899c9bff2247bd26710b050a5364281ce8d52b46b499153bf7e3ee88b19831a8f3451f1477a0246a0f1 - languageName: node - linkType: hard - -"jest-diff@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-diff@npm:29.7.0" - dependencies: - chalk: "npm:^4.0.0" - diff-sequences: "npm:^29.6.3" - jest-get-type: "npm:^29.6.3" - pretty-format: "npm:^29.7.0" - checksum: 89a4a7f182590f56f526443dde69acefb1f2f0c9e59253c61d319569856c4931eae66b8a3790c443f529267a0ddba5ba80431c585deed81827032b2b2a1fc999 - languageName: node - linkType: hard - -"jest-docblock@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-docblock@npm:29.7.0" - dependencies: - detect-newline: "npm:^3.0.0" - checksum: d932a8272345cf6b6142bb70a2bb63e0856cc0093f082821577ea5bdf4643916a98744dfc992189d2b1417c38a11fa42466f6111526bc1fb81366f56410f3be9 - languageName: node - linkType: hard - -"jest-each@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-each@npm:29.7.0" - dependencies: - "@jest/types": "npm:^29.6.3" - chalk: "npm:^4.0.0" - jest-get-type: "npm:^29.6.3" - jest-util: "npm:^29.7.0" - pretty-format: "npm:^29.7.0" - checksum: f7f9a90ebee80cc688e825feceb2613627826ac41ea76a366fa58e669c3b2403d364c7c0a74d862d469b103c843154f8456d3b1c02b487509a12afa8b59edbb4 - languageName: node - linkType: hard - -"jest-environment-jsdom@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-environment-jsdom@npm:29.7.0" - dependencies: - "@jest/environment": "npm:^29.7.0" - "@jest/fake-timers": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - "@types/jsdom": "npm:^20.0.0" - "@types/node": "npm:*" - jest-mock: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - jsdom: "npm:^20.0.0" - peerDependencies: - canvas: ^2.5.0 - peerDependenciesMeta: - canvas: - optional: true - checksum: 139b94e2c8ec1bb5a46ce17df5211da65ce867354b3fd4e00fa6a0d1da95902df4cf7881273fc6ea937e5c325d39d6773f0d41b6c469363334de9d489d2c321f - languageName: node - linkType: hard - -"jest-environment-node@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-environment-node@npm:29.7.0" - dependencies: - "@jest/environment": "npm:^29.7.0" - "@jest/fake-timers": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - "@types/node": "npm:*" - jest-mock: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - checksum: 61f04fec077f8b1b5c1a633e3612fc0c9aa79a0ab7b05600683428f1e01a4d35346c474bde6f439f9fcc1a4aa9a2861ff852d079a43ab64b02105d1004b2592b - languageName: node - linkType: hard - -"jest-get-type@npm:^29.6.3": - version: 29.6.3 - resolution: "jest-get-type@npm:29.6.3" - checksum: 552e7a97a983d3c2d4e412a44eb7de0430ff773dd99f7500962c268d6dfbfa431d7d08f919c9d960530e5f7f78eb47f267ad9b318265e5092b3ff9ede0db7c2b - languageName: node - linkType: hard - -"jest-haste-map@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-haste-map@npm:29.7.0" - dependencies: - "@jest/types": "npm:^29.6.3" - "@types/graceful-fs": "npm:^4.1.3" - "@types/node": "npm:*" - anymatch: "npm:^3.0.3" - fb-watchman: "npm:^2.0.0" - fsevents: "npm:^2.3.2" - graceful-fs: "npm:^4.2.9" - jest-regex-util: "npm:^29.6.3" - jest-util: "npm:^29.7.0" - jest-worker: "npm:^29.7.0" - micromatch: "npm:^4.0.4" - walker: "npm:^1.0.8" - dependenciesMeta: - fsevents: - optional: true - checksum: 2683a8f29793c75a4728787662972fedd9267704c8f7ef9d84f2beed9a977f1cf5e998c07b6f36ba5603f53cb010c911fe8cd0ac9886e073fe28ca66beefd30c - languageName: node - linkType: hard - -"jest-leak-detector@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-leak-detector@npm:29.7.0" - dependencies: - jest-get-type: "npm:^29.6.3" - pretty-format: "npm:^29.7.0" - checksum: 71bb9f77fc489acb842a5c7be030f2b9acb18574dc9fb98b3100fc57d422b1abc55f08040884bd6e6dbf455047a62f7eaff12aa4058f7cbdc11558718ca6a395 - languageName: node - linkType: hard - -"jest-matcher-utils@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-matcher-utils@npm:29.7.0" - dependencies: - chalk: "npm:^4.0.0" - jest-diff: "npm:^29.7.0" - jest-get-type: "npm:^29.6.3" - pretty-format: "npm:^29.7.0" - checksum: 0d0e70b28fa5c7d4dce701dc1f46ae0922102aadc24ed45d594dd9b7ae0a8a6ef8b216718d1ab79e451291217e05d4d49a82666e1a3cc2b428b75cd9c933244e - languageName: node - linkType: hard - -"jest-message-util@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-message-util@npm:29.7.0" - dependencies: - "@babel/code-frame": "npm:^7.12.13" - "@jest/types": "npm:^29.6.3" - "@types/stack-utils": "npm:^2.0.0" - chalk: "npm:^4.0.0" - graceful-fs: "npm:^4.2.9" - micromatch: "npm:^4.0.4" - pretty-format: "npm:^29.7.0" - slash: "npm:^3.0.0" - stack-utils: "npm:^2.0.3" - checksum: 850ae35477f59f3e6f27efac5215f706296e2104af39232bb14e5403e067992afb5c015e87a9243ec4d9df38525ef1ca663af9f2f4766aa116f127247008bd22 - languageName: node - linkType: hard - -"jest-mock@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-mock@npm:29.7.0" - dependencies: - "@jest/types": "npm:^29.6.3" - "@types/node": "npm:*" - jest-util: "npm:^29.7.0" - checksum: 7b9f8349ee87695a309fe15c46a74ab04c853369e5c40952d68061d9dc3159a0f0ed73e215f81b07ee97a9faaf10aebe5877a9d6255068a0977eae6a9ff1d5ac - languageName: node - linkType: hard - -"jest-pnp-resolver@npm:^1.2.2": - version: 1.2.3 - resolution: "jest-pnp-resolver@npm:1.2.3" - peerDependencies: - jest-resolve: "*" - peerDependenciesMeta: - jest-resolve: - optional: true - checksum: 86eec0c78449a2de733a6d3e316d49461af6a858070e113c97f75fb742a48c2396ea94150cbca44159ffd4a959f743a47a8b37a792ef6fdad2cf0a5cba973fac - languageName: node - linkType: hard - -"jest-regex-util@npm:^29.6.3": - version: 29.6.3 - resolution: "jest-regex-util@npm:29.6.3" - checksum: 4e33fb16c4f42111159cafe26397118dcfc4cf08bc178a67149fb05f45546a91928b820894572679d62559839d0992e21080a1527faad65daaae8743a5705a3b - languageName: node - linkType: hard - -"jest-resolve-dependencies@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-resolve-dependencies@npm:29.7.0" - dependencies: - jest-regex-util: "npm:^29.6.3" - jest-snapshot: "npm:^29.7.0" - checksum: b6e9ad8ae5b6049474118ea6441dfddd385b6d1fc471db0136f7c8fbcfe97137a9665e4f837a9f49f15a29a1deb95a14439b7aec812f3f99d08f228464930f0d - languageName: node - linkType: hard - -"jest-resolve@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-resolve@npm:29.7.0" - dependencies: - chalk: "npm:^4.0.0" - graceful-fs: "npm:^4.2.9" - jest-haste-map: "npm:^29.7.0" - jest-pnp-resolver: "npm:^1.2.2" - jest-util: "npm:^29.7.0" - jest-validate: "npm:^29.7.0" - resolve: "npm:^1.20.0" - resolve.exports: "npm:^2.0.0" - slash: "npm:^3.0.0" - checksum: 59da5c9c5b50563e959a45e09e2eace783d7f9ac0b5dcc6375dea4c0db938d2ebda97124c8161310082760e8ebbeff9f6b177c15ca2f57fb424f637a5d2adb47 - languageName: node - linkType: hard - -"jest-runner@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-runner@npm:29.7.0" - dependencies: - "@jest/console": "npm:^29.7.0" - "@jest/environment": "npm:^29.7.0" - "@jest/test-result": "npm:^29.7.0" - "@jest/transform": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - "@types/node": "npm:*" - chalk: "npm:^4.0.0" - emittery: "npm:^0.13.1" - graceful-fs: "npm:^4.2.9" - jest-docblock: "npm:^29.7.0" - jest-environment-node: "npm:^29.7.0" - jest-haste-map: "npm:^29.7.0" - jest-leak-detector: "npm:^29.7.0" - jest-message-util: "npm:^29.7.0" - jest-resolve: "npm:^29.7.0" - jest-runtime: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - jest-watcher: "npm:^29.7.0" - jest-worker: "npm:^29.7.0" - p-limit: "npm:^3.1.0" - source-map-support: "npm:0.5.13" - checksum: 2194b4531068d939f14c8d3274fe5938b77fa73126aedf9c09ec9dec57d13f22c72a3b5af01ac04f5c1cf2e28d0ac0b4a54212a61b05f10b5d6b47f2a1097bb4 - languageName: node - linkType: hard - -"jest-runtime@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-runtime@npm:29.7.0" - dependencies: - "@jest/environment": "npm:^29.7.0" - "@jest/fake-timers": "npm:^29.7.0" - "@jest/globals": "npm:^29.7.0" - "@jest/source-map": "npm:^29.6.3" - "@jest/test-result": "npm:^29.7.0" - "@jest/transform": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - "@types/node": "npm:*" - chalk: "npm:^4.0.0" - cjs-module-lexer: "npm:^1.0.0" - collect-v8-coverage: "npm:^1.0.0" - glob: "npm:^7.1.3" - graceful-fs: "npm:^4.2.9" - jest-haste-map: "npm:^29.7.0" - jest-message-util: "npm:^29.7.0" - jest-mock: "npm:^29.7.0" - jest-regex-util: "npm:^29.6.3" - jest-resolve: "npm:^29.7.0" - jest-snapshot: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - slash: "npm:^3.0.0" - strip-bom: "npm:^4.0.0" - checksum: 7cd89a1deda0bda7d0941835434e44f9d6b7bd50b5c5d9b0fc9a6c990b2d4d2cab59685ab3cb2850ed4cc37059f6de903af5a50565d7f7f1192a77d3fd6dd2a6 - languageName: node - linkType: hard - -"jest-snapshot@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-snapshot@npm:29.7.0" - dependencies: - "@babel/core": "npm:^7.11.6" - "@babel/generator": "npm:^7.7.2" - "@babel/plugin-syntax-jsx": "npm:^7.7.2" - "@babel/plugin-syntax-typescript": "npm:^7.7.2" - "@babel/types": "npm:^7.3.3" - "@jest/expect-utils": "npm:^29.7.0" - "@jest/transform": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - babel-preset-current-node-syntax: "npm:^1.0.0" - chalk: "npm:^4.0.0" - expect: "npm:^29.7.0" - graceful-fs: "npm:^4.2.9" - jest-diff: "npm:^29.7.0" - jest-get-type: "npm:^29.6.3" - jest-matcher-utils: "npm:^29.7.0" - jest-message-util: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - natural-compare: "npm:^1.4.0" - pretty-format: "npm:^29.7.0" - semver: "npm:^7.5.3" - checksum: 6e9003c94ec58172b4a62864a91c0146513207bedf4e0a06e1e2ac70a4484088a2683e3a0538d8ea913bcfd53dc54a9b98a98cdfa562e7fe1d1339aeae1da570 - languageName: node - linkType: hard - -"jest-util@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-util@npm:29.7.0" - dependencies: - "@jest/types": "npm:^29.6.3" - "@types/node": "npm:*" - chalk: "npm:^4.0.0" - ci-info: "npm:^3.2.0" - graceful-fs: "npm:^4.2.9" - picomatch: "npm:^2.2.3" - checksum: bc55a8f49fdbb8f51baf31d2a4f312fb66c9db1483b82f602c9c990e659cdd7ec529c8e916d5a89452ecbcfae4949b21b40a7a59d4ffc0cd813a973ab08c8150 - languageName: node - linkType: hard - -"jest-validate@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-validate@npm:29.7.0" - dependencies: - "@jest/types": "npm:^29.6.3" - camelcase: "npm:^6.2.0" - chalk: "npm:^4.0.0" - jest-get-type: "npm:^29.6.3" - leven: "npm:^3.1.0" - pretty-format: "npm:^29.7.0" - checksum: a20b930480c1ed68778c739f4739dce39423131bc070cd2505ddede762a5570a256212e9c2401b7ae9ba4d7b7c0803f03c5b8f1561c62348213aba18d9dbece2 - languageName: node - linkType: hard - -"jest-watcher@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-watcher@npm:29.7.0" - dependencies: - "@jest/test-result": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - "@types/node": "npm:*" - ansi-escapes: "npm:^4.2.1" - chalk: "npm:^4.0.0" - emittery: "npm:^0.13.1" - jest-util: "npm:^29.7.0" - string-length: "npm:^4.0.1" - checksum: ec6c75030562fc8f8c727cb8f3b94e75d831fc718785abfc196e1f2a2ebc9a2e38744a15147170039628a853d77a3b695561ce850375ede3a4ee6037a2574567 - languageName: node - linkType: hard - -"jest-worker@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-worker@npm:29.7.0" - dependencies: - "@types/node": "npm:*" - jest-util: "npm:^29.7.0" - merge-stream: "npm:^2.0.0" - supports-color: "npm:^8.0.0" - checksum: 5570a3a005b16f46c131968b8a5b56d291f9bbb85ff4217e31c80bd8a02e7de799e59a54b95ca28d5c302f248b54cbffde2d177c2f0f52ffcee7504c6eabf660 - languageName: node - linkType: hard - -"jest@npm:^29.7.0": - version: 29.7.0 - resolution: "jest@npm:29.7.0" - dependencies: - "@jest/core": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - import-local: "npm:^3.0.2" - jest-cli: "npm:^29.7.0" - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - bin: - jest: bin/jest.js - checksum: f40eb8171cf147c617cc6ada49d062fbb03b4da666cb8d39cdbfb739a7d75eea4c3ca150fb072d0d273dce0c753db4d0467d54906ad0293f59c54f9db4a09d8b - languageName: node - linkType: hard - -"jiti@npm:^1.19.1": - version: 1.21.0 - resolution: "jiti@npm:1.21.0" - bin: - jiti: bin/jiti.js - checksum: 7f361219fe6c7a5e440d5f1dba4ab763a5538d2df8708cdc22561cf25ea3e44b837687931fca7cdd8cdd9f567300e90be989dd1321650045012d8f9ed6aab07f - languageName: node - linkType: hard - -"jiti@npm:^1.21.0": - version: 1.21.6 - resolution: "jiti@npm:1.21.6" - bin: - jiti: bin/jiti.js - checksum: 05b9ed58cd30d0c3ccd3c98209339e74f50abd9a17e716f65db46b6a35812103f6bde6e134be7124d01745586bca8cc5dae1d0d952267c3ebe55171949c32e56 - languageName: node - linkType: hard - -"jotai@npm:^2.6.4": - version: 2.6.4 - resolution: "jotai@npm:2.6.4" - peerDependencies: - "@types/react": ">=17.0.0" - react: ">=17.0.0" - peerDependenciesMeta: - "@types/react": - optional: true - react: - optional: true - checksum: 2cda03cccff7f6509d5733412194543634dc496a01a88da4e81d6bf1c46c27383833e8bd9462ecbcd4b745316b54edf5aa403b42c098900561cc08a0f5fcaa54 - languageName: node - linkType: hard - -"js-tokens@npm:^3.0.0 || ^4.0.0, js-tokens@npm:^4.0.0": - version: 4.0.0 - resolution: "js-tokens@npm:4.0.0" - checksum: e248708d377aa058eacf2037b07ded847790e6de892bbad3dac0abba2e759cb9f121b00099a65195616badcb6eca8d14d975cb3e89eb1cfda644756402c8aeed - languageName: node - linkType: hard - -"js-yaml@npm:^3.13.1": - version: 3.14.1 - resolution: "js-yaml@npm:3.14.1" - dependencies: - argparse: "npm:^1.0.7" - esprima: "npm:^4.0.0" - bin: - js-yaml: bin/js-yaml.js - checksum: 6746baaaeac312c4db8e75fa22331d9a04cccb7792d126ed8ce6a0bbcfef0cedaddd0c5098fade53db067c09fe00aa1c957674b4765610a8b06a5a189e46433b - languageName: node - linkType: hard - -"js-yaml@npm:^4.1.0": - version: 4.1.0 - resolution: "js-yaml@npm:4.1.0" - dependencies: - argparse: "npm:^2.0.1" - bin: - js-yaml: bin/js-yaml.js - checksum: 184a24b4eaacfce40ad9074c64fd42ac83cf74d8c8cd137718d456ced75051229e5061b8633c3366b8aada17945a7a356b337828c19da92b51ae62126575018f - languageName: node - linkType: hard - -"jsbn@npm:1.1.0": - version: 1.1.0 - resolution: "jsbn@npm:1.1.0" - checksum: 4f907fb78d7b712e11dea8c165fe0921f81a657d3443dde75359ed52eb2b5d33ce6773d97985a089f09a65edd80b11cb75c767b57ba47391fee4c969f7215c96 - languageName: node - linkType: hard - -"jsdom@npm:^20.0.0": - version: 20.0.3 - resolution: "jsdom@npm:20.0.3" - dependencies: - abab: "npm:^2.0.6" - acorn: "npm:^8.8.1" - acorn-globals: "npm:^7.0.0" - cssom: "npm:^0.5.0" - cssstyle: "npm:^2.3.0" - data-urls: "npm:^3.0.2" - decimal.js: "npm:^10.4.2" - domexception: "npm:^4.0.0" - escodegen: "npm:^2.0.0" - form-data: "npm:^4.0.0" - html-encoding-sniffer: "npm:^3.0.0" - http-proxy-agent: "npm:^5.0.0" - https-proxy-agent: "npm:^5.0.1" - is-potential-custom-element-name: "npm:^1.0.1" - nwsapi: "npm:^2.2.2" - parse5: "npm:^7.1.1" - saxes: "npm:^6.0.0" - symbol-tree: "npm:^3.2.4" - tough-cookie: "npm:^4.1.2" - w3c-xmlserializer: "npm:^4.0.0" - webidl-conversions: "npm:^7.0.0" - whatwg-encoding: "npm:^2.0.0" - whatwg-mimetype: "npm:^3.0.0" - whatwg-url: "npm:^11.0.0" - ws: "npm:^8.11.0" - xml-name-validator: "npm:^4.0.0" - peerDependencies: - canvas: ^2.5.0 - peerDependenciesMeta: - canvas: - optional: true - checksum: b109073bb826a966db7828f46cb1d7371abecd30f182b143c52be5fe1ed84513bbbe995eb3d157241681fcd18331381e61e3dc004d4949f3a63bca02f6214902 - languageName: node - linkType: hard - -"jsesc@npm:^2.5.1": - version: 2.5.2 - resolution: "jsesc@npm:2.5.2" - bin: - jsesc: bin/jsesc - checksum: dbf59312e0ebf2b4405ef413ec2b25abb5f8f4d9bc5fb8d9f90381622ebca5f2af6a6aa9a8578f65903f9e33990a6dc798edd0ce5586894bf0e9e31803a1de88 - languageName: node - linkType: hard - -"json-buffer@npm:3.0.1": - version: 3.0.1 - resolution: "json-buffer@npm:3.0.1" - checksum: 0d1c91569d9588e7eef2b49b59851f297f3ab93c7b35c7c221e288099322be6b562767d11e4821da500f3219542b9afd2e54c5dc573107c1126ed1080f8e96d7 - languageName: node - linkType: hard - -"json-parse-even-better-errors@npm:^2.3.0": - version: 2.3.1 - resolution: "json-parse-even-better-errors@npm:2.3.1" - checksum: 140932564c8f0b88455432e0f33c4cb4086b8868e37524e07e723f4eaedb9425bdc2bafd71bd1d9765bd15fd1e2d126972bc83990f55c467168c228c24d665f3 - languageName: node - linkType: hard - -"json-rpc-engine@npm:^6.1.0": - version: 6.1.0 - resolution: "json-rpc-engine@npm:6.1.0" - dependencies: - "@metamask/safe-event-emitter": "npm:^2.0.0" - eth-rpc-errors: "npm:^4.0.2" - checksum: 29c480f88152b1987ab0f58f9242ee163d5a7e95cd0d8ae876c08b21657022b82f6008f5eecd048842fb7f6fc3b4e364fde99ca620458772b6abd1d2c1e020d5 - languageName: node - linkType: hard - -"json-rpc-random-id@npm:^1.0.0, json-rpc-random-id@npm:^1.0.1": - version: 1.0.1 - resolution: "json-rpc-random-id@npm:1.0.1" - checksum: 8d4594a3d4ef5f4754336e350291a6677fc6e0d8801ecbb2a1e92e50ca04a4b57e5eb97168a4b2a8e6888462133cbfee13ea90abc008fb2f7279392d83d3ee7a - languageName: node - linkType: hard - -"json-schema-traverse@npm:^0.4.1": - version: 0.4.1 - resolution: "json-schema-traverse@npm:0.4.1" - checksum: 108fa90d4cc6f08243aedc6da16c408daf81793bf903e9fd5ab21983cda433d5d2da49e40711da016289465ec2e62e0324dcdfbc06275a607fe3233fde4942ce - languageName: node - linkType: hard - -"json-stable-stringify-without-jsonify@npm:^1.0.1": - version: 1.0.1 - resolution: "json-stable-stringify-without-jsonify@npm:1.0.1" - checksum: cb168b61fd4de83e58d09aaa6425ef71001bae30d260e2c57e7d09a5fd82223e2f22a042dedaab8db23b7d9ae46854b08bb1f91675a8be11c5cffebef5fb66a5 - languageName: node - linkType: hard - -"json5@npm:^1.0.2": - version: 1.0.2 - resolution: "json5@npm:1.0.2" - dependencies: - minimist: "npm:^1.2.0" - bin: - json5: lib/cli.js - checksum: 9ee316bf21f000b00752e6c2a3b79ecf5324515a5c60ee88983a1910a45426b643a4f3461657586e8aeca87aaf96f0a519b0516d2ae527a6c3e7eed80f68717f - languageName: node - linkType: hard - -"json5@npm:^2.2.3": - version: 2.2.3 - resolution: "json5@npm:2.2.3" - bin: - json5: lib/cli.js - checksum: 5a04eed94810fa55c5ea138b2f7a5c12b97c3750bc63d11e511dcecbfef758003861522a070c2272764ee0f4e3e323862f386945aeb5b85b87ee43f084ba586c - languageName: node - linkType: hard - -"jsx-ast-utils@npm:^2.4.1 || ^3.0.0, jsx-ast-utils@npm:^3.3.5": - version: 3.3.5 - resolution: "jsx-ast-utils@npm:3.3.5" - dependencies: - array-includes: "npm:^3.1.6" - array.prototype.flat: "npm:^1.3.1" - object.assign: "npm:^4.1.4" - object.values: "npm:^1.1.6" - checksum: a32679e9cb55469cb6d8bbc863f7d631b2c98b7fc7bf172629261751a6e7bc8da6ae374ddb74d5fbd8b06cf0eb4572287b259813d92b36e384024ed35e4c13e1 - languageName: node - linkType: hard - -"keccak@npm:^3.0.3": - version: 3.0.4 - resolution: "keccak@npm:3.0.4" - dependencies: - node-addon-api: "npm:^2.0.0" - node-gyp: "npm:latest" - node-gyp-build: "npm:^4.2.0" - readable-stream: "npm:^3.6.0" - checksum: 153525c1c1f770beadb8f8897dec2f1d2dcbee11d063fe5f61957a5b236bfd3d2a111ae2727e443aa6a848df5edb98b9ef237c78d56df49087b0ca8a232ca9cd - languageName: node - linkType: hard - -"keyv@npm:^4.5.3": - version: 4.5.4 - resolution: "keyv@npm:4.5.4" - dependencies: - json-buffer: "npm:3.0.1" - checksum: aa52f3c5e18e16bb6324876bb8b59dd02acf782a4b789c7b2ae21107fab95fab3890ed448d4f8dba80ce05391eeac4bfabb4f02a20221342982f806fa2cf271e - languageName: node - linkType: hard - -"keyvaluestorage-interface@npm:^1.0.0": - version: 1.0.0 - resolution: "keyvaluestorage-interface@npm:1.0.0" - checksum: 0e028ebeda79a4e48c7e36708dbe7ced233c7a1f1bc925e506f150dd2ce43178bee8d20361c445bd915569709d9dc9ea80063b4d3c3cf5d615ab43aa31d3ec3d - languageName: node - linkType: hard - -"kleur@npm:^3.0.3": - version: 3.0.3 - resolution: "kleur@npm:3.0.3" - checksum: cd3a0b8878e7d6d3799e54340efe3591ca787d9f95f109f28129bdd2915e37807bf8918bb295ab86afb8c82196beec5a1adcaf29042ce3f2bd932b038fe3aa4b - languageName: node - linkType: hard - -"language-subtag-registry@npm:^0.3.20": - version: 0.3.22 - resolution: "language-subtag-registry@npm:0.3.22" - checksum: d1e09971260a7cd3b9fdeb190d33af0b6e99c8697013537d9aaa15f7856d9d83aee128ba8078e219df0a7cf4b8dd18d1a0c188f6543b500d92a2689d2d114b70 - languageName: node - linkType: hard - -"language-tags@npm:^1.0.9": - version: 1.0.9 - resolution: "language-tags@npm:1.0.9" - dependencies: - language-subtag-registry: "npm:^0.3.20" - checksum: 9ab911213c4bd8bd583c850201c17794e52cb0660d1ab6e32558aadc8324abebf6844e46f92b80a5d600d0fbba7eface2c207bfaf270a1c7fd539e4c3a880bff - languageName: node - linkType: hard - -"leven@npm:^3.1.0": - version: 3.1.0 - resolution: "leven@npm:3.1.0" - checksum: cd778ba3fbab0f4d0500b7e87d1f6e1f041507c56fdcd47e8256a3012c98aaee371d4c15e0a76e0386107af2d42e2b7466160a2d80688aaa03e66e49949f42df - languageName: node - linkType: hard - -"levn@npm:^0.4.1": - version: 0.4.1 - resolution: "levn@npm:0.4.1" - dependencies: - prelude-ls: "npm:^1.2.1" - type-check: "npm:~0.4.0" - checksum: effb03cad7c89dfa5bd4f6989364bfc79994c2042ec5966cb9b95990e2edee5cd8969ddf42616a0373ac49fac1403437deaf6e9050fbbaa3546093a59b9ac94e - languageName: node - linkType: hard - -"lilconfig@npm:^2.1.0": - version: 2.1.0 - resolution: "lilconfig@npm:2.1.0" - checksum: 64645641aa8d274c99338e130554abd6a0190533c0d9eb2ce7ebfaf2e05c7d9961f3ffe2bfa39efd3b60c521ba3dd24fa236fe2775fc38501bf82bf49d4678b8 - languageName: node - linkType: hard - -"lilconfig@npm:^3.0.0": - version: 3.1.0 - resolution: "lilconfig@npm:3.1.0" - checksum: cd126834a0e964f4798a0f87245529acc6b3c163ee2dbf6b95b23f024d0a18a361f706ead21052a7f4aefc3a55d6d67217ad3aded30de5b564c19941ec80ea35 - languageName: node - linkType: hard - -"lines-and-columns@npm:^1.1.6": - version: 1.2.4 - resolution: "lines-and-columns@npm:1.2.4" - checksum: 3da6ee62d4cd9f03f5dc90b4df2540fb85b352081bee77fe4bbcd12c9000ead7f35e0a38b8d09a9bb99b13223446dd8689ff3c4959807620726d788701a83d2d - languageName: node - linkType: hard - -"listhen@npm:^1.7.2": - version: 1.7.2 - resolution: "listhen@npm:1.7.2" - dependencies: - "@parcel/watcher": "npm:^2.4.1" - "@parcel/watcher-wasm": "npm:^2.4.1" - citty: "npm:^0.1.6" - clipboardy: "npm:^4.0.0" - consola: "npm:^3.2.3" - crossws: "npm:^0.2.0" - defu: "npm:^6.1.4" - get-port-please: "npm:^3.1.2" - h3: "npm:^1.10.2" - http-shutdown: "npm:^1.2.2" - jiti: "npm:^1.21.0" - mlly: "npm:^1.6.1" - node-forge: "npm:^1.3.1" - pathe: "npm:^1.1.2" - std-env: "npm:^3.7.0" - ufo: "npm:^1.4.0" - untun: "npm:^0.1.3" - uqr: "npm:^0.1.2" - bin: - listen: bin/listhen.mjs - listhen: bin/listhen.mjs - checksum: cd4d0651686b88c61a5bd5d5afc03feb99e352eb7862260112010655cf7997fb3356e61317f09555e2b7412175ae05265fc9e97458aa014586bf9fa4ab22bd5a - languageName: node - linkType: hard - -"lit-element@npm:^3.3.0": - version: 3.3.3 - resolution: "lit-element@npm:3.3.3" - dependencies: - "@lit-labs/ssr-dom-shim": "npm:^1.1.0" - "@lit/reactive-element": "npm:^1.3.0" - lit-html: "npm:^2.8.0" - checksum: f44c12fa3423a4e9ca5b84651410687e14646bb270ac258325e6905affac64a575f041f8440377e7ebaefa3910b6f0d6b8b1e902cb1aa5d0849b3fdfbf4fb3b6 - languageName: node - linkType: hard - -"lit-html@npm:^2.8.0": - version: 2.8.0 - resolution: "lit-html@npm:2.8.0" - dependencies: - "@types/trusted-types": "npm:^2.0.2" - checksum: 90057dee050803823ac884c1355b0213ab8c05fbe2ec63943c694b61aade5d36272068f3925f45a312835e504f9c9784738ef797009f0a756a750351eafb52d5 - languageName: node - linkType: hard - -"lit@npm:2.8.0": - version: 2.8.0 - resolution: "lit@npm:2.8.0" - dependencies: - "@lit/reactive-element": "npm:^1.6.0" - lit-element: "npm:^3.3.0" - lit-html: "npm:^2.8.0" - checksum: bf33c26b1937ee204aed1adbfa4b3d43a284e85aad8ea9763c7865365917426eded4e5888158b4136095ea42054812561fe272862b61775f1198fad3588b071f - languageName: node - linkType: hard - -"locate-path@npm:^5.0.0": - version: 5.0.0 - resolution: "locate-path@npm:5.0.0" - dependencies: - p-locate: "npm:^4.1.0" - checksum: 33a1c5247e87e022f9713e6213a744557a3e9ec32c5d0b5efb10aa3a38177615bf90221a5592674857039c1a0fd2063b82f285702d37b792d973e9e72ace6c59 - languageName: node - linkType: hard - -"locate-path@npm:^6.0.0": - version: 6.0.0 - resolution: "locate-path@npm:6.0.0" - dependencies: - p-locate: "npm:^5.0.0" - checksum: d3972ab70dfe58ce620e64265f90162d247e87159b6126b01314dd67be43d50e96a50b517bce2d9452a79409c7614054c277b5232377de50416564a77ac7aad3 - languageName: node - linkType: hard - -"lodash.isequal@npm:4.5.0": - version: 4.5.0 - resolution: "lodash.isequal@npm:4.5.0" - checksum: dfdb2356db19631a4b445d5f37868a095e2402292d59539a987f134a8778c62a2810c2452d11ae9e6dcac71fc9de40a6fedcb20e2952a15b431ad8b29e50e28f - languageName: node - linkType: hard - -"lodash.merge@npm:^4.6.2": - version: 4.6.2 - resolution: "lodash.merge@npm:4.6.2" - checksum: 402fa16a1edd7538de5b5903a90228aa48eb5533986ba7fa26606a49db2572bf414ff73a2c9f5d5fd36b31c46a5d5c7e1527749c07cbcf965ccff5fbdf32c506 - languageName: node - linkType: hard - -"lodash@npm:^4.17.15": - version: 4.17.21 - resolution: "lodash@npm:4.17.21" - checksum: d8cbea072bb08655bb4c989da418994b073a608dffa608b09ac04b43a791b12aeae7cd7ad919aa4c925f33b48490b5cfe6c1f71d827956071dae2e7bb3a6b74c - languageName: node - linkType: hard - -"loose-envify@npm:^1.0.0, loose-envify@npm:^1.1.0, loose-envify@npm:^1.4.0": - version: 1.4.0 - resolution: "loose-envify@npm:1.4.0" - dependencies: - js-tokens: "npm:^3.0.0 || ^4.0.0" - bin: - loose-envify: cli.js - checksum: 655d110220983c1a4b9c0c679a2e8016d4b67f6e9c7b5435ff5979ecdb20d0813f4dec0a08674fcbdd4846a3f07edbb50a36811fd37930b94aaa0d9daceb017e - languageName: node - linkType: hard - -"lru-cache@npm:^10.0.1, lru-cache@npm:^10.2.0, lru-cache@npm:^9.1.1 || ^10.0.0": - version: 10.2.0 - resolution: "lru-cache@npm:10.2.0" - checksum: c9847612aa2daaef102d30542a8d6d9b2c2bb36581c1bf0dc3ebf5e5f3352c772a749e604afae2e46873b930a9e9523743faac4e5b937c576ab29196774712ee - languageName: node - linkType: hard - -"lru-cache@npm:^5.1.1": - version: 5.1.1 - resolution: "lru-cache@npm:5.1.1" - dependencies: - yallist: "npm:^3.0.2" - checksum: 89b2ef2ef45f543011e38737b8a8622a2f8998cddf0e5437174ef8f1f70a8b9d14a918ab3e232cb3ba343b7abddffa667f0b59075b2b80e6b4d63c3de6127482 - languageName: node - linkType: hard - -"lru-cache@npm:^6.0.0": - version: 6.0.0 - resolution: "lru-cache@npm:6.0.0" - dependencies: - yallist: "npm:^4.0.0" - checksum: cb53e582785c48187d7a188d3379c181b5ca2a9c78d2bce3e7dee36f32761d1c42983da3fe12b55cb74e1779fa94cdc2e5367c028a9b35317184ede0c07a30a9 - languageName: node - linkType: hard - -"lz-string@npm:^1.5.0": - version: 1.5.0 - resolution: "lz-string@npm:1.5.0" - bin: - lz-string: bin/bin.js - checksum: 36128e4de34791838abe979b19927c26e67201ca5acf00880377af7d765b38d1c60847e01c5ec61b1a260c48029084ab3893a3925fd6e48a04011364b089991b - languageName: node - linkType: hard - -"make-dir@npm:^4.0.0": - version: 4.0.0 - resolution: "make-dir@npm:4.0.0" - dependencies: - semver: "npm:^7.5.3" - checksum: 69b98a6c0b8e5c4fe9acb61608a9fbcfca1756d910f51e5dbe7a9e5cfb74fca9b8a0c8a0ffdf1294a740826c1ab4871d5bf3f62f72a3049e5eac6541ddffed68 - languageName: node - linkType: hard - -"make-error@npm:^1.1.1": - version: 1.3.6 - resolution: "make-error@npm:1.3.6" - checksum: 171e458d86854c6b3fc46610cfacf0b45149ba043782558c6875d9f42f222124384ad0b468c92e996d815a8a2003817a710c0a160e49c1c394626f76fa45396f - languageName: node - linkType: hard - -"make-fetch-happen@npm:^13.0.0": - version: 13.0.0 - resolution: "make-fetch-happen@npm:13.0.0" - dependencies: - "@npmcli/agent": "npm:^2.0.0" - cacache: "npm:^18.0.0" - http-cache-semantics: "npm:^4.1.1" - is-lambda: "npm:^1.0.1" - minipass: "npm:^7.0.2" - minipass-fetch: "npm:^3.0.0" - minipass-flush: "npm:^1.0.5" - minipass-pipeline: "npm:^1.2.4" - negotiator: "npm:^0.6.3" - promise-retry: "npm:^2.0.1" - ssri: "npm:^10.0.0" - checksum: 43b9f6dcbc6fe8b8604cb6396957c3698857a15ba4dbc38284f7f0e61f248300585ef1eb8cc62df54e9c724af977e45b5cdfd88320ef7f53e45070ed3488da55 - languageName: node - linkType: hard - -"makeerror@npm:1.0.12": - version: 1.0.12 - resolution: "makeerror@npm:1.0.12" - dependencies: - tmpl: "npm:1.0.5" - checksum: b0e6e599780ce6bab49cc413eba822f7d1f0dfebd1c103eaa3785c59e43e22c59018323cf9e1708f0ef5329e94a745d163fcbb6bff8e4c6742f9be9e86f3500c - languageName: node - linkType: hard - -"media-query-parser@npm:^2.0.2": - version: 2.0.2 - resolution: "media-query-parser@npm:2.0.2" - dependencies: - "@babel/runtime": "npm:^7.12.5" - checksum: 91a987e9f6620f5c7d0fcf22bd0a106bbaccdef96aba62c461656ee656e141dd2b60f2f1d99411799183c2ea993bd177ca92c26c08bf321fbc0c846ab391d79c - languageName: node - linkType: hard - -"merge-stream@npm:^2.0.0": - version: 2.0.0 - resolution: "merge-stream@npm:2.0.0" - checksum: 867fdbb30a6d58b011449b8885601ec1690c3e41c759ecd5a9d609094f7aed0096c37823ff4a7190ef0b8f22cc86beb7049196ff68c016e3b3c671d0dac91ce5 - languageName: node - linkType: hard - -"merge2@npm:^1.3.0, merge2@npm:^1.4.1": - version: 1.4.1 - resolution: "merge2@npm:1.4.1" - checksum: 254a8a4605b58f450308fc474c82ac9a094848081bf4c06778200207820e5193726dc563a0d2c16468810516a5c97d9d3ea0ca6585d23c58ccfff2403e8dbbeb - languageName: node - linkType: hard - -"micro-ftch@npm:^0.3.1": - version: 0.3.1 - resolution: "micro-ftch@npm:0.3.1" - checksum: b87d35a52aded13cf2daca8d4eaa84e218722b6f83c75ddd77d74f32cc62e699a672e338e1ee19ceae0de91d19cc24dcc1a7c7d78c81f51042fe55f01b196ed3 - languageName: node - linkType: hard - -"micromatch@npm:^4.0.4, micromatch@npm:^4.0.5": - version: 4.0.8 - resolution: "micromatch@npm:4.0.8" - dependencies: - braces: "npm:^3.0.3" - picomatch: "npm:^2.3.1" - checksum: 166fa6eb926b9553f32ef81f5f531d27b4ce7da60e5baf8c021d043b27a388fb95e46a8038d5045877881e673f8134122b59624d5cecbd16eb50a42e7a6b5ca8 - languageName: node - linkType: hard - -"mime-db@npm:1.52.0": - version: 1.52.0 - resolution: "mime-db@npm:1.52.0" - checksum: 0557a01deebf45ac5f5777fe7740b2a5c309c6d62d40ceab4e23da9f821899ce7a900b7ac8157d4548ddbb7beffe9abc621250e6d182b0397ec7f10c7b91a5aa - languageName: node - linkType: hard - -"mime-types@npm:^2.1.12": - version: 2.1.35 - resolution: "mime-types@npm:2.1.35" - dependencies: - mime-db: "npm:1.52.0" - checksum: 82fb07ec56d8ff1fc999a84f2f217aa46cb6ed1033fefaabd5785b9a974ed225c90dc72fff460259e66b95b73648596dbcc50d51ed69cdf464af2d237d3149b2 - languageName: node - linkType: hard - -"mime@npm:^3.0.0": - version: 3.0.0 - resolution: "mime@npm:3.0.0" - bin: - mime: cli.js - checksum: 402e792a8df1b2cc41cb77f0dcc46472b7944b7ec29cb5bbcd398624b6b97096728f1239766d3fdeb20551dd8d94738344c195a6ea10c4f906eb0356323b0531 - languageName: node - linkType: hard - -"mimic-fn@npm:^2.1.0": - version: 2.1.0 - resolution: "mimic-fn@npm:2.1.0" - checksum: b26f5479d7ec6cc2bce275a08f146cf78f5e7b661b18114e2506dd91ec7ec47e7a25bf4360e5438094db0560bcc868079fb3b1fb3892b833c1ecbf63f80c95a4 - languageName: node - linkType: hard - -"mimic-fn@npm:^4.0.0": - version: 4.0.0 - resolution: "mimic-fn@npm:4.0.0" - checksum: de9cc32be9996fd941e512248338e43407f63f6d497abe8441fa33447d922e927de54d4cc3c1a3c6d652857acd770389d5a3823f311a744132760ce2be15ccbf - languageName: node - linkType: hard - -"min-indent@npm:^1.0.0": - version: 1.0.1 - resolution: "min-indent@npm:1.0.1" - checksum: 7e207bd5c20401b292de291f02913230cb1163abca162044f7db1d951fa245b174dc00869d40dd9a9f32a885ad6a5f3e767ee104cf278f399cb4e92d3f582d5c - languageName: node - linkType: hard - -"minimalistic-assert@npm:^1.0.0, minimalistic-assert@npm:^1.0.1": - version: 1.0.1 - resolution: "minimalistic-assert@npm:1.0.1" - checksum: 96730e5601cd31457f81a296f521eb56036e6f69133c0b18c13fe941109d53ad23a4204d946a0d638d7f3099482a0cec8c9bb6d642604612ce43ee536be3dddd - languageName: node - linkType: hard - -"minimalistic-crypto-utils@npm:^1.0.1": - version: 1.0.1 - resolution: "minimalistic-crypto-utils@npm:1.0.1" - checksum: 790ecec8c5c73973a4fbf2c663d911033e8494d5fb0960a4500634766ab05d6107d20af896ca2132e7031741f19888154d44b2408ada0852446705441383e9f8 - languageName: node - linkType: hard - -"minimatch@npm:9.0.3, minimatch@npm:^9.0.1": - version: 9.0.3 - resolution: "minimatch@npm:9.0.3" - dependencies: - brace-expansion: "npm:^2.0.1" - checksum: 85f407dcd38ac3e180f425e86553911d101455ca3ad5544d6a7cec16286657e4f8a9aa6695803025c55e31e35a91a2252b5dc8e7d527211278b8b65b4dbd5eac - languageName: node - linkType: hard - -"minimatch@npm:^3.0.4, minimatch@npm:^3.0.5, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": - version: 3.1.2 - resolution: "minimatch@npm:3.1.2" - dependencies: - brace-expansion: "npm:^1.1.7" - checksum: 0262810a8fc2e72cca45d6fd86bd349eee435eb95ac6aa45c9ea2180e7ee875ef44c32b55b5973ceabe95ea12682f6e3725cbb63d7a2d1da3ae1163c8b210311 - languageName: node - linkType: hard - -"minimist@npm:^1.2.0, minimist@npm:^1.2.6": - version: 1.2.8 - resolution: "minimist@npm:1.2.8" - checksum: 19d3fcdca050087b84c2029841a093691a91259a47def2f18222f41e7645a0b7c44ef4b40e88a1e58a40c84d2ef0ee6047c55594d298146d0eb3f6b737c20ce6 - languageName: node - linkType: hard - -"minipass-collect@npm:^2.0.1": - version: 2.0.1 - resolution: "minipass-collect@npm:2.0.1" - dependencies: - minipass: "npm:^7.0.3" - checksum: 5167e73f62bb74cc5019594709c77e6a742051a647fe9499abf03c71dca75515b7959d67a764bdc4f8b361cf897fbf25e2d9869ee039203ed45240f48b9aa06e - languageName: node - linkType: hard - -"minipass-fetch@npm:^3.0.0": - version: 3.0.4 - resolution: "minipass-fetch@npm:3.0.4" - dependencies: - encoding: "npm:^0.1.13" - minipass: "npm:^7.0.3" - minipass-sized: "npm:^1.0.3" - minizlib: "npm:^2.1.2" - dependenciesMeta: - encoding: - optional: true - checksum: 1b63c1f3313e88eeac4689f1b71c9f086598db9a189400e3ee960c32ed89e06737fa23976c9305c2d57464fb3fcdc12749d3378805c9d6176f5569b0d0ee8a75 - languageName: node - linkType: hard - -"minipass-flush@npm:^1.0.5": - version: 1.0.5 - resolution: "minipass-flush@npm:1.0.5" - dependencies: - minipass: "npm:^3.0.0" - checksum: 2a51b63feb799d2bb34669205eee7c0eaf9dce01883261a5b77410c9408aa447e478efd191b4de6fc1101e796ff5892f8443ef20d9544385819093dbb32d36bd - languageName: node - linkType: hard - -"minipass-pipeline@npm:^1.2.4": - version: 1.2.4 - resolution: "minipass-pipeline@npm:1.2.4" - dependencies: - minipass: "npm:^3.0.0" - checksum: cbda57cea20b140b797505dc2cac71581a70b3247b84480c1fed5ca5ba46c25ecc25f68bfc9e6dcb1a6e9017dab5c7ada5eab73ad4f0a49d84e35093e0c643f2 - languageName: node - linkType: hard - -"minipass-sized@npm:^1.0.3": - version: 1.0.3 - resolution: "minipass-sized@npm:1.0.3" - dependencies: - minipass: "npm:^3.0.0" - checksum: 298f124753efdc745cfe0f2bdfdd81ba25b9f4e753ca4a2066eb17c821f25d48acea607dfc997633ee5bf7b6dfffb4eee4f2051eb168663f0b99fad2fa4829cb - languageName: node - linkType: hard - -"minipass@npm:^3.0.0": - version: 3.3.6 - resolution: "minipass@npm:3.3.6" - dependencies: - yallist: "npm:^4.0.0" - checksum: a114746943afa1dbbca8249e706d1d38b85ed1298b530f5808ce51f8e9e941962e2a5ad2e00eae7dd21d8a4aae6586a66d4216d1a259385e9d0358f0c1eba16c - languageName: node - linkType: hard - -"minipass@npm:^5.0.0": - version: 5.0.0 - resolution: "minipass@npm:5.0.0" - checksum: a91d8043f691796a8ac88df039da19933ef0f633e3d7f0d35dcd5373af49131cf2399bfc355f41515dc495e3990369c3858cd319e5c2722b4753c90bf3152462 - languageName: node - linkType: hard - -"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3, minipass@npm:^7.0.4": - version: 7.0.4 - resolution: "minipass@npm:7.0.4" - checksum: 6c7370a6dfd257bf18222da581ba89a5eaedca10e158781232a8b5542a90547540b4b9b7e7f490e4cda43acfbd12e086f0453728ecf8c19e0ef6921bc5958ac5 - languageName: node - linkType: hard - -"minizlib@npm:^2.1.1, minizlib@npm:^2.1.2": - version: 2.1.2 - resolution: "minizlib@npm:2.1.2" - dependencies: - minipass: "npm:^3.0.0" - yallist: "npm:^4.0.0" - checksum: 64fae024e1a7d0346a1102bb670085b17b7f95bf6cfdf5b128772ec8faf9ea211464ea4add406a3a6384a7d87a0cd1a96263692134323477b4fb43659a6cab78 - languageName: node - linkType: hard - -"minizlib@npm:^3.0.1": - version: 3.0.1 - resolution: "minizlib@npm:3.0.1" - dependencies: - minipass: "npm:^7.0.4" - rimraf: "npm:^5.0.5" - checksum: 82f8bf70da8af656909a8ee299d7ed3b3372636749d29e105f97f20e88971be31f5ed7642f2e898f00283b68b701cc01307401cdc209b0efc5dd3818220e5093 - languageName: node - linkType: hard - -"mipd@npm:0.0.7": - version: 0.0.7 - resolution: "mipd@npm:0.0.7" - peerDependencies: - typescript: ">=5.0.4" - peerDependenciesMeta: - typescript: - optional: true - checksum: c536e4fcdc15793b4538f72da389f8901a7eccb2e1eb55d8878f234a45f1c271064650e76fa2967b94743e19cc32ceab3c7b1e0dc614e28a45b0bbd6c987795d - languageName: node - linkType: hard - -"mkdirp@npm:^1.0.3": - version: 1.0.4 - resolution: "mkdirp@npm:1.0.4" - bin: - mkdirp: bin/cmd.js - checksum: 46ea0f3ffa8bc6a5bc0c7081ffc3907777f0ed6516888d40a518c5111f8366d97d2678911ad1a6882bf592fa9de6c784fea32e1687bb94e1f4944170af48a5cf - languageName: node - linkType: hard - -"mkdirp@npm:^3.0.1": - version: 3.0.1 - resolution: "mkdirp@npm:3.0.1" - bin: - mkdirp: dist/cjs/src/bin.js - checksum: 9f2b975e9246351f5e3a40dcfac99fcd0baa31fbfab615fe059fb11e51f10e4803c63de1f384c54d656e4db31d000e4767e9ef076a22e12a641357602e31d57d - languageName: node - linkType: hard - -"mlly@npm:^1.6.1, mlly@npm:^1.7.1": - version: 1.7.1 - resolution: "mlly@npm:1.7.1" - dependencies: - acorn: "npm:^8.11.3" - pathe: "npm:^1.1.2" - pkg-types: "npm:^1.1.1" - ufo: "npm:^1.5.3" - checksum: d836a7b0adff4d118af41fb93ad4d9e57f80e694a681185280ba220a4607603c19e86c80f9a6c57512b04280567f2599e3386081705c5b5fd74c9ddfd571d0fa - languageName: node - linkType: hard - -"modern-ahocorasick@npm:^1.0.0": - version: 1.0.1 - resolution: "modern-ahocorasick@npm:1.0.1" - checksum: 90ef4516ba8eef136d0cd4949faacdadee02217b8e25deda2881054ca8fcc32b985ef159b6e794c40e11c51040303c8e2975b20b23b86ec8a2a63516bbf93add - languageName: node - linkType: hard - -"motion@npm:10.16.2": - version: 10.16.2 - resolution: "motion@npm:10.16.2" - dependencies: - "@motionone/animation": "npm:^10.15.1" - "@motionone/dom": "npm:^10.16.2" - "@motionone/svelte": "npm:^10.16.2" - "@motionone/types": "npm:^10.15.1" - "@motionone/utils": "npm:^10.15.1" - "@motionone/vue": "npm:^10.16.2" - checksum: ea3fa2c7ce881824bcefa39b96b5e2b802d4b664b8a64644cded11197c9262e2a5b14b2e9516940e06cec37d3c39e4c79b26825c447f71ba1cfd7e3370efbe61 - languageName: node - linkType: hard - -"mri@npm:^1.2.0": - version: 1.2.0 - resolution: "mri@npm:1.2.0" - checksum: a3d32379c2554cf7351db6237ddc18dc9e54e4214953f3da105b97dc3babe0deb3ffe99cf409b38ea47cc29f9430561ba6b53b24ab8f9ce97a4b50409e4a50e7 - languageName: node - linkType: hard - -"ms@npm:2.1.2": - version: 2.1.2 - resolution: "ms@npm:2.1.2" - checksum: a437714e2f90dbf881b5191d35a6db792efbca5badf112f87b9e1c712aace4b4b9b742dd6537f3edf90fd6f684de897cec230abde57e87883766712ddda297cc - languageName: node - linkType: hard - -"ms@npm:^2.1.1": - version: 2.1.3 - resolution: "ms@npm:2.1.3" - checksum: d924b57e7312b3b63ad21fc5b3dc0af5e78d61a1fc7cfb5457edaf26326bf62be5307cc87ffb6862ef1c2b33b0233cdb5d4f01c4c958cc0d660948b65a287a48 - languageName: node - linkType: hard - -"multiformats@npm:^9.4.2": - version: 9.9.0 - resolution: "multiformats@npm:9.9.0" - checksum: 1fdb34fd2fb085142665e8bd402570659b50a5fae5994027e1df3add9e1ce1283ed1e0c2584a5c63ac0a58e871b8ee9665c4a99ca36ce71032617449d48aa975 - languageName: node - linkType: hard - -"mz@npm:^2.7.0": - version: 2.7.0 - resolution: "mz@npm:2.7.0" - dependencies: - any-promise: "npm:^1.0.0" - object-assign: "npm:^4.0.1" - thenify-all: "npm:^1.0.0" - checksum: 103114e93f87362f0b56ab5b2e7245051ad0276b646e3902c98397d18bb8f4a77f2ea4a2c9d3ad516034ea3a56553b60d3f5f78220001ca4c404bd711bd0af39 - languageName: node - linkType: hard - -"nanoid@npm:^3.3.6, nanoid@npm:^3.3.7": - version: 3.3.7 - resolution: "nanoid@npm:3.3.7" - bin: - nanoid: bin/nanoid.cjs - checksum: e3fb661aa083454f40500473bb69eedb85dc160e763150b9a2c567c7e9ff560ce028a9f833123b618a6ea742e311138b591910e795614a629029e86e180660f3 - languageName: node - linkType: hard - -"napi-wasm@npm:^1.1.0": - version: 1.1.0 - resolution: "napi-wasm@npm:1.1.0" - checksum: 074df6b5b72698f07b39ca3c448a3fcbaf8e6e78521f0cb3aefd8c2f059d69eae0e3bfe367b4aa3df1976c25e351e4e52a359f22fb2c379eb6781bfa042f582b - languageName: node - linkType: hard - -"natural-compare@npm:^1.4.0": - version: 1.4.0 - resolution: "natural-compare@npm:1.4.0" - checksum: f5f9a7974bfb28a91afafa254b197f0f22c684d4a1731763dda960d2c8e375b36c7d690e0d9dc8fba774c537af14a7e979129bca23d88d052fbeb9466955e447 - languageName: node - linkType: hard - -"negotiator@npm:^0.6.3": - version: 0.6.3 - resolution: "negotiator@npm:0.6.3" - checksum: 3ec9fd413e7bf071c937ae60d572bc67155262068ed522cf4b3be5edbe6ddf67d095ec03a3a14ebf8fc8e95f8e1d61be4869db0dbb0de696f6b837358bd43fc2 - languageName: node - linkType: hard - -"next@npm:14.2.10": - version: 14.2.10 - resolution: "next@npm:14.2.10" - dependencies: - "@next/env": "npm:14.2.10" - "@next/swc-darwin-arm64": "npm:14.2.10" - "@next/swc-darwin-x64": "npm:14.2.10" - "@next/swc-linux-arm64-gnu": "npm:14.2.10" - "@next/swc-linux-arm64-musl": "npm:14.2.10" - "@next/swc-linux-x64-gnu": "npm:14.2.10" - "@next/swc-linux-x64-musl": "npm:14.2.10" - "@next/swc-win32-arm64-msvc": "npm:14.2.10" - "@next/swc-win32-ia32-msvc": "npm:14.2.10" - "@next/swc-win32-x64-msvc": "npm:14.2.10" - "@swc/helpers": "npm:0.5.5" - busboy: "npm:1.6.0" - caniuse-lite: "npm:^1.0.30001579" - graceful-fs: "npm:^4.2.11" - postcss: "npm:8.4.31" - styled-jsx: "npm:5.1.1" - peerDependencies: - "@opentelemetry/api": ^1.1.0 - "@playwright/test": ^1.41.2 - react: ^18.2.0 - react-dom: ^18.2.0 - sass: ^1.3.0 - dependenciesMeta: - "@next/swc-darwin-arm64": - optional: true - "@next/swc-darwin-x64": - optional: true - "@next/swc-linux-arm64-gnu": - optional: true - "@next/swc-linux-arm64-musl": - optional: true - "@next/swc-linux-x64-gnu": - optional: true - "@next/swc-linux-x64-musl": - optional: true - "@next/swc-win32-arm64-msvc": - optional: true - "@next/swc-win32-ia32-msvc": - optional: true - "@next/swc-win32-x64-msvc": - optional: true - peerDependenciesMeta: - "@opentelemetry/api": - optional: true - "@playwright/test": - optional: true - sass: - optional: true - bin: - next: dist/bin/next - checksum: a64991d44db2b6dcb3e7b780f14fe138fa97052767cf96a7733d1de4a857834e19a31fd5a742cca14201ad800bf03924d613e3d4e99932a1112bb9a03662f95a - languageName: node - linkType: hard - -"node-addon-api@npm:^2.0.0": - version: 2.0.2 - resolution: "node-addon-api@npm:2.0.2" - dependencies: - node-gyp: "npm:latest" - checksum: ade6c097ba829fa4aee1ca340117bb7f8f29fdae7b777e343a9d5cbd548481d1f0894b7b907d23ce615c70d932e8f96154caed95c3fa935cfe8cf87546510f64 - languageName: node - linkType: hard - -"node-addon-api@npm:^5.0.0": - version: 5.1.0 - resolution: "node-addon-api@npm:5.1.0" - dependencies: - node-gyp: "npm:latest" - checksum: 0eb269786124ba6fad9df8007a149e03c199b3e5a3038125dfb3e747c2d5113d406a4e33f4de1ea600aa2339be1f137d55eba1a73ee34e5fff06c52a5c296d1d - languageName: node - linkType: hard - -"node-addon-api@npm:^7.0.0": - version: 7.1.1 - resolution: "node-addon-api@npm:7.1.1" - dependencies: - node-gyp: "npm:latest" - checksum: fb32a206276d608037fa1bcd7e9921e177fe992fc610d098aa3128baca3c0050fc1e014fa007e9b3874cf865ddb4f5bd9f43ccb7cbbbe4efaff6a83e920b17e9 - languageName: node - linkType: hard - -"node-fetch-native@npm:^1.6.2, node-fetch-native@npm:^1.6.3, node-fetch-native@npm:^1.6.4": - version: 1.6.4 - resolution: "node-fetch-native@npm:1.6.4" - checksum: 78334dc6def5d1d95cfe87b33ac76c4833592c5eb84779ad2b0c23c689f9dd5d1cfc827035ada72d6b8b218f717798968c5a99aeff0a1a8bf06657e80592f9c3 - languageName: node - linkType: hard - -"node-fetch@npm:^2.6.1, node-fetch@npm:^2.6.12": - version: 2.7.0 - resolution: "node-fetch@npm:2.7.0" - dependencies: - whatwg-url: "npm:^5.0.0" - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true - checksum: b55786b6028208e6fbe594ccccc213cab67a72899c9234eb59dba51062a299ea853210fcf526998eaa2867b0963ad72338824450905679ff0fa304b8c5093ae8 - languageName: node - linkType: hard - -"node-forge@npm:^1.3.1": - version: 1.3.1 - resolution: "node-forge@npm:1.3.1" - checksum: e882819b251a4321f9fc1d67c85d1501d3004b4ee889af822fd07f64de3d1a8e272ff00b689570af0465d65d6bf5074df9c76e900e0aff23e60b847f2a46fbe8 - languageName: node - linkType: hard - -"node-gyp-build@npm:^4.2.0, node-gyp-build@npm:^4.3.0": - version: 4.8.1 - resolution: "node-gyp-build@npm:4.8.1" - bin: - node-gyp-build: bin.js - node-gyp-build-optional: optional.js - node-gyp-build-test: build-test.js - checksum: e36ca3d2adf2b9cca316695d7687207c19ac6ed326d6d7c68d7112cebe0de4f82d6733dff139132539fcc01cf5761f6c9082a21864ab9172edf84282bc849ce7 - languageName: node - linkType: hard - -"node-gyp@npm:latest": - version: 10.0.1 - resolution: "node-gyp@npm:10.0.1" - dependencies: - env-paths: "npm:^2.2.0" - exponential-backoff: "npm:^3.1.1" - glob: "npm:^10.3.10" - graceful-fs: "npm:^4.2.6" - make-fetch-happen: "npm:^13.0.0" - nopt: "npm:^7.0.0" - proc-log: "npm:^3.0.0" - semver: "npm:^7.3.5" - tar: "npm:^6.1.2" - which: "npm:^4.0.0" - bin: - node-gyp: bin/node-gyp.js - checksum: abddfff7d873312e4ed4a5fb75ce893a5c4fb69e7fcb1dfa71c28a6b92a7f1ef6b62790dffb39181b5a82728ba8f2f32d229cf8cbe66769fe02cea7db4a555aa - languageName: node - linkType: hard - -"node-int64@npm:^0.4.0": - version: 0.4.0 - resolution: "node-int64@npm:0.4.0" - checksum: a6a4d8369e2f2720e9c645255ffde909c0fbd41c92ea92a5607fc17055955daac99c1ff589d421eee12a0d24e99f7bfc2aabfeb1a4c14742f6c099a51863f31a - languageName: node - linkType: hard - -"node-releases@npm:^2.0.14": - version: 2.0.14 - resolution: "node-releases@npm:2.0.14" - checksum: 199fc93773ae70ec9969bc6d5ac5b2bbd6eb986ed1907d751f411fef3ede0e4bfdb45ceb43711f8078bea237b6036db8b1bf208f6ff2b70c7d615afd157f3ab9 - languageName: node - linkType: hard - -"nopt@npm:^7.0.0": - version: 7.2.0 - resolution: "nopt@npm:7.2.0" - dependencies: - abbrev: "npm:^2.0.0" - bin: - nopt: bin/nopt.js - checksum: 9bd7198df6f16eb29ff16892c77bcf7f0cc41f9fb5c26280ac0def2cf8cf319f3b821b3af83eba0e74c85807cc430a16efe0db58fe6ae1f41e69519f585b6aff - languageName: node - linkType: hard - -"normalize-path@npm:^3.0.0, normalize-path@npm:~3.0.0": - version: 3.0.0 - resolution: "normalize-path@npm:3.0.0" - checksum: e008c8142bcc335b5e38cf0d63cfd39d6cf2d97480af9abdbe9a439221fd4d749763bab492a8ee708ce7a194bb00c9da6d0a115018672310850489137b3da046 - languageName: node - linkType: hard - -"normalize-range@npm:^0.1.2": - version: 0.1.2 - resolution: "normalize-range@npm:0.1.2" - checksum: bf39b73a63e0a42ad1a48c2bd1bda5a07ede64a7e2567307a407674e595bcff0fa0d57e8e5f1e7fa5e91000797c7615e13613227aaaa4d6d6e87f5bd5cc95de6 - languageName: node - linkType: hard - -"npm-run-path@npm:^4.0.1": - version: 4.0.1 - resolution: "npm-run-path@npm:4.0.1" - dependencies: - path-key: "npm:^3.0.0" - checksum: 6f9353a95288f8455cf64cbeb707b28826a7f29690244c1e4bb61ec573256e021b6ad6651b394eb1ccfd00d6ec50147253aba2c5fe58a57ceb111fad62c519ac - languageName: node - linkType: hard - -"npm-run-path@npm:^5.1.0": - version: 5.3.0 - resolution: "npm-run-path@npm:5.3.0" - dependencies: - path-key: "npm:^4.0.0" - checksum: 124df74820c40c2eb9a8612a254ea1d557ddfab1581c3e751f825e3e366d9f00b0d76a3c94ecd8398e7f3eee193018622677e95816e8491f0797b21e30b2deba - languageName: node - linkType: hard - -"nwsapi@npm:^2.2.2": - version: 2.2.7 - resolution: "nwsapi@npm:2.2.7" - checksum: 44be198adae99208487a1c886c0a3712264f7bbafa44368ad96c003512fed2753d4e22890ca1e6edb2690c3456a169f2a3c33bfacde1905cf3bf01c7722464db - languageName: node - linkType: hard - -"obj-multiplex@npm:^1.0.0": - version: 1.0.0 - resolution: "obj-multiplex@npm:1.0.0" - dependencies: - end-of-stream: "npm:^1.4.0" - once: "npm:^1.4.0" - readable-stream: "npm:^2.3.3" - checksum: 914e979ab40fb26cbe4309a5fc1cc6b6a428aeff17a015b9abb1197894ee67f6f02542ffd76d8e275cc40b18adc125bff6e2d6b5090932798c135100c5942007 - languageName: node - linkType: hard - -"object-assign@npm:^4.0.1, object-assign@npm:^4.1.1": - version: 4.1.1 - resolution: "object-assign@npm:4.1.1" - checksum: 1f4df9945120325d041ccf7b86f31e8bcc14e73d29171e37a7903050e96b81323784ec59f93f102ec635bcf6fa8034ba3ea0a8c7e69fa202b87ae3b6cec5a414 - languageName: node - linkType: hard - -"object-hash@npm:^3.0.0": - version: 3.0.0 - resolution: "object-hash@npm:3.0.0" - checksum: a06844537107b960c1c8b96cd2ac8592a265186bfa0f6ccafe0d34eabdb526f6fa81da1f37c43df7ed13b12a4ae3457a16071603bcd39d8beddb5f08c37b0f47 - languageName: node - linkType: hard - -"object-inspect@npm:^1.13.1": - version: 1.13.1 - resolution: "object-inspect@npm:1.13.1" - checksum: fad603f408e345c82e946abdf4bfd774260a5ed3e5997a0b057c44153ac32c7271ff19e3a5ae39c858da683ba045ccac2f65245c12763ce4e8594f818f4a648d - languageName: node - linkType: hard - -"object-is@npm:^1.1.5": - version: 1.1.5 - resolution: "object-is@npm:1.1.5" - dependencies: - call-bind: "npm:^1.0.2" - define-properties: "npm:^1.1.3" - checksum: 8c263fb03fc28f1ffb54b44b9147235c5e233dc1ca23768e7d2569740b5d860154d7cc29a30220fe28ed6d8008e2422aefdebfe987c103e1c5d190cf02d9d886 - languageName: node - linkType: hard - -"object-keys@npm:^1.1.1": - version: 1.1.1 - resolution: "object-keys@npm:1.1.1" - checksum: b11f7ccdbc6d406d1f186cdadb9d54738e347b2692a14439ca5ac70c225fa6db46db809711b78589866d47b25fc3e8dee0b4c722ac751e11180f9380e3d8601d - languageName: node - linkType: hard - -"object.assign@npm:^4.1.4, object.assign@npm:^4.1.5": - version: 4.1.5 - resolution: "object.assign@npm:4.1.5" - dependencies: - call-bind: "npm:^1.0.5" - define-properties: "npm:^1.2.1" - has-symbols: "npm:^1.0.3" - object-keys: "npm:^1.1.1" - checksum: 60108e1fa2706f22554a4648299b0955236c62b3685c52abf4988d14fffb0e7731e00aa8c6448397e3eb63d087dcc124a9f21e1980f36d0b2667f3c18bacd469 - languageName: node - linkType: hard - -"object.entries@npm:^1.1.6, object.entries@npm:^1.1.7": - version: 1.1.7 - resolution: "object.entries@npm:1.1.7" - dependencies: - call-bind: "npm:^1.0.2" - define-properties: "npm:^1.2.0" - es-abstract: "npm:^1.22.1" - checksum: 3ad1899cc7bf14546bf28f4a9b363ae8690b90948fcfbcac4c808395435d760f26193d9cae95337ce0e3c1e5c1f4fa45f7b46b31b68d389e9e117fce38775d86 - languageName: node - linkType: hard - -"object.fromentries@npm:^2.0.6, object.fromentries@npm:^2.0.7": - version: 2.0.7 - resolution: "object.fromentries@npm:2.0.7" - dependencies: - call-bind: "npm:^1.0.2" - define-properties: "npm:^1.2.0" - es-abstract: "npm:^1.22.1" - checksum: 071745c21f6fc9e6c914691f2532c1fb60ad967e5ddc52801d09958b5de926566299d07ae14466452a7efd29015f9145d6c09c573d93a0dc6f1683ee0ec2b93b - languageName: node - linkType: hard - -"object.groupby@npm:^1.0.1": - version: 1.0.2 - resolution: "object.groupby@npm:1.0.2" - dependencies: - array.prototype.filter: "npm:^1.0.3" - call-bind: "npm:^1.0.5" - define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.22.3" - es-errors: "npm:^1.0.0" - checksum: b6266b1cfec7eb784b8bbe0bca5dc4b371cf9dd3e601b0897d72fa97a5934273d8fb05b3fc5222204104dbec32b50e25ba27e05ad681f71fb739cc1c7e9b81b1 - languageName: node - linkType: hard - -"object.hasown@npm:^1.1.2": - version: 1.1.3 - resolution: "object.hasown@npm:1.1.3" - dependencies: - define-properties: "npm:^1.2.0" - es-abstract: "npm:^1.22.1" - checksum: 8a41ba4fb1208a85c2275e9b5098071beacc24345b9a71ab98ef0a1c61b34dc74c6b460ff1e1884c33843d8f2553df64a10eec2b74b3ed009e3b2710c826bd2c - languageName: node - linkType: hard - -"object.values@npm:^1.1.6, object.values@npm:^1.1.7": - version: 1.1.7 - resolution: "object.values@npm:1.1.7" - dependencies: - call-bind: "npm:^1.0.2" - define-properties: "npm:^1.2.0" - es-abstract: "npm:^1.22.1" - checksum: e869d6a37fb7afdd0054dea49036d6ccebb84854a8848a093bbd1bc516f53e690bba88f0bc3e83fdfa74c601469ee6989c9b13359cda9604144c6e732fad3b6b - languageName: node - linkType: hard - -"ofetch@npm:^1.3.3": - version: 1.3.4 - resolution: "ofetch@npm:1.3.4" - dependencies: - destr: "npm:^2.0.3" - node-fetch-native: "npm:^1.6.3" - ufo: "npm:^1.5.3" - checksum: 39855005c3f8aa11c11d3a3b0c4366b67d316da58633f4cf5d4a5af0a61495fd68699f355e70deda70355ead25f27b41c3bde2fdd1d24ce3f85ac79608dd8677 - languageName: node - linkType: hard - -"ohash@npm:^1.1.3": - version: 1.1.3 - resolution: "ohash@npm:1.1.3" - checksum: 928f5bdbd8cd73f90cf544c0533dbda8e0a42d9b8c7454ab89e64e4d11bc85f85242830b4e107426ce13dc4dd3013286f8f5e0c84abd8942a014b907d9692540 - languageName: node - linkType: hard - -"on-exit-leak-free@npm:^0.2.0": - version: 0.2.0 - resolution: "on-exit-leak-free@npm:0.2.0" - checksum: d4e1f0bea59f39aa435baaee7d76955527e245538cffc1d7bb0c165ae85e37f67690aa9272247ced17bad76052afdb45faf5ea304a2248e070202d4554c4e30c - languageName: node - linkType: hard - -"once@npm:^1.3.0, once@npm:^1.3.1, once@npm:^1.4.0": - version: 1.4.0 - resolution: "once@npm:1.4.0" - dependencies: - wrappy: "npm:1" - checksum: 5d48aca287dfefabd756621c5dfce5c91a549a93e9fdb7b8246bc4c4790aa2ec17b34a260530474635147aeb631a2dcc8b32c613df0675f96041cbb8244517d0 - languageName: node - linkType: hard - -"onetime@npm:^5.1.2": - version: 5.1.2 - resolution: "onetime@npm:5.1.2" - dependencies: - mimic-fn: "npm:^2.1.0" - checksum: ffcef6fbb2692c3c40749f31ea2e22677a876daea92959b8a80b521d95cca7a668c884d8b2045d1d8ee7d56796aa405c405462af112a1477594cc63531baeb8f - languageName: node - linkType: hard - -"onetime@npm:^6.0.0": - version: 6.0.0 - resolution: "onetime@npm:6.0.0" - dependencies: - mimic-fn: "npm:^4.0.0" - checksum: 4eef7c6abfef697dd4479345a4100c382d73c149d2d56170a54a07418c50816937ad09500e1ed1e79d235989d073a9bade8557122aee24f0576ecde0f392bb6c - languageName: node - linkType: hard - -"open@npm:^8.4.0": - version: 8.4.2 - resolution: "open@npm:8.4.2" - dependencies: - define-lazy-prop: "npm:^2.0.0" - is-docker: "npm:^2.1.1" - is-wsl: "npm:^2.2.0" - checksum: bb6b3a58401dacdb0aad14360626faf3fb7fba4b77816b373495988b724fb48941cad80c1b65d62bb31a17609b2cd91c41a181602caea597ca80dfbcc27e84c9 - languageName: node - linkType: hard - -"optionator@npm:^0.9.3": - version: 0.9.3 - resolution: "optionator@npm:0.9.3" - dependencies: - "@aashutoshrathi/word-wrap": "npm:^1.2.3" - deep-is: "npm:^0.1.3" - fast-levenshtein: "npm:^2.0.6" - levn: "npm:^0.4.1" - prelude-ls: "npm:^1.2.1" - type-check: "npm:^0.4.0" - checksum: 66fba794d425b5be51353035cf3167ce6cfa049059cbb93229b819167687e0f48d2bc4603fcb21b091c99acb516aae1083624675b15c4765b2e4693a085e959c - languageName: node - linkType: hard - -"outdent@npm:^0.8.0": - version: 0.8.0 - resolution: "outdent@npm:0.8.0" - checksum: d8a6c38b838b7ac23ebf1cc50442312f4efe286b211dbe5c71fa84d5daa2512fb94a8f2df1389313465acb0b4e5fa72270dd78f519f3d4db5bc22b2762c86827 - languageName: node - linkType: hard - -"p-limit@npm:^2.2.0": - version: 2.3.0 - resolution: "p-limit@npm:2.3.0" - dependencies: - p-try: "npm:^2.0.0" - checksum: 8da01ac53efe6a627080fafc127c873da40c18d87b3f5d5492d465bb85ec7207e153948df6b9cbaeb130be70152f874229b8242ee2be84c0794082510af97f12 - languageName: node - linkType: hard - -"p-limit@npm:^3.0.2, p-limit@npm:^3.1.0": - version: 3.1.0 - resolution: "p-limit@npm:3.1.0" - dependencies: - yocto-queue: "npm:^0.1.0" - checksum: 9db675949dbdc9c3763c89e748d0ef8bdad0afbb24d49ceaf4c46c02c77d30db4e0652ed36d0a0a7a95154335fab810d95c86153105bb73b3a90448e2bb14e1a - languageName: node - linkType: hard - -"p-locate@npm:^4.1.0": - version: 4.1.0 - resolution: "p-locate@npm:4.1.0" - dependencies: - p-limit: "npm:^2.2.0" - checksum: 1b476ad69ad7f6059744f343b26d51ce091508935c1dbb80c4e0a2f397ffce0ca3a1f9f5cd3c7ce19d7929a09719d5c65fe70d8ee289c3f267cd36f2881813e9 - languageName: node - linkType: hard - -"p-locate@npm:^5.0.0": - version: 5.0.0 - resolution: "p-locate@npm:5.0.0" - dependencies: - p-limit: "npm:^3.0.2" - checksum: 2290d627ab7903b8b70d11d384fee714b797f6040d9278932754a6860845c4d3190603a0772a663c8cb5a7b21d1b16acb3a6487ebcafa9773094edc3dfe6009a - languageName: node - linkType: hard - -"p-map@npm:^4.0.0": - version: 4.0.0 - resolution: "p-map@npm:4.0.0" - dependencies: - aggregate-error: "npm:^3.0.0" - checksum: 592c05bd6262c466ce269ff172bb8de7c6975afca9b50c975135b974e9bdaafbfe80e61aaaf5be6d1200ba08b30ead04b88cfa7e25ff1e3b93ab28c9f62a2c75 - languageName: node - linkType: hard - -"p-try@npm:^2.0.0": - version: 2.2.0 - resolution: "p-try@npm:2.2.0" - checksum: c36c19907734c904b16994e6535b02c36c2224d433e01a2f1ab777237f4d86e6289fd5fd464850491e940379d4606ed850c03e0f9ab600b0ebddb511312e177f - languageName: node - linkType: hard - -"parent-module@npm:^1.0.0": - version: 1.0.1 - resolution: "parent-module@npm:1.0.1" - dependencies: - callsites: "npm:^3.0.0" - checksum: c63d6e80000d4babd11978e0d3fee386ca7752a02b035fd2435960ffaa7219dc42146f07069fb65e6e8bf1caef89daf9af7535a39bddf354d78bf50d8294f556 - languageName: node - linkType: hard - -"parse-json@npm:^5.2.0": - version: 5.2.0 - resolution: "parse-json@npm:5.2.0" - dependencies: - "@babel/code-frame": "npm:^7.0.0" - error-ex: "npm:^1.3.1" - json-parse-even-better-errors: "npm:^2.3.0" - lines-and-columns: "npm:^1.1.6" - checksum: 77947f2253005be7a12d858aedbafa09c9ae39eb4863adf330f7b416ca4f4a08132e453e08de2db46459256fb66afaac5ee758b44fe6541b7cdaf9d252e59585 - languageName: node - linkType: hard - -"parse5@npm:^7.0.0, parse5@npm:^7.1.1": - version: 7.1.2 - resolution: "parse5@npm:7.1.2" - dependencies: - entities: "npm:^4.4.0" - checksum: 297d7af8224f4b5cb7f6617ecdae98eeaed7f8cbd78956c42785e230505d5a4f07cef352af10d3006fa5c1544b76b57784d3a22d861ae071bbc460c649482bf4 - languageName: node - linkType: hard - -"path-exists@npm:^4.0.0": - version: 4.0.0 - resolution: "path-exists@npm:4.0.0" - checksum: 8c0bd3f5238188197dc78dced15207a4716c51cc4e3624c44fc97acf69558f5ebb9a2afff486fe1b4ee148e0c133e96c5e11a9aa5c48a3006e3467da070e5e1b - languageName: node - linkType: hard - -"path-is-absolute@npm:^1.0.0": - version: 1.0.1 - resolution: "path-is-absolute@npm:1.0.1" - checksum: 127da03c82172a2a50099cddbf02510c1791fc2cc5f7713ddb613a56838db1e8168b121a920079d052e0936c23005562059756d653b7c544c53185efe53be078 - languageName: node - linkType: hard - -"path-key@npm:^3.0.0, path-key@npm:^3.1.0": - version: 3.1.1 - resolution: "path-key@npm:3.1.1" - checksum: 748c43efd5a569c039d7a00a03b58eecd1d75f3999f5a28303d75f521288df4823bc057d8784eb72358b2895a05f29a070bc9f1f17d28226cc4e62494cc58c4c - languageName: node - linkType: hard - -"path-key@npm:^4.0.0": - version: 4.0.0 - resolution: "path-key@npm:4.0.0" - checksum: 794efeef32863a65ac312f3c0b0a99f921f3e827ff63afa5cb09a377e202c262b671f7b3832a4e64731003fa94af0263713962d317b9887bd1e0c48a342efba3 - languageName: node - linkType: hard - -"path-parse@npm:^1.0.7": - version: 1.0.7 - resolution: "path-parse@npm:1.0.7" - checksum: 11ce261f9d294cc7a58d6a574b7f1b935842355ec66fba3c3fd79e0f036462eaf07d0aa95bb74ff432f9afef97ce1926c720988c6a7451d8a584930ae7de86e1 - languageName: node - linkType: hard - -"path-scurry@npm:^1.10.1": - version: 1.10.1 - resolution: "path-scurry@npm:1.10.1" - dependencies: - lru-cache: "npm:^9.1.1 || ^10.0.0" - minipass: "npm:^5.0.0 || ^6.0.2 || ^7.0.0" - checksum: e5dc78a7348d25eec61ab166317e9e9c7b46818aa2c2b9006c507a6ff48c672d011292d9662527213e558f5652ce0afcc788663a061d8b59ab495681840c0c1e - languageName: node - linkType: hard - -"path-scurry@npm:^1.10.2": - version: 1.10.2 - resolution: "path-scurry@npm:1.10.2" - dependencies: - lru-cache: "npm:^10.2.0" - minipass: "npm:^5.0.0 || ^6.0.2 || ^7.0.0" - checksum: d723777fbf9627f201e64656680f66ebd940957eebacf780e6cce1c2919c29c116678b2d7dbf8821b3a2caa758d125f4444005ccec886a25c8f324504e48e601 - languageName: node - linkType: hard - -"path-type@npm:^4.0.0": - version: 4.0.0 - resolution: "path-type@npm:4.0.0" - checksum: 666f6973f332f27581371efaf303fd6c272cc43c2057b37aa99e3643158c7e4b2626549555d88626e99ea9e046f82f32e41bbde5f1508547e9a11b149b52387c - languageName: node - linkType: hard - -"pathe@npm:^1.1.1, pathe@npm:^1.1.2": - version: 1.1.2 - resolution: "pathe@npm:1.1.2" - checksum: 64ee0a4e587fb0f208d9777a6c56e4f9050039268faaaaecd50e959ef01bf847b7872785c36483fa5cdcdbdfdb31fef2ff222684d4fc21c330ab60395c681897 - languageName: node - linkType: hard - -"permissionless@npm:^0.1.29": - version: 0.1.44 - resolution: "permissionless@npm:0.1.44" - peerDependencies: - viem: ">=2.14.1 <2.18.0" - checksum: f8e9ddc0060719a89a29fd37ab854ea9c816cc89d88cb27fe8d901d41b7c26adf05be65eec935f8fe706ea6c7ba3abe3804892a38b1a0fc9a22e0bf8b6f48827 - languageName: node - linkType: hard - -"picocolors@npm:^1.0.0": - version: 1.0.0 - resolution: "picocolors@npm:1.0.0" - checksum: 20a5b249e331c14479d94ec6817a182fd7a5680debae82705747b2db7ec50009a5f6648d0621c561b0572703f84dbef0858abcbd5856d3c5511426afcb1961f7 - languageName: node - linkType: hard - -"picomatch@npm:^2.0.4, picomatch@npm:^2.2.1, picomatch@npm:^2.2.3, picomatch@npm:^2.3.1": - version: 2.3.1 - resolution: "picomatch@npm:2.3.1" - checksum: 26c02b8d06f03206fc2ab8d16f19960f2ff9e81a658f831ecb656d8f17d9edc799e8364b1f4a7873e89d9702dff96204be0fa26fe4181f6843f040f819dac4be - languageName: node - linkType: hard - -"pify@npm:^2.3.0": - version: 2.3.0 - resolution: "pify@npm:2.3.0" - checksum: 551ff8ab830b1052633f59cb8adc9ae8407a436e06b4a9718bcb27dc5844b83d535c3a8512b388b6062af65a98c49bdc0dd523d8b2617b188f7c8fee457158dc - languageName: node - linkType: hard - -"pify@npm:^3.0.0": - version: 3.0.0 - resolution: "pify@npm:3.0.0" - checksum: fead19ed9d801f1b1fcd0638a1ac53eabbb0945bf615f2f8806a8b646565a04a1b0e7ef115c951d225f042cca388fdc1cd3add46d10d1ed6951c20bd2998af10 - languageName: node - linkType: hard - -"pify@npm:^5.0.0": - version: 5.0.0 - resolution: "pify@npm:5.0.0" - checksum: 9f6f3cd1f159652692f514383efe401a06473af35a699962230ad1c4c9796df5999961461fc1a3b81eed8e3e74adb8bd032474fb3f93eb6bdbd9f33328da1ed2 - languageName: node - linkType: hard - -"pino-abstract-transport@npm:v0.5.0": - version: 0.5.0 - resolution: "pino-abstract-transport@npm:0.5.0" - dependencies: - duplexify: "npm:^4.1.2" - split2: "npm:^4.0.0" - checksum: 0d0e30399028ec156642b4cdfe1a040b9022befdc38e8f85935d1837c3da6050691888038433f88190d1a1eff5d90abe17ff7e6edffc09baa2f96e51b6808183 - languageName: node - linkType: hard - -"pino-std-serializers@npm:^4.0.0": - version: 4.0.0 - resolution: "pino-std-serializers@npm:4.0.0" - checksum: 9e8ccac9ce04a27ccc7aa26481d431b9e037d866b101b89d895c60b925baffb82685e84d5c29b05d8e3d7c146d766a9b08949cb24ab1ec526a16134c9962d649 - languageName: node - linkType: hard - -"pino@npm:7.11.0": - version: 7.11.0 - resolution: "pino@npm:7.11.0" - dependencies: - atomic-sleep: "npm:^1.0.0" - fast-redact: "npm:^3.0.0" - on-exit-leak-free: "npm:^0.2.0" - pino-abstract-transport: "npm:v0.5.0" - pino-std-serializers: "npm:^4.0.0" - process-warning: "npm:^1.0.0" - quick-format-unescaped: "npm:^4.0.3" - real-require: "npm:^0.1.0" - safe-stable-stringify: "npm:^2.1.0" - sonic-boom: "npm:^2.2.1" - thread-stream: "npm:^0.15.1" - bin: - pino: bin.js - checksum: 4cc1ed9d25a4bc5d61c836a861279fa0039159b8f2f37ec337e50b0a61f3980dab5d2b1393daec26f68a19c423262649f0818654c9ad102c35310544a202c62c - languageName: node - linkType: hard - -"pirates@npm:^4.0.1, pirates@npm:^4.0.4": - version: 4.0.6 - resolution: "pirates@npm:4.0.6" - checksum: 00d5fa51f8dded94d7429700fb91a0c1ead00ae2c7fd27089f0c5b63e6eca36197fe46384631872690a66f390c5e27198e99006ab77ae472692ab9c2ca903f36 - languageName: node - linkType: hard - -"pkg-dir@npm:^4.2.0": - version: 4.2.0 - resolution: "pkg-dir@npm:4.2.0" - dependencies: - find-up: "npm:^4.0.0" - checksum: c56bda7769e04907a88423feb320babaed0711af8c436ce3e56763ab1021ba107c7b0cafb11cde7529f669cfc22bffcaebffb573645cbd63842ea9fb17cd7728 - languageName: node - linkType: hard - -"pkg-types@npm:^1.1.1": - version: 1.1.3 - resolution: "pkg-types@npm:1.1.3" - dependencies: - confbox: "npm:^0.1.7" - mlly: "npm:^1.7.1" - pathe: "npm:^1.1.2" - checksum: 4cd2c9442dd5e4ae0c61cbd8fdaa92a273939749b081f78150ce9a3f4e625cca0375607386f49f103f0720b239d02369bf181c3ea6c80cf1028a633df03706ad - languageName: node - linkType: hard - -"pngjs@npm:^5.0.0": - version: 5.0.0 - resolution: "pngjs@npm:5.0.0" - checksum: c074d8a94fb75e2defa8021e85356bf7849688af7d8ce9995b7394d57cd1a777b272cfb7c4bce08b8d10e71e708e7717c81fd553a413f21840c548ec9d4893c6 - languageName: node - linkType: hard - -"pony-cause@npm:^2.1.10": - version: 2.1.11 - resolution: "pony-cause@npm:2.1.11" - checksum: d5db6489ec42f8fcce0fd9ad2052be98cd8f63814bf32819694ec1f4c6a01bc3be6181050d83bc79e95272174a5b9776d1c2af1fa79ef51e0ccc0f97c22b1420 - languageName: node - linkType: hard - -"possible-typed-array-names@npm:^1.0.0": - version: 1.0.0 - resolution: "possible-typed-array-names@npm:1.0.0" - checksum: d9aa22d31f4f7680e20269db76791b41c3a32c01a373e25f8a4813b4d45f7456bfc2b6d68f752dc4aab0e0bb0721cb3d76fb678c9101cb7a16316664bc2c73fd - languageName: node - linkType: hard - -"postcss-import@npm:^15.1.0": - version: 15.1.0 - resolution: "postcss-import@npm:15.1.0" - dependencies: - postcss-value-parser: "npm:^4.0.0" - read-cache: "npm:^1.0.0" - resolve: "npm:^1.1.7" - peerDependencies: - postcss: ^8.0.0 - checksum: 518aee5c83ea6940e890b0be675a2588db68b2582319f48c3b4e06535a50ea6ee45f7e63e4309f8754473245c47a0372632378d1d73d901310f295a92f26f17b - languageName: node - linkType: hard - -"postcss-js@npm:^4.0.1": - version: 4.0.1 - resolution: "postcss-js@npm:4.0.1" - dependencies: - camelcase-css: "npm:^2.0.1" - peerDependencies: - postcss: ^8.4.21 - checksum: af35d55cb873b0797d3b42529514f5318f447b134541844285c9ac31a17497297eb72296902967911bb737a75163441695737300ce2794e3bd8c70c13a3b106e - languageName: node - linkType: hard - -"postcss-load-config@npm:^4.0.1": - version: 4.0.2 - resolution: "postcss-load-config@npm:4.0.2" - dependencies: - lilconfig: "npm:^3.0.0" - yaml: "npm:^2.3.4" - peerDependencies: - postcss: ">=8.0.9" - ts-node: ">=9.0.0" - peerDependenciesMeta: - postcss: - optional: true - ts-node: - optional: true - checksum: 3d7939acb3570b0e4b4740e483d6e555a3e2de815219cb8a3c8fc03f575a6bde667443aa93369c0be390af845cb84471bf623e24af833260de3a105b78d42519 - languageName: node - linkType: hard - -"postcss-nested@npm:^6.0.1": - version: 6.0.1 - resolution: "postcss-nested@npm:6.0.1" - dependencies: - postcss-selector-parser: "npm:^6.0.11" - peerDependencies: - postcss: ^8.2.14 - checksum: 2a50aa36d5d103c2e471954830489f4c024deed94fa066169101db55171368d5f80b32446b584029e0471feee409293d0b6b1d8ede361f6675ba097e477b3cbd - languageName: node - linkType: hard - -"postcss-selector-parser@npm:^6.0.11": - version: 6.0.15 - resolution: "postcss-selector-parser@npm:6.0.15" - dependencies: - cssesc: "npm:^3.0.0" - util-deprecate: "npm:^1.0.2" - checksum: 48b425d6cef497bcf6b7d136f6fd95cfca43026955e07ec9290d3c15457de3a862dbf251dd36f42c07a0d5b5ab6f31e41acefeff02528995a989b955505e440b - languageName: node - linkType: hard - -"postcss-value-parser@npm:^4.0.0, postcss-value-parser@npm:^4.2.0": - version: 4.2.0 - resolution: "postcss-value-parser@npm:4.2.0" - checksum: f4142a4f56565f77c1831168e04e3effd9ffcc5aebaf0f538eee4b2d465adfd4b85a44257bb48418202a63806a7da7fe9f56c330aebb3cac898e46b4cbf49161 - languageName: node - linkType: hard - -"postcss@npm:8.4.31": - version: 8.4.31 - resolution: "postcss@npm:8.4.31" - dependencies: - nanoid: "npm:^3.3.6" - picocolors: "npm:^1.0.0" - source-map-js: "npm:^1.0.2" - checksum: 748b82e6e5fc34034dcf2ae88ea3d11fd09f69b6c50ecdd3b4a875cfc7cdca435c958b211e2cb52355422ab6fccb7d8f2f2923161d7a1b281029e4a913d59acf - languageName: node - linkType: hard - -"postcss@npm:^8, postcss@npm:^8.4.23": - version: 8.4.35 - resolution: "postcss@npm:8.4.35" - dependencies: - nanoid: "npm:^3.3.7" - picocolors: "npm:^1.0.0" - source-map-js: "npm:^1.0.2" - checksum: e8dd04e48001eb5857abc9475365bf08f4e508ddf9bc0b8525449a95d190f10d025acebc5b56ac2e94b3c7146790e4ae78989bb9633cb7ee20d1cc9b7dc909b2 - languageName: node - linkType: hard - -"preact@npm:^10.16.0": - version: 10.23.2 - resolution: "preact@npm:10.23.2" - checksum: 6e0dc1b38ead7554c99ddec9a32162b456e8f622229413b136042a777445a12d115633cd49d6df83c30b64d721a0ad4d3c71bb468edc759c15799896e96fd9f2 - languageName: node - linkType: hard - -"prelude-ls@npm:^1.2.1": - version: 1.2.1 - resolution: "prelude-ls@npm:1.2.1" - checksum: b00d617431e7886c520a6f498a2e14c75ec58f6d93ba48c3b639cf241b54232d90daa05d83a9e9b9fef6baa63cb7e1e4602c2372fea5bc169668401eb127d0cd - languageName: node - linkType: hard - -"pretty-format@npm:^27.0.2": - version: 27.5.1 - resolution: "pretty-format@npm:27.5.1" - dependencies: - ansi-regex: "npm:^5.0.1" - ansi-styles: "npm:^5.0.0" - react-is: "npm:^17.0.1" - checksum: 0cbda1031aa30c659e10921fa94e0dd3f903ecbbbe7184a729ad66f2b6e7f17891e8c7d7654c458fa4ccb1a411ffb695b4f17bbcd3fe075fabe181027c4040ed - languageName: node - linkType: hard - -"pretty-format@npm:^29.7.0": - version: 29.7.0 - resolution: "pretty-format@npm:29.7.0" - dependencies: - "@jest/schemas": "npm:^29.6.3" - ansi-styles: "npm:^5.0.0" - react-is: "npm:^18.0.0" - checksum: edc5ff89f51916f036c62ed433506b55446ff739358de77207e63e88a28ca2894caac6e73dcb68166a606e51c8087d32d400473e6a9fdd2dbe743f46c9c0276f - languageName: node - linkType: hard - -"proc-log@npm:^3.0.0": - version: 3.0.0 - resolution: "proc-log@npm:3.0.0" - checksum: f66430e4ff947dbb996058f6fd22de2c66612ae1a89b097744e17fb18a4e8e7a86db99eda52ccf15e53f00b63f4ec0b0911581ff2aac0355b625c8eac509b0dc - languageName: node - linkType: hard - -"process-nextick-args@npm:~2.0.0": - version: 2.0.1 - resolution: "process-nextick-args@npm:2.0.1" - checksum: bec089239487833d46b59d80327a1605e1c5287eaad770a291add7f45fda1bb5e28b38e0e061add0a1d0ee0984788ce74fa394d345eed1c420cacf392c554367 - languageName: node - linkType: hard - -"process-warning@npm:^1.0.0": - version: 1.0.0 - resolution: "process-warning@npm:1.0.0" - checksum: 43ec4229d64eb5c58340c8aacade49eb5f6fd513eae54140abf365929ca20987f0a35c5868125e2b583cad4de8cd257beb5667d9cc539d9190a7a4c3014adf22 - languageName: node - linkType: hard - -"process@npm:^0.11.10": - version: 0.11.10 - resolution: "process@npm:0.11.10" - checksum: 40c3ce4b7e6d4b8c3355479df77aeed46f81b279818ccdc500124e6a5ab882c0cc81ff7ea16384873a95a74c4570b01b120f287abbdd4c877931460eca6084b3 - languageName: node - linkType: hard - -"promise-retry@npm:^2.0.1": - version: 2.0.1 - resolution: "promise-retry@npm:2.0.1" - dependencies: - err-code: "npm:^2.0.2" - retry: "npm:^0.12.0" - checksum: 9c7045a1a2928094b5b9b15336dcd2a7b1c052f674550df63cc3f36cd44028e5080448175b6f6ca32b642de81150f5e7b1a98b728f15cb069f2dd60ac2616b96 - languageName: node - linkType: hard - -"prompts@npm:^2.0.1": - version: 2.4.2 - resolution: "prompts@npm:2.4.2" - dependencies: - kleur: "npm:^3.0.3" - sisteransi: "npm:^1.0.5" - checksum: 16f1ac2977b19fe2cf53f8411cc98db7a3c8b115c479b2ca5c82b5527cd937aa405fa04f9a5960abeb9daef53191b53b4d13e35c1f5d50e8718c76917c5f1ea4 - languageName: node - linkType: hard - -"prop-types@npm:^15.8.1": - version: 15.8.1 - resolution: "prop-types@npm:15.8.1" - dependencies: - loose-envify: "npm:^1.4.0" - object-assign: "npm:^4.1.1" - react-is: "npm:^16.13.1" - checksum: 59ece7ca2fb9838031d73a48d4becb9a7cc1ed10e610517c7d8f19a1e02fa47f7c27d557d8a5702bec3cfeccddc853579832b43f449e54635803f277b1c78077 - languageName: node - linkType: hard - -"property-expr@npm:^2.0.5": - version: 2.0.6 - resolution: "property-expr@npm:2.0.6" - checksum: 69b7da15038a1146d6447c69c445306f66a33c425271235bb20507f1846dbf9577a8f9dfafe8acbfcb66f924b270157f155248308f026a68758f35fc72265b3c - languageName: node - linkType: hard - -"proxy-compare@npm:2.5.1": - version: 2.5.1 - resolution: "proxy-compare@npm:2.5.1" - checksum: 116fc69ae9a6bb3654e6907fb09b73e84aa47c89275ca52648fc1d2ac8b35dbf54daa8bab078d7a735337c928e87eb52059e705434adf14989bbe6c5dcdd08fa - languageName: node - linkType: hard - -"psl@npm:^1.1.33": - version: 1.9.0 - resolution: "psl@npm:1.9.0" - checksum: 6a3f805fdab9442f44de4ba23880c4eba26b20c8e8e0830eff1cb31007f6825dace61d17203c58bfe36946842140c97a1ba7f67bc63ca2d88a7ee052b65d97ab - languageName: node - linkType: hard - -"pump@npm:^3.0.0": - version: 3.0.0 - resolution: "pump@npm:3.0.0" - dependencies: - end-of-stream: "npm:^1.1.0" - once: "npm:^1.3.1" - checksum: bbdeda4f747cdf47db97428f3a135728669e56a0ae5f354a9ac5b74556556f5446a46f720a8f14ca2ece5be9b4d5d23c346db02b555f46739934cc6c093a5478 - languageName: node - linkType: hard - -"punycode@npm:^2.1.0, punycode@npm:^2.1.1": - version: 2.3.1 - resolution: "punycode@npm:2.3.1" - checksum: 14f76a8206bc3464f794fb2e3d3cc665ae416c01893ad7a02b23766eb07159144ee612ad67af5e84fa4479ccfe67678c4feb126b0485651b302babf66f04f9e9 - languageName: node - linkType: hard - -"pure-rand@npm:^6.0.0": - version: 6.0.4 - resolution: "pure-rand@npm:6.0.4" - checksum: 0fe7b12f25b10ea5b804598a6f37e4bcf645d2be6d44fe963741f014bf0095bdb6ff525106d6da6e76addc8142358fd380f1a9b8c62ea4d5516bf26a96a37c95 - languageName: node - linkType: hard - -"qr-code-styling@npm:^1.6.0-rc.1": - version: 1.6.0-rc.1 - resolution: "qr-code-styling@npm:1.6.0-rc.1" - dependencies: - qrcode-generator: "npm:^1.4.3" - checksum: d62f63ba800dbf7aa645816fca81c9be33d8561deac3686a00b93ce9f68f1784e2f65e59fdc7b1af22e20f37a47f35f8a0c2827043403bfc058b659a14fe02dd - languageName: node - linkType: hard - -"qrcode-generator@npm:^1.4.3": - version: 1.4.4 - resolution: "qrcode-generator@npm:1.4.4" - checksum: 3249fcff98cb9fa17c21329d3dfd895e294a2d6ea48161f7b377010779d41f0cd88668b7fb3478a659725061bb0a770b40a227c2f4853e8c4a6b947a9e8bf17a - languageName: node - linkType: hard - -"qrcode-terminal-nooctal@npm:^0.12.1": - version: 0.12.1 - resolution: "qrcode-terminal-nooctal@npm:0.12.1" - bin: - qrcode-terminal: bin/qrcode-terminal.js - checksum: a7e1ce29e4a4be633bbef6d55636da560e3e06d7507f2ec5e840f28d3dee5012d0d0c2cd810f8f8b018d08d47b0eb134177d799a7525a204ac82cbc8bd68cb50 - languageName: node - linkType: hard - -"qrcode@npm:1.5.3": - version: 1.5.3 - resolution: "qrcode@npm:1.5.3" - dependencies: - dijkstrajs: "npm:^1.0.1" - encode-utf8: "npm:^1.0.3" - pngjs: "npm:^5.0.0" - yargs: "npm:^15.3.1" - bin: - qrcode: bin/qrcode - checksum: eb961cd8246e00ae338b6d4a3a28574174456db42cec7070aa2b315fb6576b7f040b0e4347be290032e447359a145c68cb60ef884d55ca3e1076294fed46f719 - languageName: node - linkType: hard - -"query-string@npm:7.1.3": - version: 7.1.3 - resolution: "query-string@npm:7.1.3" - dependencies: - decode-uri-component: "npm:^0.2.2" - filter-obj: "npm:^1.1.0" - split-on-first: "npm:^1.0.0" - strict-uri-encode: "npm:^2.0.0" - checksum: a896c08e9e0d4f8ffd89a572d11f668c8d0f7df9c27c6f49b92ab31366d3ba0e9c331b9a620ee747893436cd1f2f821a6327e2bc9776bde2402ac6c270b801b2 - languageName: node - linkType: hard - -"querystringify@npm:^2.1.1": - version: 2.2.0 - resolution: "querystringify@npm:2.2.0" - checksum: 3258bc3dbdf322ff2663619afe5947c7926a6ef5fb78ad7d384602974c467fadfc8272af44f5eb8cddd0d011aae8fabf3a929a8eee4b86edcc0a21e6bd10f9aa - languageName: node - linkType: hard - -"queue-microtask@npm:^1.2.2": - version: 1.2.3 - resolution: "queue-microtask@npm:1.2.3" - checksum: 900a93d3cdae3acd7d16f642c29a642aea32c2026446151f0778c62ac089d4b8e6c986811076e1ae180a694cedf077d453a11b58ff0a865629a4f82ab558e102 - languageName: node - linkType: hard - -"quick-format-unescaped@npm:^4.0.3": - version: 4.0.4 - resolution: "quick-format-unescaped@npm:4.0.4" - checksum: fe5acc6f775b172ca5b4373df26f7e4fd347975578199e7d74b2ae4077f0af05baa27d231de1e80e8f72d88275ccc6028568a7a8c9ee5e7368ace0e18eff93a4 - languageName: node - linkType: hard - -"radix3@npm:^1.1.2": - version: 1.1.2 - resolution: "radix3@npm:1.1.2" - checksum: d4a295547f71af079868d2c2ed3814a9296ee026c5488212d58c106e6b4797c6eaec1259b46c9728913622f2240c9a944bfc8e2b3b5f6e4a5045338b1609f1e4 - languageName: node - linkType: hard - -"react-dom@npm:^18": - version: 18.2.0 - resolution: "react-dom@npm:18.2.0" - dependencies: - loose-envify: "npm:^1.1.0" - scheduler: "npm:^0.23.0" - peerDependencies: - react: ^18.2.0 - checksum: 66dfc5f93e13d0674e78ef41f92ed21dfb80f9c4ac4ac25a4b51046d41d4d2186abc915b897f69d3d0ebbffe6184e7c5876f2af26bfa956f179225d921be713a - languageName: node - linkType: hard - -"react-is@npm:^16.13.1": - version: 16.13.1 - resolution: "react-is@npm:16.13.1" - checksum: 33977da7a5f1a287936a0c85639fec6ca74f4f15ef1e59a6bc20338fc73dc69555381e211f7a3529b8150a1f71e4225525b41b60b52965bda53ce7d47377ada1 - languageName: node - linkType: hard - -"react-is@npm:^17.0.1": - version: 17.0.2 - resolution: "react-is@npm:17.0.2" - checksum: 2bdb6b93fbb1820b024b496042cce405c57e2f85e777c9aabd55f9b26d145408f9f74f5934676ffdc46f3dcff656d78413a6e43968e7b3f92eea35b3052e9053 - languageName: node - linkType: hard - -"react-is@npm:^18.0.0": - version: 18.2.0 - resolution: "react-is@npm:18.2.0" - checksum: 6eb5e4b28028c23e2bfcf73371e72cd4162e4ac7ab445ddae2afe24e347a37d6dc22fae6e1748632cd43c6d4f9b8f86dcf26bf9275e1874f436d129952528ae0 - languageName: node - linkType: hard - -"react-native-webview@npm:^11.26.0": - version: 11.26.1 - resolution: "react-native-webview@npm:11.26.1" - dependencies: - escape-string-regexp: "npm:2.0.0" - invariant: "npm:2.2.4" - peerDependencies: - react: "*" - react-native: "*" - checksum: 9399929f2b598a66634c4663fa7703144eeab10c7027f72de7e9af6da6d96f12ead1cc2fdbb09b9aab4d1410b0578d11aa5b7c3db70ffa92fb0329cf181099a5 - languageName: node - linkType: hard - -"react-remove-scroll-bar@npm:^2.3.4": - version: 2.3.6 - resolution: "react-remove-scroll-bar@npm:2.3.6" - dependencies: - react-style-singleton: "npm:^2.2.1" - tslib: "npm:^2.0.0" - peerDependencies: - "@types/react": ^16.8.0 || ^17.0.0 || ^18.0.0 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - peerDependenciesMeta: - "@types/react": - optional: true - checksum: 4e32ee04bf655a8bd3b4aacf6ffc596ae9eb1b9ba27eef83f7002632ee75371f61516ae62250634a9eae4b2c8fc6f6982d9b182de260f6c11841841e6e2e7515 - languageName: node - linkType: hard - -"react-remove-scroll@npm:2.5.7": - version: 2.5.7 - resolution: "react-remove-scroll@npm:2.5.7" - dependencies: - react-remove-scroll-bar: "npm:^2.3.4" - react-style-singleton: "npm:^2.2.1" - tslib: "npm:^2.1.0" - use-callback-ref: "npm:^1.3.0" - use-sidecar: "npm:^1.1.2" - peerDependencies: - "@types/react": ^16.8.0 || ^17.0.0 || ^18.0.0 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - peerDependenciesMeta: - "@types/react": - optional: true - checksum: dcd523ada602bd0a839c2032cadf0b3e4af55ee85acefee3760976a9cceaa4606927801b093bbb8bf3c2989c71e048f5428c2c6eb9e6681762e86356833d039b - languageName: node - linkType: hard - -"react-style-singleton@npm:^2.2.1": - version: 2.2.1 - resolution: "react-style-singleton@npm:2.2.1" - dependencies: - get-nonce: "npm:^1.0.0" - invariant: "npm:^2.2.4" - tslib: "npm:^2.0.0" - peerDependencies: - "@types/react": ^16.8.0 || ^17.0.0 || ^18.0.0 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - peerDependenciesMeta: - "@types/react": - optional: true - checksum: 6d66f3bdb65e1ec79089f80314da97c9a005087a04ee034255a5de129a4c0d9fd0bf99fa7bf642781ac2dc745ca687aae3de082bd8afdd0d117bc953241e15ad - languageName: node - linkType: hard - -"react@npm:^18": - version: 18.2.0 - resolution: "react@npm:18.2.0" - dependencies: - loose-envify: "npm:^1.1.0" - checksum: b562d9b569b0cb315e44b48099f7712283d93df36b19a39a67c254c6686479d3980b7f013dc931f4a5a3ae7645eae6386b4aa5eea933baa54ecd0f9acb0902b8 - languageName: node - linkType: hard - -"read-cache@npm:^1.0.0": - version: 1.0.0 - resolution: "read-cache@npm:1.0.0" - dependencies: - pify: "npm:^2.3.0" - checksum: 90cb2750213c7dd7c80cb420654344a311fdec12944e81eb912cd82f1bc92aea21885fa6ce442e3336d9fccd663b8a7a19c46d9698e6ca55620848ab932da814 - languageName: node - linkType: hard - -"readable-stream@npm:^2.3.3": - version: 2.3.8 - resolution: "readable-stream@npm:2.3.8" - dependencies: - core-util-is: "npm:~1.0.0" - inherits: "npm:~2.0.3" - isarray: "npm:~1.0.0" - process-nextick-args: "npm:~2.0.0" - safe-buffer: "npm:~5.1.1" - string_decoder: "npm:~1.1.1" - util-deprecate: "npm:~1.0.1" - checksum: 7efdb01f3853bc35ac62ea25493567bf588773213f5f4a79f9c365e1ad13bab845ac0dae7bc946270dc40c3929483228415e92a3fc600cc7e4548992f41ee3fa - languageName: node - linkType: hard - -"readable-stream@npm:^3.1.1, readable-stream@npm:^3.6.0, readable-stream@npm:^3.6.2": - version: 3.6.2 - resolution: "readable-stream@npm:3.6.2" - dependencies: - inherits: "npm:^2.0.3" - string_decoder: "npm:^1.1.1" - util-deprecate: "npm:^1.0.1" - checksum: e37be5c79c376fdd088a45fa31ea2e423e5d48854be7a22a58869b4e84d25047b193f6acb54f1012331e1bcd667ffb569c01b99d36b0bd59658fb33f513511b7 - languageName: node - linkType: hard - -"readable-stream@npm:^3.6.2 || ^4.4.2": - version: 4.5.2 - resolution: "readable-stream@npm:4.5.2" - dependencies: - abort-controller: "npm:^3.0.0" - buffer: "npm:^6.0.3" - events: "npm:^3.3.0" - process: "npm:^0.11.10" - string_decoder: "npm:^1.3.0" - checksum: a2c80e0e53aabd91d7df0330929e32d0a73219f9477dbbb18472f6fdd6a11a699fc5d172a1beff98d50eae4f1496c950ffa85b7cc2c4c196963f289a5f39275d - languageName: node - linkType: hard - -"readdirp@npm:~3.6.0": - version: 3.6.0 - resolution: "readdirp@npm:3.6.0" - dependencies: - picomatch: "npm:^2.2.1" - checksum: 6fa848cf63d1b82ab4e985f4cf72bd55b7dcfd8e0a376905804e48c3634b7e749170940ba77b32804d5fe93b3cc521aa95a8d7e7d725f830da6d93f3669ce66b - languageName: node - linkType: hard - -"real-require@npm:^0.1.0": - version: 0.1.0 - resolution: "real-require@npm:0.1.0" - checksum: c0f8ae531d1f51fe6343d47a2a1e5756e19b65a81b4a9642b9ebb4874e0d8b5f3799bc600bf4592838242477edc6f57778593f21b71d90f8ad0d8a317bbfae1c - languageName: node - linkType: hard - -"redent@npm:^3.0.0": - version: 3.0.0 - resolution: "redent@npm:3.0.0" - dependencies: - indent-string: "npm:^4.0.0" - strip-indent: "npm:^3.0.0" - checksum: d64a6b5c0b50eb3ddce3ab770f866658a2b9998c678f797919ceb1b586bab9259b311407280bd80b804e2a7c7539b19238ae6a2a20c843f1a7fcff21d48c2eae - languageName: node - linkType: hard - -"reflect.getprototypeof@npm:^1.0.4": - version: 1.0.5 - resolution: "reflect.getprototypeof@npm:1.0.5" - dependencies: - call-bind: "npm:^1.0.5" - define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.22.3" - es-errors: "npm:^1.0.0" - get-intrinsic: "npm:^1.2.3" - globalthis: "npm:^1.0.3" - which-builtin-type: "npm:^1.1.3" - checksum: 68f2a21494a9f4f5acc19bda5213236aa7fc02f9953ce2b18670c63b9ca3dec294dcabbb9d394d98cd2fc0de46b7cd6354614a60a33cabdbb5de9a6f7115f9a6 - languageName: node - linkType: hard - -"regenerator-runtime@npm:^0.14.0": - version: 0.14.1 - resolution: "regenerator-runtime@npm:0.14.1" - checksum: 1b16eb2c4bceb1665c89de70dcb64126a22bc8eb958feef3cd68fe11ac6d2a4899b5cd1b80b0774c7c03591dc57d16631a7f69d2daa2ec98100e2f29f7ec4cc4 - languageName: node - linkType: hard - -"regexp.prototype.flags@npm:^1.5.0, regexp.prototype.flags@npm:^1.5.1, regexp.prototype.flags@npm:^1.5.2": - version: 1.5.2 - resolution: "regexp.prototype.flags@npm:1.5.2" - dependencies: - call-bind: "npm:^1.0.6" - define-properties: "npm:^1.2.1" - es-errors: "npm:^1.3.0" - set-function-name: "npm:^2.0.1" - checksum: 0f3fc4f580d9c349f8b560b012725eb9c002f36daa0041b3fbf6f4238cb05932191a4d7d5db3b5e2caa336d5150ad0402ed2be81f711f9308fe7e1a9bf9bd552 - languageName: node - linkType: hard - -"require-directory@npm:^2.1.1": - version: 2.1.1 - resolution: "require-directory@npm:2.1.1" - checksum: 83aa76a7bc1531f68d92c75a2ca2f54f1b01463cb566cf3fbc787d0de8be30c9dbc211d1d46be3497dac5785fe296f2dd11d531945ac29730643357978966e99 - languageName: node - linkType: hard - -"require-main-filename@npm:^2.0.0": - version: 2.0.0 - resolution: "require-main-filename@npm:2.0.0" - checksum: db91467d9ead311b4111cbd73a4e67fa7820daed2989a32f7023785a2659008c6d119752d9c4ac011ae07e537eb86523adff99804c5fdb39cd3a017f9b401bb6 - languageName: node - linkType: hard - -"requires-port@npm:^1.0.0": - version: 1.0.0 - resolution: "requires-port@npm:1.0.0" - checksum: b2bfdd09db16c082c4326e573a82c0771daaf7b53b9ce8ad60ea46aa6e30aaf475fe9b164800b89f93b748d2c234d8abff945d2551ba47bf5698e04cd7713267 - languageName: node - linkType: hard - -"resolve-cwd@npm:^3.0.0": - version: 3.0.0 - resolution: "resolve-cwd@npm:3.0.0" - dependencies: - resolve-from: "npm:^5.0.0" - checksum: e608a3ebd15356264653c32d7ecbc8fd702f94c6703ea4ac2fb81d9c359180cba0ae2e6b71faa446631ed6145454d5a56b227efc33a2d40638ac13f8beb20ee4 - languageName: node - linkType: hard - -"resolve-from@npm:^4.0.0": - version: 4.0.0 - resolution: "resolve-from@npm:4.0.0" - checksum: 8408eec31a3112ef96e3746c37be7d64020cda07c03a920f5024e77290a218ea758b26ca9529fd7b1ad283947f34b2291c1c0f6aa0ed34acfdda9c6014c8d190 - languageName: node - linkType: hard - -"resolve-from@npm:^5.0.0": - version: 5.0.0 - resolution: "resolve-from@npm:5.0.0" - checksum: b21cb7f1fb746de8107b9febab60095187781137fd803e6a59a76d421444b1531b641bba5857f5dc011974d8a5c635d61cec49e6bd3b7fc20e01f0fafc4efbf2 - languageName: node - linkType: hard - -"resolve-pkg-maps@npm:^1.0.0": - version: 1.0.0 - resolution: "resolve-pkg-maps@npm:1.0.0" - checksum: fb8f7bbe2ca281a73b7ef423a1cbc786fb244bd7a95cbe5c3fba25b27d327150beca8ba02f622baea65919a57e061eb5005204daa5f93ed590d9b77463a567ab - languageName: node - linkType: hard - -"resolve.exports@npm:^2.0.0": - version: 2.0.2 - resolution: "resolve.exports@npm:2.0.2" - checksum: cc4cffdc25447cf34730f388dca5021156ba9302a3bad3d7f168e790dc74b2827dff603f1bc6ad3d299bac269828dca96dd77e036dc9fba6a2a1807c47ab5c98 - languageName: node - linkType: hard - -"resolve@npm:^1.1.7, resolve@npm:^1.20.0, resolve@npm:^1.22.2, resolve@npm:^1.22.4": - version: 1.22.8 - resolution: "resolve@npm:1.22.8" - dependencies: - is-core-module: "npm:^2.13.0" - path-parse: "npm:^1.0.7" - supports-preserve-symlinks-flag: "npm:^1.0.0" - bin: - resolve: bin/resolve - checksum: 07e179f4375e1fd072cfb72ad66d78547f86e6196c4014b31cb0b8bb1db5f7ca871f922d08da0fbc05b94e9fd42206f819648fa3b5b873ebbc8e1dc68fec433a - languageName: node - linkType: hard - -"resolve@npm:^2.0.0-next.4": - version: 2.0.0-next.5 - resolution: "resolve@npm:2.0.0-next.5" - dependencies: - is-core-module: "npm:^2.13.0" - path-parse: "npm:^1.0.7" - supports-preserve-symlinks-flag: "npm:^1.0.0" - bin: - resolve: bin/resolve - checksum: a6c33555e3482ea2ec4c6e3d3bf0d78128abf69dca99ae468e64f1e30acaa318fd267fb66c8836b04d558d3e2d6ed875fe388067e7d8e0de647d3c21af21c43a - languageName: node - linkType: hard - -"resolve@patch:resolve@npm%3A^1.1.7#optional!builtin, resolve@patch:resolve@npm%3A^1.20.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.2#optional!builtin, resolve@patch:resolve@npm%3A^1.22.4#optional!builtin": - version: 1.22.8 - resolution: "resolve@patch:resolve@npm%3A1.22.8#optional!builtin::version=1.22.8&hash=c3c19d" - dependencies: - is-core-module: "npm:^2.13.0" - path-parse: "npm:^1.0.7" - supports-preserve-symlinks-flag: "npm:^1.0.0" - bin: - resolve: bin/resolve - checksum: 0446f024439cd2e50c6c8fa8ba77eaa8370b4180f401a96abf3d1ebc770ac51c1955e12764cde449fde3fff480a61f84388e3505ecdbab778f4bef5f8212c729 - languageName: node - linkType: hard - -"resolve@patch:resolve@npm%3A^2.0.0-next.4#optional!builtin": - version: 2.0.0-next.5 - resolution: "resolve@patch:resolve@npm%3A2.0.0-next.5#optional!builtin::version=2.0.0-next.5&hash=c3c19d" - dependencies: - is-core-module: "npm:^2.13.0" - path-parse: "npm:^1.0.7" - supports-preserve-symlinks-flag: "npm:^1.0.0" - bin: - resolve: bin/resolve - checksum: 78ad6edb8309a2bfb720c2c1898f7907a37f858866ce11a5974643af1203a6a6e05b2fa9c53d8064a673a447b83d42569260c306d43628bff5bb101969708355 - languageName: node - linkType: hard - -"retry@npm:^0.12.0": - version: 0.12.0 - resolution: "retry@npm:0.12.0" - checksum: 59933e8501727ba13ad73ef4a04d5280b3717fd650408460c987392efe9d7be2040778ed8ebe933c5cbd63da3dcc37919c141ef8af0a54a6e4fca5a2af177bfe - languageName: node - linkType: hard - -"reusify@npm:^1.0.4": - version: 1.0.4 - resolution: "reusify@npm:1.0.4" - checksum: c19ef26e4e188f408922c46f7ff480d38e8dfc55d448310dfb518736b23ed2c4f547fb64a6ed5bdba92cd7e7ddc889d36ff78f794816d5e71498d645ef476107 - languageName: node - linkType: hard - -"rimraf@npm:^3.0.2": - version: 3.0.2 - resolution: "rimraf@npm:3.0.2" - dependencies: - glob: "npm:^7.1.3" - bin: - rimraf: bin.js - checksum: 9cb7757acb489bd83757ba1a274ab545eafd75598a9d817e0c3f8b164238dd90eba50d6b848bd4dcc5f3040912e882dc7ba71653e35af660d77b25c381d402e8 - languageName: node - linkType: hard - -"rimraf@npm:^5.0.5": - version: 5.0.5 - resolution: "rimraf@npm:5.0.5" - dependencies: - glob: "npm:^10.3.7" - bin: - rimraf: dist/esm/bin.mjs - checksum: d50dbe724f33835decd88395b25ed35995077c60a50ae78ded06e0185418914e555817aad1b4243edbff2254548c2f6ad6f70cc850040bebb4da9e8cc016f586 - languageName: node - linkType: hard - -"rollup-plugin-visualizer@npm:^5.9.2": - version: 5.12.0 - resolution: "rollup-plugin-visualizer@npm:5.12.0" - dependencies: - open: "npm:^8.4.0" - picomatch: "npm:^2.3.1" - source-map: "npm:^0.7.4" - yargs: "npm:^17.5.1" - peerDependencies: - rollup: 2.x || 3.x || 4.x - peerDependenciesMeta: - rollup: - optional: true - bin: - rollup-plugin-visualizer: dist/bin/cli.js - checksum: 0e44a641223377ebb472bb10f2b22efa773b5f6fbe8d54f197f07c68d7a432cbf00abad79a0aa1570f70c673c792f24700d926d663ed9a4d0ad8406ae5a0f4e4 - languageName: node - linkType: hard - -"run-parallel@npm:^1.1.9": - version: 1.2.0 - resolution: "run-parallel@npm:1.2.0" - dependencies: - queue-microtask: "npm:^1.2.2" - checksum: 200b5ab25b5b8b7113f9901bfe3afc347e19bb7475b267d55ad0eb86a62a46d77510cb0f232507c9e5d497ebda569a08a9867d0d14f57a82ad5564d991588b39 - languageName: node - linkType: hard - -"safe-array-concat@npm:^1.1.0": - version: 1.1.0 - resolution: "safe-array-concat@npm:1.1.0" - dependencies: - call-bind: "npm:^1.0.5" - get-intrinsic: "npm:^1.2.2" - has-symbols: "npm:^1.0.3" - isarray: "npm:^2.0.5" - checksum: 833d3d950fc7507a60075f9bfaf41ec6dac7c50c7a9d62b1e6b071ecc162185881f92e594ff95c1a18301c881352dd6fd236d56999d5819559db7b92da9c28af - languageName: node - linkType: hard - -"safe-buffer@npm:^5.0.1, safe-buffer@npm:~5.2.0": - version: 5.2.1 - resolution: "safe-buffer@npm:5.2.1" - checksum: 6501914237c0a86e9675d4e51d89ca3c21ffd6a31642efeba25ad65720bce6921c9e7e974e5be91a786b25aa058b5303285d3c15dbabf983a919f5f630d349f3 - languageName: node - linkType: hard - -"safe-buffer@npm:~5.1.0, safe-buffer@npm:~5.1.1": - version: 5.1.2 - resolution: "safe-buffer@npm:5.1.2" - checksum: 780ba6b5d99cc9a40f7b951d47152297d0e260f0df01472a1b99d4889679a4b94a13d644f7dbc4f022572f09ae9005fa2fbb93bbbd83643316f365a3e9a45b21 - languageName: node - linkType: hard - -"safe-regex-test@npm:^1.0.3": - version: 1.0.3 - resolution: "safe-regex-test@npm:1.0.3" - dependencies: - call-bind: "npm:^1.0.6" - es-errors: "npm:^1.3.0" - is-regex: "npm:^1.1.4" - checksum: 900bf7c98dc58f08d8523b7012b468e4eb757afa624f198902c0643d7008ba777b0bdc35810ba0b758671ce887617295fb742b3f3968991b178ceca54cb07603 - languageName: node - linkType: hard - -"safe-stable-stringify@npm:^2.1.0": - version: 2.4.3 - resolution: "safe-stable-stringify@npm:2.4.3" - checksum: 81dede06b8f2ae794efd868b1e281e3c9000e57b39801c6c162267eb9efda17bd7a9eafa7379e1f1cacd528d4ced7c80d7460ad26f62ada7c9e01dec61b2e768 - languageName: node - linkType: hard - -"safer-buffer@npm:>= 2.1.2 < 3.0.0": - version: 2.1.2 - resolution: "safer-buffer@npm:2.1.2" - checksum: 7e3c8b2e88a1841c9671094bbaeebd94448111dd90a81a1f606f3f67708a6ec57763b3b47f06da09fc6054193e0e6709e77325415dc8422b04497a8070fa02d4 - languageName: node - linkType: hard - -"saxes@npm:^6.0.0": - version: 6.0.0 - resolution: "saxes@npm:6.0.0" - dependencies: - xmlchars: "npm:^2.2.0" - checksum: 3847b839f060ef3476eb8623d099aa502ad658f5c40fd60c105ebce86d244389b0d76fcae30f4d0c728d7705ceb2f7e9b34bb54717b6a7dbedaf5dad2d9a4b74 - languageName: node - linkType: hard - -"scheduler@npm:^0.23.0": - version: 0.23.0 - resolution: "scheduler@npm:0.23.0" - dependencies: - loose-envify: "npm:^1.1.0" - checksum: b777f7ca0115e6d93e126ac490dbd82642d14983b3079f58f35519d992fa46260be7d6e6cede433a92db70306310c6f5f06e144f0e40c484199e09c1f7be53dd - languageName: node - linkType: hard - -"secp256k1@npm:^5.0.0": - version: 5.0.0 - resolution: "secp256k1@npm:5.0.0" - dependencies: - elliptic: "npm:^6.5.4" - node-addon-api: "npm:^5.0.0" - node-gyp: "npm:latest" - node-gyp-build: "npm:^4.2.0" - checksum: b9ab4c952babfe6103978b2f656265041ebe09b8a91b26a796cbcbe04d2252e28e12ec50d5ed3006bf2ca5feef6edcbd71c7c85122615f5ffbcd1acdd564f77f - languageName: node - linkType: hard - -"semver@npm:^6.3.0, semver@npm:^6.3.1": - version: 6.3.1 - resolution: "semver@npm:6.3.1" - bin: - semver: bin/semver.js - checksum: e3d79b609071caa78bcb6ce2ad81c7966a46a7431d9d58b8800cfa9cb6a63699b3899a0e4bcce36167a284578212d9ae6942b6929ba4aa5015c079a67751d42d - languageName: node - linkType: hard - -"semver@npm:^7.3.5, semver@npm:^7.5.3, semver@npm:^7.5.4": - version: 7.6.0 - resolution: "semver@npm:7.6.0" - dependencies: - lru-cache: "npm:^6.0.0" - bin: - semver: bin/semver.js - checksum: fbfe717094ace0aa8d6332d7ef5ce727259815bd8d8815700853f4faf23aacbd7192522f0dc5af6df52ef4fa85a355ebd2f5d39f554bd028200d6cf481ab9b53 - languageName: node - linkType: hard - -"semver@npm:^7.3.8": - version: 7.6.3 - resolution: "semver@npm:7.6.3" - bin: - semver: bin/semver.js - checksum: 88f33e148b210c153873cb08cfe1e281d518aaa9a666d4d148add6560db5cd3c582f3a08ccb91f38d5f379ead256da9931234ed122057f40bb5766e65e58adaf - languageName: node - linkType: hard - -"set-blocking@npm:^2.0.0": - version: 2.0.0 - resolution: "set-blocking@npm:2.0.0" - checksum: 9f8c1b2d800800d0b589de1477c753492de5c1548d4ade52f57f1d1f5e04af5481554d75ce5e5c43d4004b80a3eb714398d6907027dc0534177b7539119f4454 - languageName: node - linkType: hard - -"set-function-length@npm:^1.2.1": - version: 1.2.1 - resolution: "set-function-length@npm:1.2.1" - dependencies: - define-data-property: "npm:^1.1.2" - es-errors: "npm:^1.3.0" - function-bind: "npm:^1.1.2" - get-intrinsic: "npm:^1.2.3" - gopd: "npm:^1.0.1" - has-property-descriptors: "npm:^1.0.1" - checksum: 1927e296599f2c04d210c1911f1600430a5e49e04a6d8bb03dca5487b95a574da9968813a2ced9a774bd3e188d4a6208352c8f64b8d4674cdb021dca21e190ca - languageName: node - linkType: hard - -"set-function-name@npm:^2.0.0, set-function-name@npm:^2.0.1": - version: 2.0.1 - resolution: "set-function-name@npm:2.0.1" - dependencies: - define-data-property: "npm:^1.0.1" - functions-have-names: "npm:^1.2.3" - has-property-descriptors: "npm:^1.0.0" - checksum: 6be7d3e15be47f4db8a5a563a35c60b5e7c4af91cc900e8972ffad33d3aaa227900faa55f60121cdb04b85866a734bb7fe4cd91f654c632861cc86121a48312a - languageName: node - linkType: hard - -"sha.js@npm:^2.4.11": - version: 2.4.11 - resolution: "sha.js@npm:2.4.11" - dependencies: - inherits: "npm:^2.0.1" - safe-buffer: "npm:^5.0.1" - bin: - sha.js: ./bin.js - checksum: b7a371bca8821c9cc98a0aeff67444a03d48d745cb103f17228b96793f455f0eb0a691941b89ea1e60f6359207e36081d9be193252b0f128e0daf9cfea2815a5 - languageName: node - linkType: hard - -"shebang-command@npm:^2.0.0": - version: 2.0.0 - resolution: "shebang-command@npm:2.0.0" - dependencies: - shebang-regex: "npm:^3.0.0" - checksum: a41692e7d89a553ef21d324a5cceb5f686d1f3c040759c50aab69688634688c5c327f26f3ecf7001ebfd78c01f3c7c0a11a7c8bfd0a8bc9f6240d4f40b224e4e - languageName: node - linkType: hard - -"shebang-regex@npm:^3.0.0": - version: 3.0.0 - resolution: "shebang-regex@npm:3.0.0" - checksum: 1dbed0726dd0e1152a92696c76c7f06084eb32a90f0528d11acd764043aacf76994b2fb30aa1291a21bd019d6699164d048286309a278855ee7bec06cf6fb690 - languageName: node - linkType: hard - -"side-channel@npm:^1.0.4": - version: 1.0.5 - resolution: "side-channel@npm:1.0.5" - dependencies: - call-bind: "npm:^1.0.6" - es-errors: "npm:^1.3.0" - get-intrinsic: "npm:^1.2.4" - object-inspect: "npm:^1.13.1" - checksum: 31312fecb68997ce2893b1f6d1fd07d6dd41e05cc938e82004f056f7de96dd9df599ef9418acdf730dda948e867e933114bd2efe4170c0146d1ed7009700c252 - languageName: node - linkType: hard - -"signal-exit@npm:^3.0.3, signal-exit@npm:^3.0.7": - version: 3.0.7 - resolution: "signal-exit@npm:3.0.7" - checksum: 25d272fa73e146048565e08f3309d5b942c1979a6f4a58a8c59d5fa299728e9c2fcd1a759ec870863b1fd38653670240cd420dad2ad9330c71f36608a6a1c912 - languageName: node - linkType: hard - -"signal-exit@npm:^4.0.1, signal-exit@npm:^4.1.0": - version: 4.1.0 - resolution: "signal-exit@npm:4.1.0" - checksum: 41602dce540e46d599edba9d9860193398d135f7ff72cab629db5171516cfae628d21e7bfccde1bbfdf11c48726bc2a6d1a8fb8701125852fbfda7cf19c6aa83 - languageName: node - linkType: hard - -"sisteransi@npm:^1.0.5": - version: 1.0.5 - resolution: "sisteransi@npm:1.0.5" - checksum: 230ac975cca485b7f6fe2b96a711aa62a6a26ead3e6fb8ba17c5a00d61b8bed0d7adc21f5626b70d7c33c62ff4e63933017a6462942c719d1980bb0b1207ad46 - languageName: node - linkType: hard - -"slash@npm:^3.0.0": - version: 3.0.0 - resolution: "slash@npm:3.0.0" - checksum: e18488c6a42bdfd4ac5be85b2ced3ccd0224773baae6ad42cfbb9ec74fc07f9fa8396bd35ee638084ead7a2a0818eb5e7151111544d4731ce843019dab4be47b - languageName: node - linkType: hard - -"smart-buffer@npm:^4.2.0": - version: 4.2.0 - resolution: "smart-buffer@npm:4.2.0" - checksum: a16775323e1404dd43fabafe7460be13a471e021637bc7889468eb45ce6a6b207261f454e4e530a19500cc962c4cc5348583520843b363f4193cee5c00e1e539 - languageName: node - linkType: hard - -"socket.io-client@npm:^4.5.1": - version: 4.7.5 - resolution: "socket.io-client@npm:4.7.5" - dependencies: - "@socket.io/component-emitter": "npm:~3.1.0" - debug: "npm:~4.3.2" - engine.io-client: "npm:~6.5.2" - socket.io-parser: "npm:~4.2.4" - checksum: d5dc90ee63755fbbb0a1cb3faf575c9ce20d98e809a43a4c9c3ce03a56b8810335ae38e678ceb0650ac434d55e72ea6449c2e5d6db8bc7258f7c529148fac99d - languageName: node - linkType: hard - -"socket.io-parser@npm:~4.2.4": - version: 4.2.4 - resolution: "socket.io-parser@npm:4.2.4" - dependencies: - "@socket.io/component-emitter": "npm:~3.1.0" - debug: "npm:~4.3.1" - checksum: 9383b30358fde4a801ea4ec5e6860915c0389a091321f1c1f41506618b5cf7cd685d0a31c587467a0c4ee99ef98c2b99fb87911f9dfb329716c43b587f29ca48 - languageName: node - linkType: hard - -"socks-proxy-agent@npm:^8.0.1": - version: 8.0.2 - resolution: "socks-proxy-agent@npm:8.0.2" - dependencies: - agent-base: "npm:^7.0.2" - debug: "npm:^4.3.4" - socks: "npm:^2.7.1" - checksum: a842402fc9b8848a31367f2811ca3cd14c4106588b39a0901cd7a69029998adfc6456b0203617c18ed090542ad0c24ee4e9d4c75a0c4b75071e214227c177eb7 - languageName: node - linkType: hard - -"socks@npm:^2.7.1": - version: 2.8.0 - resolution: "socks@npm:2.8.0" - dependencies: - ip-address: "npm:^9.0.5" - smart-buffer: "npm:^4.2.0" - checksum: 208fa5d5ae47857653c4fc039d47e4c1e76313b24052151a949aa98f027f9aaba8fc6c5dc0f7f2d9ceeb94e9940217581f2d9798436563c1494b67a6cb68611f - languageName: node - linkType: hard - -"sonic-boom@npm:^2.2.1": - version: 2.8.0 - resolution: "sonic-boom@npm:2.8.0" - dependencies: - atomic-sleep: "npm:^1.0.0" - checksum: 6b40f2e91a999819b1dc24018a5d1c8b74e66e5d019eabad17d5b43fc309b32255b7c405ed6ec885693c8f2b969099ce96aeefde027180928bc58c034234a86d - languageName: node - linkType: hard - -"source-map-js@npm:^1.0.2": - version: 1.0.2 - resolution: "source-map-js@npm:1.0.2" - checksum: 32f2dfd1e9b7168f9a9715eb1b4e21905850f3b50cf02cf476e47e4eebe8e6b762b63a64357896aa29b37e24922b4282df0f492e0d2ace572b43d15525976ff8 - languageName: node - linkType: hard - -"source-map-support@npm:0.5.13": - version: 0.5.13 - resolution: "source-map-support@npm:0.5.13" - dependencies: - buffer-from: "npm:^1.0.0" - source-map: "npm:^0.6.0" - checksum: 137539f8c453fa0f496ea42049ab5da4569f96781f6ac8e5bfda26937be9494f4e8891f523c5f98f0e85f71b35d74127a00c46f83f6a4f54672b58d53202565e - languageName: node - linkType: hard - -"source-map@npm:^0.6.0, source-map@npm:^0.6.1, source-map@npm:~0.6.1": - version: 0.6.1 - resolution: "source-map@npm:0.6.1" - checksum: ab55398007c5e5532957cb0beee2368529618ac0ab372d789806f5718123cc4367d57de3904b4e6a4170eb5a0b0f41373066d02ca0735a0c4d75c7d328d3e011 - languageName: node - linkType: hard - -"source-map@npm:^0.7.4": - version: 0.7.4 - resolution: "source-map@npm:0.7.4" - checksum: dc0cf3768fe23c345ea8760487f8c97ef6fca8a73c83cd7c9bf2fde8bc2c34adb9c0824d6feb14bc4f9e37fb522e18af621543f1289038a66ac7586da29aa7dc - languageName: node - linkType: hard - -"split-on-first@npm:^1.0.0": - version: 1.1.0 - resolution: "split-on-first@npm:1.1.0" - checksum: 56df8344f5a5de8521898a5c090023df1d8b8c75be6228f56c52491e0fc1617a5236f2ac3a066adb67a73231eac216ccea7b5b4a2423a543c277cb2f48d24c29 - languageName: node - linkType: hard - -"split2@npm:^4.0.0": - version: 4.2.0 - resolution: "split2@npm:4.2.0" - checksum: b292beb8ce9215f8c642bb68be6249c5a4c7f332fc8ecadae7be5cbdf1ea95addc95f0459ef2e7ad9d45fd1064698a097e4eb211c83e772b49bc0ee423e91534 - languageName: node - linkType: hard - -"sprintf-js@npm:^1.1.3": - version: 1.1.3 - resolution: "sprintf-js@npm:1.1.3" - checksum: 09270dc4f30d479e666aee820eacd9e464215cdff53848b443964202bf4051490538e5dd1b42e1a65cf7296916ca17640aebf63dae9812749c7542ee5f288dec - languageName: node - linkType: hard - -"sprintf-js@npm:~1.0.2": - version: 1.0.3 - resolution: "sprintf-js@npm:1.0.3" - checksum: ecadcfe4c771890140da5023d43e190b7566d9cf8b2d238600f31bec0fc653f328da4450eb04bd59a431771a8e9cc0e118f0aa3974b683a4981b4e07abc2a5bb - languageName: node - linkType: hard - -"ssri@npm:^10.0.0": - version: 10.0.5 - resolution: "ssri@npm:10.0.5" - dependencies: - minipass: "npm:^7.0.3" - checksum: b091f2ae92474183c7ac5ed3f9811457e1df23df7a7e70c9476eaa9a0c4a0c8fc190fb45acefbf023ca9ee864dd6754237a697dc52a0fb182afe65d8e77443d8 - languageName: node - linkType: hard - -"stack-utils@npm:^2.0.3": - version: 2.0.6 - resolution: "stack-utils@npm:2.0.6" - dependencies: - escape-string-regexp: "npm:^2.0.0" - checksum: 651c9f87667e077584bbe848acaecc6049bc71979f1e9a46c7b920cad4431c388df0f51b8ad7cfd6eed3db97a2878d0fc8b3122979439ea8bac29c61c95eec8a - languageName: node - linkType: hard - -"std-env@npm:^3.7.0": - version: 3.7.0 - resolution: "std-env@npm:3.7.0" - checksum: 60edf2d130a4feb7002974af3d5a5f3343558d1ccf8d9b9934d225c638606884db4a20d2fe6440a09605bca282af6b042ae8070a10490c0800d69e82e478f41e - languageName: node - linkType: hard - -"stop-iteration-iterator@npm:^1.0.0": - version: 1.0.0 - resolution: "stop-iteration-iterator@npm:1.0.0" - dependencies: - internal-slot: "npm:^1.0.4" - checksum: c4158d6188aac510d9e92925b58709207bd94699e9c31186a040c80932a687f84a51356b5895e6dc72710aad83addb9411c22171832c9ae0e6e11b7d61b0dfb9 - languageName: node - linkType: hard - -"stream-shift@npm:^1.0.2": - version: 1.0.3 - resolution: "stream-shift@npm:1.0.3" - checksum: 939cd1051ca750d240a0625b106a2b988c45fb5a3be0cebe9a9858cb01bc1955e8c7b9fac17a9462976bea4a7b704e317c5c2200c70f0ca715a3363b9aa4fd3b - languageName: node - linkType: hard - -"streamsearch@npm:^1.1.0": - version: 1.1.0 - resolution: "streamsearch@npm:1.1.0" - checksum: fbd9aecc2621364384d157f7e59426f4bfd385e8b424b5aaa79c83a6f5a1c8fd2e4e3289e95de1eb3511cb96bb333d6281a9919fafce760e4edb35b2cd2facab - languageName: node - linkType: hard - -"strict-uri-encode@npm:^2.0.0": - version: 2.0.0 - resolution: "strict-uri-encode@npm:2.0.0" - checksum: 010cbc78da0e2cf833b0f5dc769e21ae74cdc5d5f5bd555f14a4a4876c8ad2c85ab8b5bdf9a722dc71a11dcd3184085e1c3c0bd50ec6bb85fffc0f28cf82597d - languageName: node - linkType: hard - -"string-length@npm:^4.0.1": - version: 4.0.2 - resolution: "string-length@npm:4.0.2" - dependencies: - char-regex: "npm:^1.0.2" - strip-ansi: "npm:^6.0.0" - checksum: 1cd77409c3d7db7bc59406f6bcc9ef0783671dcbabb23597a1177c166906ef2ee7c8290f78cae73a8aec858768f189d2cb417797df5e15ec4eb5e16b3346340c - languageName: node - linkType: hard - -"string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.3": - version: 4.2.3 - resolution: "string-width@npm:4.2.3" - dependencies: - emoji-regex: "npm:^8.0.0" - is-fullwidth-code-point: "npm:^3.0.0" - strip-ansi: "npm:^6.0.1" - checksum: 1e525e92e5eae0afd7454086eed9c818ee84374bb80328fc41217ae72ff5f065ef1c9d7f72da41de40c75fa8bb3dee63d92373fd492c84260a552c636392a47b - languageName: node - linkType: hard - -"string-width@npm:^5.0.1, string-width@npm:^5.1.2": - version: 5.1.2 - resolution: "string-width@npm:5.1.2" - dependencies: - eastasianwidth: "npm:^0.2.0" - emoji-regex: "npm:^9.2.2" - strip-ansi: "npm:^7.0.1" - checksum: ab9c4264443d35b8b923cbdd513a089a60de339216d3b0ed3be3ba57d6880e1a192b70ae17225f764d7adbf5994e9bb8df253a944736c15a0240eff553c678ca - languageName: node - linkType: hard - -"string.prototype.matchall@npm:^4.0.8": - version: 4.0.10 - resolution: "string.prototype.matchall@npm:4.0.10" - dependencies: - call-bind: "npm:^1.0.2" - define-properties: "npm:^1.2.0" - es-abstract: "npm:^1.22.1" - get-intrinsic: "npm:^1.2.1" - has-symbols: "npm:^1.0.3" - internal-slot: "npm:^1.0.5" - regexp.prototype.flags: "npm:^1.5.0" - set-function-name: "npm:^2.0.0" - side-channel: "npm:^1.0.4" - checksum: cd7495fb0de16d43efeee3887b98701941f3817bd5f09351ad1825b023d307720c86394d56d56380563d97767ab25bf5448db239fcecbb85c28e2180f23e324a - languageName: node - linkType: hard - -"string.prototype.trim@npm:^1.2.8": - version: 1.2.8 - resolution: "string.prototype.trim@npm:1.2.8" - dependencies: - call-bind: "npm:^1.0.2" - define-properties: "npm:^1.2.0" - es-abstract: "npm:^1.22.1" - checksum: 4f76c583908bcde9a71208ddff38f67f24c9ec8093631601666a0df8b52fad44dad2368c78895ce83eb2ae8e7068294cc96a02fc971ab234e4d5c9bb61ea4e34 - languageName: node - linkType: hard - -"string.prototype.trimend@npm:^1.0.7": - version: 1.0.7 - resolution: "string.prototype.trimend@npm:1.0.7" - dependencies: - call-bind: "npm:^1.0.2" - define-properties: "npm:^1.2.0" - es-abstract: "npm:^1.22.1" - checksum: 53c24911c7c4d8d65f5ef5322de23a3d5b6b4db73273e05871d5ab4571ae5638f38f7f19d71d09116578fb060e5a145cc6a208af2d248c8baf7a34f44d32ce57 - languageName: node - linkType: hard - -"string.prototype.trimstart@npm:^1.0.7": - version: 1.0.7 - resolution: "string.prototype.trimstart@npm:1.0.7" - dependencies: - call-bind: "npm:^1.0.2" - define-properties: "npm:^1.2.0" - es-abstract: "npm:^1.22.1" - checksum: 0bcf391b41ea16d4fda9c9953d0a7075171fe090d33b4cf64849af94944c50862995672ac03e0c5dba2940a213ad7f53515a668dac859ce22a0276289ae5cf4f - languageName: node - linkType: hard - -"string_decoder@npm:^1.1.1, string_decoder@npm:^1.3.0": - version: 1.3.0 - resolution: "string_decoder@npm:1.3.0" - dependencies: - safe-buffer: "npm:~5.2.0" - checksum: 810614ddb030e271cd591935dcd5956b2410dd079d64ff92a1844d6b7588bf992b3e1b69b0f4d34a3e06e0bd73046ac646b5264c1987b20d0601f81ef35d731d - languageName: node - linkType: hard - -"string_decoder@npm:~1.1.1": - version: 1.1.1 - resolution: "string_decoder@npm:1.1.1" - dependencies: - safe-buffer: "npm:~5.1.0" - checksum: b4f89f3a92fd101b5653ca3c99550e07bdf9e13b35037e9e2a1c7b47cec4e55e06ff3fc468e314a0b5e80bfbaf65c1ca5a84978764884ae9413bec1fc6ca924e - languageName: node - linkType: hard - -"strip-ansi-cjs@npm:strip-ansi@^6.0.1, strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1": - version: 6.0.1 - resolution: "strip-ansi@npm:6.0.1" - dependencies: - ansi-regex: "npm:^5.0.1" - checksum: 1ae5f212a126fe5b167707f716942490e3933085a5ff6c008ab97ab2f272c8025d3aa218b7bd6ab25729ca20cc81cddb252102f8751e13482a5199e873680952 - languageName: node - linkType: hard - -"strip-ansi@npm:^7.0.1": - version: 7.1.0 - resolution: "strip-ansi@npm:7.1.0" - dependencies: - ansi-regex: "npm:^6.0.1" - checksum: a198c3762e8832505328cbf9e8c8381de14a4fa50a4f9b2160138158ea88c0f5549fb50cb13c651c3088f47e63a108b34622ec18c0499b6c8c3a5ddf6b305ac4 - languageName: node - linkType: hard - -"strip-bom@npm:^3.0.0": - version: 3.0.0 - resolution: "strip-bom@npm:3.0.0" - checksum: 51201f50e021ef16672593d7434ca239441b7b760e905d9f33df6e4f3954ff54ec0e0a06f100d028af0982d6f25c35cd5cda2ce34eaebccd0250b8befb90d8f1 - languageName: node - linkType: hard - -"strip-bom@npm:^4.0.0": - version: 4.0.0 - resolution: "strip-bom@npm:4.0.0" - checksum: 26abad1172d6bc48985ab9a5f96c21e440f6e7e476686de49be813b5a59b3566dccb5c525b831ec54fe348283b47f3ffb8e080bc3f965fde12e84df23f6bb7ef - languageName: node - linkType: hard - -"strip-final-newline@npm:^2.0.0": - version: 2.0.0 - resolution: "strip-final-newline@npm:2.0.0" - checksum: bddf8ccd47acd85c0e09ad7375409d81653f645fda13227a9d459642277c253d877b68f2e5e4d819fe75733b0e626bac7e954c04f3236f6d196f79c94fa4a96f - languageName: node - linkType: hard - -"strip-final-newline@npm:^3.0.0": - version: 3.0.0 - resolution: "strip-final-newline@npm:3.0.0" - checksum: a771a17901427bac6293fd416db7577e2bc1c34a19d38351e9d5478c3c415f523f391003b42ed475f27e33a78233035df183525395f731d3bfb8cdcbd4da08ce - languageName: node - linkType: hard - -"strip-indent@npm:^3.0.0": - version: 3.0.0 - resolution: "strip-indent@npm:3.0.0" - dependencies: - min-indent: "npm:^1.0.0" - checksum: ae0deaf41c8d1001c5d4fbe16cb553865c1863da4fae036683b474fa926af9fc121e155cb3fc57a68262b2ae7d5b8420aa752c97a6428c315d00efe2a3875679 - languageName: node - linkType: hard - -"strip-json-comments@npm:^3.1.1": - version: 3.1.1 - resolution: "strip-json-comments@npm:3.1.1" - checksum: 9681a6257b925a7fa0f285851c0e613cc934a50661fa7bb41ca9cbbff89686bb4a0ee366e6ecedc4daafd01e83eee0720111ab294366fe7c185e935475ebcecd - languageName: node - linkType: hard - -"styled-jsx@npm:5.1.1": - version: 5.1.1 - resolution: "styled-jsx@npm:5.1.1" - dependencies: - client-only: "npm:0.0.1" - peerDependencies: - react: ">= 16.8.0 || 17.x.x || ^18.0.0-0" - peerDependenciesMeta: - "@babel/core": - optional: true - babel-plugin-macros: - optional: true - checksum: 42655cdadfa5388f8a48bb282d6b450df7d7b8cf066ac37038bd0499d3c9f084815ebd9ff9dfa12a218fd4441338851db79603498d7557207009c1cf4d609835 - languageName: node - linkType: hard - -"sucrase@npm:^3.32.0": - version: 3.35.0 - resolution: "sucrase@npm:3.35.0" - dependencies: - "@jridgewell/gen-mapping": "npm:^0.3.2" - commander: "npm:^4.0.0" - glob: "npm:^10.3.10" - lines-and-columns: "npm:^1.1.6" - mz: "npm:^2.7.0" - pirates: "npm:^4.0.1" - ts-interface-checker: "npm:^0.1.9" - bin: - sucrase: bin/sucrase - sucrase-node: bin/sucrase-node - checksum: ac85f3359d2c2ecbf5febca6a24ae9bf96c931f05fde533c22a94f59c6a74895e5d5f0e871878dfd59c2697a75ebb04e4b2224ef0bfc24ca1210735c2ec191ef - languageName: node - linkType: hard - -"superstruct@npm:^1.0.3": - version: 1.0.4 - resolution: "superstruct@npm:1.0.4" - checksum: d355f1a96fa314e9df217aa371e8f22854644e7b600b7b0faa36860a8e50f61a60a6f1189ecf166171bf438aa6581bbd0d3adae1a65f03a3c43c62fd843e925c - languageName: node - linkType: hard - -"supports-color@npm:^5.3.0": - version: 5.5.0 - resolution: "supports-color@npm:5.5.0" - dependencies: - has-flag: "npm:^3.0.0" - checksum: 6ae5ff319bfbb021f8a86da8ea1f8db52fac8bd4d499492e30ec17095b58af11f0c55f8577390a749b1c4dde691b6a0315dab78f5f54c9b3d83f8fb5905c1c05 - languageName: node - linkType: hard - -"supports-color@npm:^7.1.0": - version: 7.2.0 - resolution: "supports-color@npm:7.2.0" - dependencies: - has-flag: "npm:^4.0.0" - checksum: afb4c88521b8b136b5f5f95160c98dee7243dc79d5432db7efc27efb219385bbc7d9427398e43dd6cc730a0f87d5085ce1652af7efbe391327bc0a7d0f7fc124 - languageName: node - linkType: hard - -"supports-color@npm:^8.0.0": - version: 8.1.1 - resolution: "supports-color@npm:8.1.1" - dependencies: - has-flag: "npm:^4.0.0" - checksum: ea1d3c275dd604c974670f63943ed9bd83623edc102430c05adb8efc56ba492746b6e95386e7831b872ec3807fd89dd8eb43f735195f37b5ec343e4234cc7e89 - languageName: node - linkType: hard - -"supports-preserve-symlinks-flag@npm:^1.0.0": - version: 1.0.0 - resolution: "supports-preserve-symlinks-flag@npm:1.0.0" - checksum: 6c4032340701a9950865f7ae8ef38578d8d7053f5e10518076e6554a9381fa91bd9c6850193695c141f32b21f979c985db07265a758867bac95de05f7d8aeb39 - languageName: node - linkType: hard - -"symbol-tree@npm:^3.2.4": - version: 3.2.4 - resolution: "symbol-tree@npm:3.2.4" - checksum: dfbe201ae09ac6053d163578778c53aa860a784147ecf95705de0cd23f42c851e1be7889241495e95c37cabb058edb1052f141387bef68f705afc8f9dd358509 - languageName: node - linkType: hard - -"system-architecture@npm:^0.1.0": - version: 0.1.0 - resolution: "system-architecture@npm:0.1.0" - checksum: 1969974ea5d31a9ac7c38f2657cfe8255b36f9e1d5ba3c58cb84c24fbeedf562778b8511f18a0abe6d70ae90148cfcaf145ecf26e37c0a53a3829076f3238cbb - languageName: node - linkType: hard - -"tailwind-merge@npm:^2.3.0": - version: 2.5.2 - resolution: "tailwind-merge@npm:2.5.2" - checksum: e43a9a468f7ba4ed5b4a399558d96d6270a3d8131dca111cccc803e71cc23885060d18d721f312a24fff0a75c567dbb30b2a87c18aba25eb4255df197d8170ab - languageName: node - linkType: hard - -"tailwindcss@npm:^3.3.0": - version: 3.4.1 - resolution: "tailwindcss@npm:3.4.1" - dependencies: - "@alloc/quick-lru": "npm:^5.2.0" - arg: "npm:^5.0.2" - chokidar: "npm:^3.5.3" - didyoumean: "npm:^1.2.2" - dlv: "npm:^1.1.3" - fast-glob: "npm:^3.3.0" - glob-parent: "npm:^6.0.2" - is-glob: "npm:^4.0.3" - jiti: "npm:^1.19.1" - lilconfig: "npm:^2.1.0" - micromatch: "npm:^4.0.5" - normalize-path: "npm:^3.0.0" - object-hash: "npm:^3.0.0" - picocolors: "npm:^1.0.0" - postcss: "npm:^8.4.23" - postcss-import: "npm:^15.1.0" - postcss-js: "npm:^4.0.1" - postcss-load-config: "npm:^4.0.1" - postcss-nested: "npm:^6.0.1" - postcss-selector-parser: "npm:^6.0.11" - resolve: "npm:^1.22.2" - sucrase: "npm:^3.32.0" - bin: - tailwind: lib/cli.js - tailwindcss: lib/cli.js - checksum: eec3d758f1cd4f51ab3b4c201927c3ecd18e55f8ac94256af60276aaf8d1df78f9dddb5e9fb1e057dfa7cea3c1356add4994cc3d42da9739df874e67047e656f - languageName: node - linkType: hard - -"tapable@npm:^2.2.0": - version: 2.2.1 - resolution: "tapable@npm:2.2.1" - checksum: bc40e6efe1e554d075469cedaba69a30eeb373552aaf41caeaaa45bf56ffacc2674261b106245bd566b35d8f3329b52d838e851ee0a852120acae26e622925c9 - languageName: node - linkType: hard - -"tar@npm:^6.1.11, tar@npm:^6.1.2": - version: 6.2.0 - resolution: "tar@npm:6.2.0" - dependencies: - chownr: "npm:^2.0.0" - fs-minipass: "npm:^2.0.0" - minipass: "npm:^5.0.0" - minizlib: "npm:^2.1.1" - mkdirp: "npm:^1.0.3" - yallist: "npm:^4.0.0" - checksum: 02ca064a1a6b4521fef88c07d389ac0936730091f8c02d30ea60d472e0378768e870769ab9e986d87807bfee5654359cf29ff4372746cc65e30cbddc352660d8 - languageName: node - linkType: hard - -"tar@npm:^7.0.0": - version: 7.0.0 - resolution: "tar@npm:7.0.0" - dependencies: - "@isaacs/fs-minipass": "npm:^4.0.0" - chownr: "npm:^3.0.0" - minipass: "npm:^5.0.0" - minizlib: "npm:^3.0.1" - mkdirp: "npm:^3.0.1" - yallist: "npm:^5.0.0" - checksum: ded61445352b9caccf7d92a443f952bb0e5c56dc3b7c59ea170a4a98fa03f5d785e9df308cba1c9cf6d04df7be6161b50ba445ae1587a13360df930da96577b5 - languageName: node - linkType: hard - -"test-exclude@npm:^6.0.0": - version: 6.0.0 - resolution: "test-exclude@npm:6.0.0" - dependencies: - "@istanbuljs/schema": "npm:^0.1.2" - glob: "npm:^7.1.4" - minimatch: "npm:^3.0.4" - checksum: 019d33d81adff3f9f1bfcff18125fb2d3c65564f437d9be539270ee74b994986abb8260c7c2ce90e8f30162178b09dbbce33c6389273afac4f36069c48521f57 - languageName: node - linkType: hard - -"text-table@npm:^0.2.0": - version: 0.2.0 - resolution: "text-table@npm:0.2.0" - checksum: 02805740c12851ea5982686810702e2f14369a5f4c5c40a836821e3eefc65ffeec3131ba324692a37608294b0fd8c1e55a2dd571ffed4909822787668ddbee5c - languageName: node - linkType: hard - -"thenify-all@npm:^1.0.0": - version: 1.6.0 - resolution: "thenify-all@npm:1.6.0" - dependencies: - thenify: "npm:>= 3.1.0 < 4" - checksum: 9b896a22735e8122754fe70f1d65f7ee691c1d70b1f116fda04fea103d0f9b356e3676cb789506e3909ae0486a79a476e4914b0f92472c2e093d206aed4b7d6b - languageName: node - linkType: hard - -"thenify@npm:>= 3.1.0 < 4": - version: 3.3.1 - resolution: "thenify@npm:3.3.1" - dependencies: - any-promise: "npm:^1.0.0" - checksum: f375aeb2b05c100a456a30bc3ed07ef03a39cbdefe02e0403fb714b8c7e57eeaad1a2f5c4ecfb9ce554ce3db9c2b024eba144843cd9e344566d9fcee73b04767 - languageName: node - linkType: hard - -"thread-stream@npm:^0.15.1": - version: 0.15.2 - resolution: "thread-stream@npm:0.15.2" - dependencies: - real-require: "npm:^0.1.0" - checksum: f92f1b5a9f3f35a72c374e3fecbde6f14d69d5325ad9ce88930af6ed9c7c1ec814367716b712205fa4f06242ae5dd97321ae2c00b43586590ed4fa861f3c29ae - languageName: node - linkType: hard - -"tiny-case@npm:^1.0.3": - version: 1.0.3 - resolution: "tiny-case@npm:1.0.3" - checksum: c0cbed35884a322265e2cd61ff435168d1ea523f88bf3864ce14a238ae9169e732649776964283a66e4eb882e655992081d4daf8c865042e2233425866111b35 - languageName: node - linkType: hard - -"tmpl@npm:1.0.5": - version: 1.0.5 - resolution: "tmpl@npm:1.0.5" - checksum: f935537799c2d1922cb5d6d3805f594388f75338fe7a4a9dac41504dd539704ca4db45b883b52e7b0aa5b2fd5ddadb1452bf95cd23a69da2f793a843f9451cc9 - languageName: node - linkType: hard - -"to-fast-properties@npm:^2.0.0": - version: 2.0.0 - resolution: "to-fast-properties@npm:2.0.0" - checksum: b214d21dbfb4bce3452b6244b336806ffea9c05297148d32ebb428d5c43ce7545bdfc65a1ceb58c9ef4376a65c0cb2854d645f33961658b3e3b4f84910ddcdd7 - languageName: node - linkType: hard - -"to-regex-range@npm:^5.0.1": - version: 5.0.1 - resolution: "to-regex-range@npm:5.0.1" - dependencies: - is-number: "npm:^7.0.0" - checksum: 487988b0a19c654ff3e1961b87f471702e708fa8a8dd02a298ef16da7206692e8552a0250e8b3e8759270f62e9d8314616f6da274734d3b558b1fc7b7724e892 - languageName: node - linkType: hard - -"toposort@npm:^2.0.2": - version: 2.0.2 - resolution: "toposort@npm:2.0.2" - checksum: ab9ca91fce4b972ccae9e2f539d755bf799a0c7eb60da07fd985fce0f14c159ed1e92305ff55697693b5bc13e300f5417db90e2593b127d421c9f6c440950222 - languageName: node - linkType: hard - -"tough-cookie@npm:^4.1.2": - version: 4.1.3 - resolution: "tough-cookie@npm:4.1.3" - dependencies: - psl: "npm:^1.1.33" - punycode: "npm:^2.1.1" - universalify: "npm:^0.2.0" - url-parse: "npm:^1.5.3" - checksum: 4fc0433a0cba370d57c4b240f30440c848906dee3180bb6e85033143c2726d322e7e4614abb51d42d111ebec119c4876ed8d7247d4113563033eebbc1739c831 - languageName: node - linkType: hard - -"tr46@npm:^3.0.0": - version: 3.0.0 - resolution: "tr46@npm:3.0.0" - dependencies: - punycode: "npm:^2.1.1" - checksum: cdc47cad3a9d0b6cb293e39ccb1066695ae6fdd39b9e4f351b010835a1f8b4f3a6dc3a55e896b421371187f22b48d7dac1b693de4f6551bdef7b6ab6735dfe3b - languageName: node - linkType: hard - -"tr46@npm:~0.0.3": - version: 0.0.3 - resolution: "tr46@npm:0.0.3" - checksum: 047cb209a6b60c742f05c9d3ace8fa510bff609995c129a37ace03476a9b12db4dbf975e74600830ef0796e18882b2381fb5fb1f6b4f96b832c374de3ab91a11 - languageName: node - linkType: hard - -"ts-api-utils@npm:^1.0.1": - version: 1.2.1 - resolution: "ts-api-utils@npm:1.2.1" - peerDependencies: - typescript: ">=4.2.0" - checksum: 8ddb493e7ae581d3f57a2e469142feb60b420d4ad8366ab969fe8e36531f8f301f370676b47e8d97f28b5f5fd10d6f2d55f656943a8546ef95e35ce5cf117754 - languageName: node - linkType: hard - -"ts-interface-checker@npm:^0.1.9": - version: 0.1.13 - resolution: "ts-interface-checker@npm:0.1.13" - checksum: 232509f1b84192d07b81d1e9b9677088e590ac1303436da1e92b296e9be8e31ea042e3e1fd3d29b1742ad2c959e95afe30f63117b8f1bc3a3850070a5142fea7 - languageName: node - linkType: hard - -"ts-node@npm:^10.9.2": - version: 10.9.2 - resolution: "ts-node@npm:10.9.2" - dependencies: - "@cspotcode/source-map-support": "npm:^0.8.0" - "@tsconfig/node10": "npm:^1.0.7" - "@tsconfig/node12": "npm:^1.0.7" - "@tsconfig/node14": "npm:^1.0.0" - "@tsconfig/node16": "npm:^1.0.2" - acorn: "npm:^8.4.1" - acorn-walk: "npm:^8.1.1" - arg: "npm:^4.1.0" - create-require: "npm:^1.1.0" - diff: "npm:^4.0.1" - make-error: "npm:^1.1.1" - v8-compile-cache-lib: "npm:^3.0.1" - yn: "npm:3.1.1" - peerDependencies: - "@swc/core": ">=1.2.50" - "@swc/wasm": ">=1.2.50" - "@types/node": "*" - typescript: ">=2.7" - peerDependenciesMeta: - "@swc/core": - optional: true - "@swc/wasm": - optional: true - bin: - ts-node: dist/bin.js - ts-node-cwd: dist/bin-cwd.js - ts-node-esm: dist/bin-esm.js - ts-node-script: dist/bin-script.js - ts-node-transpile-only: dist/bin-transpile.js - ts-script: dist/bin-script-deprecated.js - checksum: 5f29938489f96982a25ba650b64218e83a3357d76f7bede80195c65ab44ad279c8357264639b7abdd5d7e75fc269a83daa0e9c62fd8637a3def67254ecc9ddc2 - languageName: node - linkType: hard - -"tsconfig-paths@npm:^3.15.0": - version: 3.15.0 - resolution: "tsconfig-paths@npm:3.15.0" - dependencies: - "@types/json5": "npm:^0.0.29" - json5: "npm:^1.0.2" - minimist: "npm:^1.2.6" - strip-bom: "npm:^3.0.0" - checksum: 5b4f301a2b7a3766a986baf8fc0e177eb80bdba6e396792ff92dc23b5bca8bb279fc96517dcaaef63a3b49bebc6c4c833653ec58155780bc906bdbcf7dda0ef5 - languageName: node - linkType: hard - -"tslib@npm:1.14.1": - version: 1.14.1 - resolution: "tslib@npm:1.14.1" - checksum: 69ae09c49eea644bc5ebe1bca4fa4cc2c82b7b3e02f43b84bd891504edf66dbc6b2ec0eef31a957042de2269139e4acff911e6d186a258fb14069cd7f6febce2 - languageName: node - linkType: hard - -"tslib@npm:^2.0.0, tslib@npm:^2.1.0, tslib@npm:^2.3.1": - version: 2.6.3 - resolution: "tslib@npm:2.6.3" - checksum: 2598aef53d9dbe711af75522464b2104724d6467b26a60f2bdac8297d2b5f1f6b86a71f61717384aa8fd897240467aaa7bcc36a0700a0faf751293d1331db39a - languageName: node - linkType: hard - -"tslib@npm:^2.4.0": - version: 2.6.2 - resolution: "tslib@npm:2.6.2" - checksum: e03a8a4271152c8b26604ed45535954c0a45296e32445b4b87f8a5abdb2421f40b59b4ca437c4346af0f28179780d604094eb64546bee2019d903d01c6c19bdb - languageName: node - linkType: hard - -"type-check@npm:^0.4.0, type-check@npm:~0.4.0": - version: 0.4.0 - resolution: "type-check@npm:0.4.0" - dependencies: - prelude-ls: "npm:^1.2.1" - checksum: 7b3fd0ed43891e2080bf0c5c504b418fbb3e5c7b9708d3d015037ba2e6323a28152ec163bcb65212741fa5d2022e3075ac3c76440dbd344c9035f818e8ecee58 - languageName: node - linkType: hard - -"type-detect@npm:4.0.8": - version: 4.0.8 - resolution: "type-detect@npm:4.0.8" - checksum: 8fb9a51d3f365a7de84ab7f73b653534b61b622aa6800aecdb0f1095a4a646d3f5eb295322127b6573db7982afcd40ab492d038cf825a42093a58b1e1353e0bd - languageName: node - linkType: hard - -"type-fest@npm:^0.20.2": - version: 0.20.2 - resolution: "type-fest@npm:0.20.2" - checksum: dea9df45ea1f0aaa4e2d3bed3f9a0bfe9e5b2592bddb92eb1bf06e50bcf98dbb78189668cd8bc31a0511d3fc25539b4cd5c704497e53e93e2d40ca764b10bfc3 - languageName: node - linkType: hard - -"type-fest@npm:^0.21.3": - version: 0.21.3 - resolution: "type-fest@npm:0.21.3" - checksum: 902bd57bfa30d51d4779b641c2bc403cdf1371fb9c91d3c058b0133694fcfdb817aef07a47f40faf79039eecbaa39ee9d3c532deff244f3a19ce68cea71a61e8 - languageName: node - linkType: hard - -"type-fest@npm:^2.19.0": - version: 2.19.0 - resolution: "type-fest@npm:2.19.0" - checksum: a5a7ecf2e654251613218c215c7493574594951c08e52ab9881c9df6a6da0aeca7528c213c622bc374b4e0cb5c443aa3ab758da4e3c959783ce884c3194e12cb - languageName: node - linkType: hard - -"typed-array-buffer@npm:^1.0.1": - version: 1.0.1 - resolution: "typed-array-buffer@npm:1.0.1" - dependencies: - call-bind: "npm:^1.0.6" - es-errors: "npm:^1.3.0" - is-typed-array: "npm:^1.1.13" - checksum: fd4baf00e92aec8adae46253ae5aa4c5a2cc1659acd44abdef8a3212f4bcf4915a6712669f1bbf5503ff36c94f069963f27b1914bdd06e0093f4a9a390d2e1b8 - languageName: node - linkType: hard - -"typed-array-byte-length@npm:^1.0.0": - version: 1.0.0 - resolution: "typed-array-byte-length@npm:1.0.0" - dependencies: - call-bind: "npm:^1.0.2" - for-each: "npm:^0.3.3" - has-proto: "npm:^1.0.1" - is-typed-array: "npm:^1.1.10" - checksum: 6696435d53ce0e704ff6760c57ccc35138aec5f87859e03eb2a3246336d546feae367952dbc918116f3f0dffbe669734e3cbd8960283c2fa79aac925db50d888 - languageName: node - linkType: hard - -"typed-array-byte-offset@npm:^1.0.0": - version: 1.0.0 - resolution: "typed-array-byte-offset@npm:1.0.0" - dependencies: - available-typed-arrays: "npm:^1.0.5" - call-bind: "npm:^1.0.2" - for-each: "npm:^0.3.3" - has-proto: "npm:^1.0.1" - is-typed-array: "npm:^1.1.10" - checksum: 4036ce007ae9752931bed3dd61e0d6de2a3e5f6a5a85a05f3adb35388d2c0728f9b1a1e638d75579f168e49c289bfb5417f00e96d4ab081f38b647fc854ff7a5 - languageName: node - linkType: hard - -"typed-array-length@npm:^1.0.4": - version: 1.0.4 - resolution: "typed-array-length@npm:1.0.4" - dependencies: - call-bind: "npm:^1.0.2" - for-each: "npm:^0.3.3" - is-typed-array: "npm:^1.1.9" - checksum: c5163c0103d07fefc8a2ad0fc151f9ca9a1f6422098c00f695d55f9896e4d63614cd62cf8d8a031c6cee5f418e8980a533796597174da4edff075b3d275a7e23 - languageName: node - linkType: hard - -"typescript@npm:^5": - version: 5.3.3 - resolution: "typescript@npm:5.3.3" - bin: - tsc: bin/tsc - tsserver: bin/tsserver - checksum: e33cef99d82573624fc0f854a2980322714986bc35b9cb4d1ce736ed182aeab78e2cb32b385efa493b2a976ef52c53e20d6c6918312353a91850e2b76f1ea44f - languageName: node - linkType: hard - -"typescript@patch:typescript@npm%3A^5#optional!builtin": - version: 5.3.3 - resolution: "typescript@patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7" - bin: - tsc: bin/tsc - tsserver: bin/tsserver - checksum: 1d0a5f4ce496c42caa9a30e659c467c5686eae15d54b027ee7866744952547f1be1262f2d40de911618c242b510029d51d43ff605dba8fb740ec85ca2d3f9500 - languageName: node - linkType: hard - -"ua-parser-js@npm:^1.0.37": - version: 1.0.38 - resolution: "ua-parser-js@npm:1.0.38" - checksum: b1dd11b87e1784c79f7129e9aec679753fccf8a9b22f5202b79b19492635b5b46b779607a3cfae0270999a0d48da223bf94015642d2abee69d83c9069ab37bd0 - languageName: node - linkType: hard - -"ufo@npm:^1.4.0, ufo@npm:^1.5.3": - version: 1.5.4 - resolution: "ufo@npm:1.5.4" - checksum: b5dc4dc435c49c9ef8890f1b280a19ee4d0954d1d6f9ab66ce62ce64dd04c7be476781531f952a07c678d51638d02ad4b98e16237be29149295b0f7c09cda765 - languageName: node - linkType: hard - -"uint8arrays@npm:3.1.0": - version: 3.1.0 - resolution: "uint8arrays@npm:3.1.0" - dependencies: - multiformats: "npm:^9.4.2" - checksum: e54e64593a76541330f0fea97b1b5dea6becbbec3572b9bb88863d064f2630bede4d42eafd457f19c6ef9125f50bfc61053d519c4d71b59c3b7566a0691e3ba2 - languageName: node - linkType: hard - -"uint8arrays@npm:^3.0.0": - version: 3.1.1 - resolution: "uint8arrays@npm:3.1.1" - dependencies: - multiformats: "npm:^9.4.2" - checksum: 9946668e04f29b46bbb73cca3d190f63a2fbfe5452f8e6551ef4257d9d597b72da48fa895c15ef2ef772808a5335b3305f69da5f13a09f8c2924896b409565ff - languageName: node - linkType: hard - -"unbox-primitive@npm:^1.0.2": - version: 1.0.2 - resolution: "unbox-primitive@npm:1.0.2" - dependencies: - call-bind: "npm:^1.0.2" - has-bigints: "npm:^1.0.2" - has-symbols: "npm:^1.0.3" - which-boxed-primitive: "npm:^1.0.2" - checksum: 81ca2e81134167cc8f75fa79fbcc8a94379d6c61de67090986a2273850989dd3bae8440c163121b77434b68263e34787a675cbdcb34bb2f764c6b9c843a11b66 - languageName: node - linkType: hard - -"uncrypto@npm:^0.1.3": - version: 0.1.3 - resolution: "uncrypto@npm:0.1.3" - checksum: 74a29afefd76d5b77bedc983559ceb33f5bbc8dada84ff33755d1e3355da55a4e03a10e7ce717918c436b4dfafde1782e799ebaf2aadd775612b49f7b5b2998e - languageName: node - linkType: hard - -"undici-types@npm:~5.26.4": - version: 5.26.5 - resolution: "undici-types@npm:5.26.5" - checksum: bb673d7876c2d411b6eb6c560e0c571eef4a01c1c19925175d16e3a30c4c428181fb8d7ae802a261f283e4166a0ac435e2f505743aa9e45d893f9a3df017b501 - languageName: node - linkType: hard - -"unenv@npm:^1.9.0": - version: 1.10.0 - resolution: "unenv@npm:1.10.0" - dependencies: - consola: "npm:^3.2.3" - defu: "npm:^6.1.4" - mime: "npm:^3.0.0" - node-fetch-native: "npm:^1.6.4" - pathe: "npm:^1.1.2" - checksum: 354180647e21204b6c303339e7364b920baadb2672b540a88af267bc827636593e0bf79f59753dcc6b7ab5d4c83e71d69a9171a3596befb8bf77e0bb3c7612b9 - languageName: node - linkType: hard - -"unfetch@npm:^4.2.0": - version: 4.2.0 - resolution: "unfetch@npm:4.2.0" - checksum: a5c0a896a6f09f278b868075aea65652ad185db30e827cb7df45826fe5ab850124bf9c44c4dafca4bf0c55a0844b17031e8243467fcc38dd7a7d435007151f1b - languageName: node - linkType: hard - -"unique-filename@npm:^3.0.0": - version: 3.0.0 - resolution: "unique-filename@npm:3.0.0" - dependencies: - unique-slug: "npm:^4.0.0" - checksum: 6363e40b2fa758eb5ec5e21b3c7fb83e5da8dcfbd866cc0c199d5534c42f03b9ea9ab069769cc388e1d7ab93b4eeef28ef506ab5f18d910ef29617715101884f - languageName: node - linkType: hard - -"unique-slug@npm:^4.0.0": - version: 4.0.0 - resolution: "unique-slug@npm:4.0.0" - dependencies: - imurmurhash: "npm:^0.1.4" - checksum: cb811d9d54eb5821b81b18205750be84cb015c20a4a44280794e915f5a0a70223ce39066781a354e872df3572e8155c228f43ff0cce94c7cbf4da2cc7cbdd635 - languageName: node - linkType: hard - -"universalify@npm:^0.2.0": - version: 0.2.0 - resolution: "universalify@npm:0.2.0" - checksum: cedbe4d4ca3967edf24c0800cfc161c5a15e240dac28e3ce575c689abc11f2c81ccc6532c8752af3b40f9120fb5e454abecd359e164f4f6aa44c29cd37e194fe - languageName: node - linkType: hard - -"unstorage@npm:^1.9.0": - version: 1.10.2 - resolution: "unstorage@npm:1.10.2" - dependencies: - anymatch: "npm:^3.1.3" - chokidar: "npm:^3.6.0" - destr: "npm:^2.0.3" - h3: "npm:^1.11.1" - listhen: "npm:^1.7.2" - lru-cache: "npm:^10.2.0" - mri: "npm:^1.2.0" - node-fetch-native: "npm:^1.6.2" - ofetch: "npm:^1.3.3" - ufo: "npm:^1.4.0" - peerDependencies: - "@azure/app-configuration": ^1.5.0 - "@azure/cosmos": ^4.0.0 - "@azure/data-tables": ^13.2.2 - "@azure/identity": ^4.0.1 - "@azure/keyvault-secrets": ^4.8.0 - "@azure/storage-blob": ^12.17.0 - "@capacitor/preferences": ^5.0.7 - "@netlify/blobs": ^6.5.0 || ^7.0.0 - "@planetscale/database": ^1.16.0 - "@upstash/redis": ^1.28.4 - "@vercel/kv": ^1.0.1 - idb-keyval: ^6.2.1 - ioredis: ^5.3.2 - peerDependenciesMeta: - "@azure/app-configuration": - optional: true - "@azure/cosmos": - optional: true - "@azure/data-tables": - optional: true - "@azure/identity": - optional: true - "@azure/keyvault-secrets": - optional: true - "@azure/storage-blob": - optional: true - "@capacitor/preferences": - optional: true - "@netlify/blobs": - optional: true - "@planetscale/database": - optional: true - "@upstash/redis": - optional: true - "@vercel/kv": - optional: true - idb-keyval: - optional: true - ioredis: - optional: true - checksum: 89d61e6b2165ddc78005b8a4a340576877b56b70ec0b318f7cf2e74ee7ab19006036267ba28587100fa7256c573db3bd720700daf6586bbdcad4ed60b64c4284 - languageName: node - linkType: hard - -"untun@npm:^0.1.3": - version: 0.1.3 - resolution: "untun@npm:0.1.3" - dependencies: - citty: "npm:^0.1.5" - consola: "npm:^3.2.3" - pathe: "npm:^1.1.1" - bin: - untun: bin/untun.mjs - checksum: 2b44a4cc84a5c21994f43b9f55348e5a8d9dd5fd0ad8fb5cd091b6f6b53d506b1cdb90e89cc238d61b46d488f7a89ab0d1a5c735bfc835581c7b22a236381295 - languageName: node - linkType: hard - -"update-browserslist-db@npm:^1.0.13": - version: 1.0.13 - resolution: "update-browserslist-db@npm:1.0.13" - dependencies: - escalade: "npm:^3.1.1" - picocolors: "npm:^1.0.0" - peerDependencies: - browserslist: ">= 4.21.0" - bin: - update-browserslist-db: cli.js - checksum: e52b8b521c78ce1e0c775f356cd16a9c22c70d25f3e01180839c407a5dc787fb05a13f67560cbaf316770d26fa99f78f1acd711b1b54a4f35d4820d4ea7136e6 - languageName: node - linkType: hard - -"uqr@npm:^0.1.2": - version: 0.1.2 - resolution: "uqr@npm:0.1.2" - checksum: 40cd81b4c13f1764d52ec28da2d58e60816e6fae54d4eb75b32fbf3137937f438eff16c766139fb0faec5d248a5314591f5a0dbd694e569d419eed6f3bd80242 - languageName: node - linkType: hard - -"uri-js@npm:^4.2.2": - version: 4.4.1 - resolution: "uri-js@npm:4.4.1" - dependencies: - punycode: "npm:^2.1.0" - checksum: 4ef57b45aa820d7ac6496e9208559986c665e49447cb072744c13b66925a362d96dd5a46c4530a6b8e203e5db5fe849369444440cb22ecfc26c679359e5dfa3c - languageName: node - linkType: hard - -"url-parse@npm:^1.5.3": - version: 1.5.10 - resolution: "url-parse@npm:1.5.10" - dependencies: - querystringify: "npm:^2.1.1" - requires-port: "npm:^1.0.0" - checksum: bd5aa9389f896974beb851c112f63b466505a04b4807cea2e5a3b7092f6fbb75316f0491ea84e44f66fed55f1b440df5195d7e3a8203f64fcefa19d182f5be87 - languageName: node - linkType: hard - -"use-callback-ref@npm:^1.3.0": - version: 1.3.2 - resolution: "use-callback-ref@npm:1.3.2" - dependencies: - tslib: "npm:^2.0.0" - peerDependencies: - "@types/react": ^16.8.0 || ^17.0.0 || ^18.0.0 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - peerDependenciesMeta: - "@types/react": - optional: true - checksum: d232c37160fe3970c99255da19b5fb5299fb5926a5d6141d928a87feb47732c323d29be2f8137d3b1e5499c70d284cd1d9cfad703cc58179db8be24d7dd8f1f2 - languageName: node - linkType: hard - -"use-sidecar@npm:^1.1.2": - version: 1.1.2 - resolution: "use-sidecar@npm:1.1.2" - dependencies: - detect-node-es: "npm:^1.1.0" - tslib: "npm:^2.0.0" - peerDependencies: - "@types/react": ^16.9.0 || ^17.0.0 || ^18.0.0 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - peerDependenciesMeta: - "@types/react": - optional: true - checksum: 89f0018fd9aee1fc17c85ac18c4bf8944d460d453d0d0e04ddbc8eaddf3fa591e9c74a1f8a438a1bff368a7a2417fab380bdb3df899d2194c4375b0982736de0 - languageName: node - linkType: hard - -"use-sync-external-store@npm:1.2.0": - version: 1.2.0 - resolution: "use-sync-external-store@npm:1.2.0" - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: ac4814e5592524f242921157e791b022efe36e451fe0d4fd4d204322d5433a4fc300d63b0ade5185f8e0735ded044c70bcf6d2352db0f74d097a238cebd2da02 - languageName: node - linkType: hard - -"utf-8-validate@npm:^5.0.2": - version: 5.0.10 - resolution: "utf-8-validate@npm:5.0.10" - dependencies: - node-gyp: "npm:latest" - node-gyp-build: "npm:^4.3.0" - checksum: 23cd6adc29e6901aa37ff97ce4b81be9238d0023c5e217515b34792f3c3edb01470c3bd6b264096dd73d0b01a1690b57468de3a24167dd83004ff71c51cc025f - languageName: node - linkType: hard - -"util-deprecate@npm:^1.0.1, util-deprecate@npm:^1.0.2, util-deprecate@npm:~1.0.1": - version: 1.0.2 - resolution: "util-deprecate@npm:1.0.2" - checksum: 41a5bdd214df2f6c3ecf8622745e4a366c4adced864bc3c833739791aeeeb1838119af7daed4ba36428114b5c67dcda034a79c882e97e43c03e66a4dd7389942 - languageName: node - linkType: hard - -"util@npm:^0.12.4": - version: 0.12.5 - resolution: "util@npm:0.12.5" - dependencies: - inherits: "npm:^2.0.3" - is-arguments: "npm:^1.0.4" - is-generator-function: "npm:^1.0.7" - is-typed-array: "npm:^1.1.3" - which-typed-array: "npm:^1.1.2" - checksum: c27054de2cea2229a66c09522d0fa1415fb12d861d08523a8846bf2e4cbf0079d4c3f725f09dcb87493549bcbf05f5798dce1688b53c6c17201a45759e7253f3 - languageName: node - linkType: hard - -"uuid@npm:^8.3.2": - version: 8.3.2 - resolution: "uuid@npm:8.3.2" - bin: - uuid: dist/bin/uuid - checksum: bcbb807a917d374a49f475fae2e87fdca7da5e5530820ef53f65ba1d12131bd81a92ecf259cc7ce317cbe0f289e7d79fdfebcef9bfa3087c8c8a2fa304c9be54 - languageName: node - linkType: hard - -"uuid@npm:^9.0.1": - version: 9.0.1 - resolution: "uuid@npm:9.0.1" - bin: - uuid: dist/bin/uuid - checksum: 1607dd32ac7fc22f2d8f77051e6a64845c9bce5cd3dd8aa0070c074ec73e666a1f63c7b4e0f4bf2bc8b9d59dc85a15e17807446d9d2b17c8485fbc2147b27f9b - languageName: node - linkType: hard - -"v8-compile-cache-lib@npm:^3.0.1": - version: 3.0.1 - resolution: "v8-compile-cache-lib@npm:3.0.1" - checksum: bdc36fb8095d3b41df197f5fb6f11e3a26adf4059df3213e3baa93810d8f0cc76f9a74aaefc18b73e91fe7e19154ed6f134eda6fded2e0f1c8d2272ed2d2d391 - languageName: node - linkType: hard - -"v8-to-istanbul@npm:^9.0.1": - version: 9.2.0 - resolution: "v8-to-istanbul@npm:9.2.0" - dependencies: - "@jridgewell/trace-mapping": "npm:^0.3.12" - "@types/istanbul-lib-coverage": "npm:^2.0.1" - convert-source-map: "npm:^2.0.0" - checksum: e691ba4dd0dea4a884e52c37dbda30cce6f9eeafe9b26721e449429c6bb0f4b6d1e33fabe7711d0f67f7a34c3bfd56c873f7375bba0b1534e6a2843ce99550e5 - languageName: node - linkType: hard - -"valtio@npm:1.11.2": - version: 1.11.2 - resolution: "valtio@npm:1.11.2" - dependencies: - proxy-compare: "npm:2.5.1" - use-sync-external-store: "npm:1.2.0" - peerDependencies: - "@types/react": ">=16.8" - react: ">=16.8" - peerDependenciesMeta: - "@types/react": - optional: true - react: - optional: true - checksum: 9ed337d1da4a3730d429b3415c2cb63340998000e62fb3e545e2fc05d27f55fc510abc89046d6719b4cae02742cdb733fe235bade90bfae50a0e13ece2287106 - languageName: node - linkType: hard - -"viem@npm:^2.1.1, viem@npm:^2.17.4": - version: 2.19.6 - resolution: "viem@npm:2.19.6" - dependencies: - "@adraffy/ens-normalize": "npm:1.10.0" - "@noble/curves": "npm:1.4.0" - "@noble/hashes": "npm:1.4.0" - "@scure/bip32": "npm:1.4.0" - "@scure/bip39": "npm:1.3.0" - abitype: "npm:1.0.5" - isows: "npm:1.0.4" - webauthn-p256: "npm:0.0.5" - ws: "npm:8.17.1" - peerDependencies: - typescript: ">=5.0.4" - peerDependenciesMeta: - typescript: - optional: true - checksum: 38f8a14ba3421addf8acd3754066fbcdfada3de003793daa1f7fa79ba776f6d8f77610a2a20913ec11c5066b2e1970568333fb7db1bf9d462ecb29e96396bc06 - languageName: node - linkType: hard - -"w3c-xmlserializer@npm:^4.0.0": - version: 4.0.0 - resolution: "w3c-xmlserializer@npm:4.0.0" - dependencies: - xml-name-validator: "npm:^4.0.0" - checksum: 02cc66d6efc590bd630086cd88252444120f5feec5c4043932b0d0f74f8b060512f79dc77eb093a7ad04b4f02f39da79ce4af47ceb600f2bf9eacdc83204b1a8 - languageName: node - linkType: hard - -"wagmi@npm:^2.11.0": - version: 2.12.5 - resolution: "wagmi@npm:2.12.5" - dependencies: - "@wagmi/connectors": "npm:5.1.5" - "@wagmi/core": "npm:2.13.4" - use-sync-external-store: "npm:1.2.0" - peerDependencies: - "@tanstack/react-query": ">=5.0.0" - react: ">=18" - typescript: ">=5.0.4" - viem: 2.x - peerDependenciesMeta: - typescript: - optional: true - checksum: 8f8b601fe784e8fe3e05ae8547cd2fcde61b51acb0cd6d0dbd90a3b16b4629c3d04e8601910fc89a8292f627014f9f75947fbd386875419f4c155a328ce8cfac - languageName: node - linkType: hard - -"walker@npm:^1.0.8": - version: 1.0.8 - resolution: "walker@npm:1.0.8" - dependencies: - makeerror: "npm:1.0.12" - checksum: a17e037bccd3ca8a25a80cb850903facdfed0de4864bd8728f1782370715d679fa72e0a0f5da7c1c1379365159901e5935f35be531229da53bbfc0efdabdb48e - languageName: node - linkType: hard - -"webauthn-p256@npm:0.0.5": - version: 0.0.5 - resolution: "webauthn-p256@npm:0.0.5" - dependencies: - "@noble/curves": "npm:^1.4.0" - "@noble/hashes": "npm:^1.4.0" - checksum: 8a445dddaf0e699363a0a7bca51742f672dbbec427c1a97618465bfc418df0eff10d3f1cf5e43bcd0cd0dc5abcdaad7914916c06c84107eaf226f5a1d0690c13 - languageName: node - linkType: hard - -"webextension-polyfill@npm:>=0.10.0 <1.0": - version: 0.12.0 - resolution: "webextension-polyfill@npm:0.12.0" - checksum: 5ace2aaaf6a203515bdd2fb948622f186a5fbb50099b539ce9c0ad54896f9cc1fcc3c0e2a71d1f7071dd7236d7daebba1e0cbcf43bfdfe54361addf0333ee7d1 - languageName: node - linkType: hard - -"webextension-polyfill@npm:^0.10.0": - version: 0.10.0 - resolution: "webextension-polyfill@npm:0.10.0" - checksum: 6a45278f1fed8fbd5355f9b19a7b0b3fadc91fa3a6eef69125a1706bb3efa2181235eefbfb3f538443bb396cfcb97512361551888ce8465c08914431cb2d5b6d - languageName: node - linkType: hard - -"webidl-conversions@npm:^3.0.0": - version: 3.0.1 - resolution: "webidl-conversions@npm:3.0.1" - checksum: 5612d5f3e54760a797052eb4927f0ddc01383550f542ccd33d5238cfd65aeed392a45ad38364970d0a0f4fea32e1f4d231b3d8dac4a3bdd385e5cf802ae097db - languageName: node - linkType: hard - -"webidl-conversions@npm:^7.0.0": - version: 7.0.0 - resolution: "webidl-conversions@npm:7.0.0" - checksum: 228d8cb6d270c23b0720cb2d95c579202db3aaf8f633b4e9dd94ec2000a04e7e6e43b76a94509cdb30479bd00ae253ab2371a2da9f81446cc313f89a4213a2c4 - languageName: node - linkType: hard - -"whatwg-encoding@npm:^2.0.0": - version: 2.0.0 - resolution: "whatwg-encoding@npm:2.0.0" - dependencies: - iconv-lite: "npm:0.6.3" - checksum: 91b90a49f312dc751496fd23a7e68981e62f33afe938b97281ad766235c4872fc4e66319f925c5e9001502b3040dd25a33b02a9c693b73a4cbbfdc4ad10c3e3e - languageName: node - linkType: hard - -"whatwg-mimetype@npm:^3.0.0": - version: 3.0.0 - resolution: "whatwg-mimetype@npm:3.0.0" - checksum: 323895a1cda29a5fb0b9ca82831d2c316309fede0365047c4c323073e3239067a304a09a1f4b123b9532641ab604203f33a1403b5ca6a62ef405bcd7a204080f - languageName: node - linkType: hard - -"whatwg-url@npm:^11.0.0": - version: 11.0.0 - resolution: "whatwg-url@npm:11.0.0" - dependencies: - tr46: "npm:^3.0.0" - webidl-conversions: "npm:^7.0.0" - checksum: f7ec264976d7c725e0696fcaf9ebe056e14422eacbf92fdbb4462034609cba7d0c85ffa1aab05e9309d42969bcf04632ba5ed3f3882c516d7b093053315bf4c1 - languageName: node - linkType: hard - -"whatwg-url@npm:^5.0.0": - version: 5.0.0 - resolution: "whatwg-url@npm:5.0.0" - dependencies: - tr46: "npm:~0.0.3" - webidl-conversions: "npm:^3.0.0" - checksum: 1588bed84d10b72d5eec1d0faa0722ba1962f1821e7539c535558fb5398d223b0c50d8acab950b8c488b4ba69043fd833cc2697056b167d8ad46fac3995a55d5 - languageName: node - linkType: hard - -"which-boxed-primitive@npm:^1.0.2": - version: 1.0.2 - resolution: "which-boxed-primitive@npm:1.0.2" - dependencies: - is-bigint: "npm:^1.0.1" - is-boolean-object: "npm:^1.1.0" - is-number-object: "npm:^1.0.4" - is-string: "npm:^1.0.5" - is-symbol: "npm:^1.0.3" - checksum: 0a62a03c00c91dd4fb1035b2f0733c341d805753b027eebd3a304b9cb70e8ce33e25317add2fe9b5fea6f53a175c0633ae701ff812e604410ddd049777cd435e - languageName: node - linkType: hard - -"which-builtin-type@npm:^1.1.3": - version: 1.1.3 - resolution: "which-builtin-type@npm:1.1.3" - dependencies: - function.prototype.name: "npm:^1.1.5" - has-tostringtag: "npm:^1.0.0" - is-async-function: "npm:^2.0.0" - is-date-object: "npm:^1.0.5" - is-finalizationregistry: "npm:^1.0.2" - is-generator-function: "npm:^1.0.10" - is-regex: "npm:^1.1.4" - is-weakref: "npm:^1.0.2" - isarray: "npm:^2.0.5" - which-boxed-primitive: "npm:^1.0.2" - which-collection: "npm:^1.0.1" - which-typed-array: "npm:^1.1.9" - checksum: 2b7b234df3443b52f4fbd2b65b731804de8d30bcc4210ec84107ef377a81923cea7f2763b7fb78b394175cea59118bf3c41b9ffd2d643cb1d748ef93b33b6bd4 - languageName: node - linkType: hard - -"which-collection@npm:^1.0.1": - version: 1.0.1 - resolution: "which-collection@npm:1.0.1" - dependencies: - is-map: "npm:^2.0.1" - is-set: "npm:^2.0.1" - is-weakmap: "npm:^2.0.1" - is-weakset: "npm:^2.0.1" - checksum: 249f913e1758ed2f06f00706007d87dc22090a80591a56917376e70ecf8fc9ab6c41d98e1c87208bb9648676f65d4b09c0e4d23c56c7afb0f0a73a27d701df5d - languageName: node - linkType: hard - -"which-module@npm:^2.0.0": - version: 2.0.1 - resolution: "which-module@npm:2.0.1" - checksum: 087038e7992649eaffa6c7a4f3158d5b53b14cf5b6c1f0e043dccfacb1ba179d12f17545d5b85ebd94a42ce280a6fe65d0cbcab70f4fc6daad1dfae85e0e6a3e - languageName: node - linkType: hard - -"which-typed-array@npm:^1.1.13, which-typed-array@npm:^1.1.14, which-typed-array@npm:^1.1.9": - version: 1.1.14 - resolution: "which-typed-array@npm:1.1.14" - dependencies: - available-typed-arrays: "npm:^1.0.6" - call-bind: "npm:^1.0.5" - for-each: "npm:^0.3.3" - gopd: "npm:^1.0.1" - has-tostringtag: "npm:^1.0.1" - checksum: 0960f1e77807058819451b98c51d4cd72031593e8de990b24bd3fc22e176f5eee22921d68d852297c786aec117689f0423ed20aa4fde7ce2704d680677891f56 - languageName: node - linkType: hard - -"which-typed-array@npm:^1.1.2": - version: 1.1.15 - resolution: "which-typed-array@npm:1.1.15" - dependencies: - available-typed-arrays: "npm:^1.0.7" - call-bind: "npm:^1.0.7" - for-each: "npm:^0.3.3" - gopd: "npm:^1.0.1" - has-tostringtag: "npm:^1.0.2" - checksum: 4465d5348c044032032251be54d8988270e69c6b7154f8fcb2a47ff706fe36f7624b3a24246b8d9089435a8f4ec48c1c1025c5d6b499456b9e5eff4f48212983 - languageName: node - linkType: hard - -"which@npm:^2.0.1": - version: 2.0.2 - resolution: "which@npm:2.0.2" - dependencies: - isexe: "npm:^2.0.0" - bin: - node-which: ./bin/node-which - checksum: 66522872a768b60c2a65a57e8ad184e5372f5b6a9ca6d5f033d4b0dc98aff63995655a7503b9c0a2598936f532120e81dd8cc155e2e92ed662a2b9377cc4374f - languageName: node - linkType: hard - -"which@npm:^4.0.0": - version: 4.0.0 - resolution: "which@npm:4.0.0" - dependencies: - isexe: "npm:^3.1.1" - bin: - node-which: bin/which.js - checksum: 449fa5c44ed120ccecfe18c433296a4978a7583bf2391c50abce13f76878d2476defde04d0f79db8165bdf432853c1f8389d0485ca6e8ebce3bbcded513d5e6a - languageName: node - linkType: hard - -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0, wrap-ansi@npm:^7.0.0": - version: 7.0.0 - resolution: "wrap-ansi@npm:7.0.0" - dependencies: - ansi-styles: "npm:^4.0.0" - string-width: "npm:^4.1.0" - strip-ansi: "npm:^6.0.0" - checksum: d15fc12c11e4cbc4044a552129ebc75ee3f57aa9c1958373a4db0292d72282f54373b536103987a4a7594db1ef6a4f10acf92978f79b98c49306a4b58c77d4da - languageName: node - linkType: hard - -"wrap-ansi@npm:^6.2.0": - version: 6.2.0 - resolution: "wrap-ansi@npm:6.2.0" - dependencies: - ansi-styles: "npm:^4.0.0" - string-width: "npm:^4.1.0" - strip-ansi: "npm:^6.0.0" - checksum: baad244e6e33335ea24e86e51868fe6823626e3a3c88d9a6674642afff1d34d9a154c917e74af8d845fd25d170c4ea9cf69a47133c3f3656e1252b3d462d9f6c - languageName: node - linkType: hard - -"wrap-ansi@npm:^8.1.0": - version: 8.1.0 - resolution: "wrap-ansi@npm:8.1.0" - dependencies: - ansi-styles: "npm:^6.1.0" - string-width: "npm:^5.0.1" - strip-ansi: "npm:^7.0.1" - checksum: 138ff58a41d2f877eae87e3282c0630fc2789012fc1af4d6bd626eeb9a2f9a65ca92005e6e69a75c7b85a68479fe7443c7dbe1eb8fbaa681a4491364b7c55c60 - languageName: node - linkType: hard - -"wrappy@npm:1": - version: 1.0.2 - resolution: "wrappy@npm:1.0.2" - checksum: 56fece1a4018c6a6c8e28fbc88c87e0fbf4ea8fd64fc6c63b18f4acc4bd13e0ad2515189786dd2c30d3eec9663d70f4ecf699330002f8ccb547e4a18231fc9f0 - languageName: node - linkType: hard - -"write-file-atomic@npm:^4.0.2": - version: 4.0.2 - resolution: "write-file-atomic@npm:4.0.2" - dependencies: - imurmurhash: "npm:^0.1.4" - signal-exit: "npm:^3.0.7" - checksum: a2c282c95ef5d8e1c27b335ae897b5eca00e85590d92a3fd69a437919b7b93ff36a69ea04145da55829d2164e724bc62202cdb5f4b208b425aba0807889375c7 - languageName: node - linkType: hard - -"ws@npm:8.17.1, ws@npm:^8.11.0, ws@npm:~8.17.1": - version: 8.17.1 - resolution: "ws@npm:8.17.1" - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ">=5.0.2" - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - checksum: f4a49064afae4500be772abdc2211c8518f39e1c959640457dcee15d4488628620625c783902a52af2dd02f68558da2868fd06e6fd0e67ebcd09e6881b1b5bfe - languageName: node - linkType: hard - -"ws@npm:^7.5.1": - version: 7.5.10 - resolution: "ws@npm:7.5.10" - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - checksum: bd7d5f4aaf04fae7960c23dcb6c6375d525e00f795dd20b9385902bd008c40a94d3db3ce97d878acc7573df852056ca546328b27b39f47609f80fb22a0a9b61d - languageName: node - linkType: hard - -"xml-name-validator@npm:^4.0.0": - version: 4.0.0 - resolution: "xml-name-validator@npm:4.0.0" - checksum: c1bfa219d64e56fee265b2bd31b2fcecefc063ee802da1e73bad1f21d7afd89b943c9e2c97af2942f60b1ad46f915a4c81e00039c7d398b53cf410e29d3c30bd - languageName: node - linkType: hard - -"xmlchars@npm:^2.2.0": - version: 2.2.0 - resolution: "xmlchars@npm:2.2.0" - checksum: b64b535861a6f310c5d9bfa10834cf49127c71922c297da9d4d1b45eeaae40bf9b4363275876088fbe2667e5db028d2cd4f8ee72eed9bede840a67d57dab7593 - languageName: node - linkType: hard - -"xmlhttprequest-ssl@npm:~2.0.0": - version: 2.0.0 - resolution: "xmlhttprequest-ssl@npm:2.0.0" - checksum: b64ab371459bd5e3a4827e3c7535759047d285fd310aea6fd028973d547133f3be0d473c1fdae9f14d89bf509267759198ae1fbe89802079a7e217ddd990d734 - languageName: node - linkType: hard - -"xtend@npm:^4.0.1": - version: 4.0.2 - resolution: "xtend@npm:4.0.2" - checksum: 366ae4783eec6100f8a02dff02ac907bf29f9a00b82ac0264b4d8b832ead18306797e283cf19de776538babfdcb2101375ec5646b59f08c52128ac4ab812ed0e - languageName: node - linkType: hard - -"y18n@npm:^4.0.0": - version: 4.0.3 - resolution: "y18n@npm:4.0.3" - checksum: 308a2efd7cc296ab2c0f3b9284fd4827be01cfeb647b3ba18230e3a416eb1bc887ac050de9f8c4fd9e7856b2e8246e05d190b53c96c5ad8d8cb56dffb6f81024 - languageName: node - linkType: hard - -"y18n@npm:^5.0.5": - version: 5.0.8 - resolution: "y18n@npm:5.0.8" - checksum: 4df2842c36e468590c3691c894bc9cdbac41f520566e76e24f59401ba7d8b4811eb1e34524d57e54bc6d864bcb66baab7ffd9ca42bf1eda596618f9162b91249 - languageName: node - linkType: hard - -"yallist@npm:^3.0.2": - version: 3.1.1 - resolution: "yallist@npm:3.1.1" - checksum: c66a5c46bc89af1625476f7f0f2ec3653c1a1791d2f9407cfb4c2ba812a1e1c9941416d71ba9719876530e3340a99925f697142989371b72d93b9ee628afd8c1 - languageName: node - linkType: hard - -"yallist@npm:^4.0.0": - version: 4.0.0 - resolution: "yallist@npm:4.0.0" - checksum: 2286b5e8dbfe22204ab66e2ef5cc9bbb1e55dfc873bbe0d568aa943eb255d131890dfd5bf243637273d31119b870f49c18fcde2c6ffbb7a7a092b870dc90625a - languageName: node - linkType: hard - -"yallist@npm:^5.0.0": - version: 5.0.0 - resolution: "yallist@npm:5.0.0" - checksum: a499c81ce6d4a1d260d4ea0f6d49ab4da09681e32c3f0472dee16667ed69d01dae63a3b81745a24bd78476ec4fcf856114cb4896ace738e01da34b2c42235416 - languageName: node - linkType: hard - -"yaml@npm:^2.3.4": - version: 2.3.4 - resolution: "yaml@npm:2.3.4" - checksum: cf03b68f8fef5e8516b0f0b54edaf2459f1648317fc6210391cf606d247e678b449382f4bd01f77392538429e306c7cba8ff46ff6b37cac4de9a76aff33bd9e1 - languageName: node - linkType: hard - -"yargs-parser@npm:^18.1.2": - version: 18.1.3 - resolution: "yargs-parser@npm:18.1.3" - dependencies: - camelcase: "npm:^5.0.0" - decamelize: "npm:^1.2.0" - checksum: 25df918833592a83f52e7e4f91ba7d7bfaa2b891ebf7fe901923c2ee797534f23a176913ff6ff7ebbc1cc1725a044cc6a6539fed8bfd4e13b5b16376875f9499 - languageName: node - linkType: hard - -"yargs-parser@npm:^21.1.1": - version: 21.1.1 - resolution: "yargs-parser@npm:21.1.1" - checksum: f84b5e48169479d2f402239c59f084cfd1c3acc197a05c59b98bab067452e6b3ea46d4dd8ba2985ba7b3d32a343d77df0debd6b343e5dae3da2aab2cdf5886b2 - languageName: node - linkType: hard - -"yargs@npm:^15.3.1": - version: 15.4.1 - resolution: "yargs@npm:15.4.1" - dependencies: - cliui: "npm:^6.0.0" - decamelize: "npm:^1.2.0" - find-up: "npm:^4.1.0" - get-caller-file: "npm:^2.0.1" - require-directory: "npm:^2.1.1" - require-main-filename: "npm:^2.0.0" - set-blocking: "npm:^2.0.0" - string-width: "npm:^4.2.0" - which-module: "npm:^2.0.0" - y18n: "npm:^4.0.0" - yargs-parser: "npm:^18.1.2" - checksum: f1ca680c974333a5822732825cca7e95306c5a1e7750eb7b973ce6dc4f97a6b0a8837203c8b194f461969bfe1fb1176d1d423036635285f6010b392fa498ab2d - languageName: node - linkType: hard - -"yargs@npm:^17.3.1, yargs@npm:^17.5.1": - version: 17.7.2 - resolution: "yargs@npm:17.7.2" - dependencies: - cliui: "npm:^8.0.1" - escalade: "npm:^3.1.1" - get-caller-file: "npm:^2.0.5" - require-directory: "npm:^2.1.1" - string-width: "npm:^4.2.3" - y18n: "npm:^5.0.5" - yargs-parser: "npm:^21.1.1" - checksum: ccd7e723e61ad5965fffbb791366db689572b80cca80e0f96aad968dfff4156cd7cd1ad18607afe1046d8241e6fb2d6c08bf7fa7bfb5eaec818735d8feac8f05 - languageName: node - linkType: hard - -"yn@npm:3.1.1": - version: 3.1.1 - resolution: "yn@npm:3.1.1" - checksum: 0732468dd7622ed8a274f640f191f3eaf1f39d5349a1b72836df484998d7d9807fbea094e2f5486d6b0cd2414aad5775972df0e68f8604db89a239f0f4bf7443 - languageName: node - linkType: hard - -"yocto-queue@npm:^0.1.0": - version: 0.1.0 - resolution: "yocto-queue@npm:0.1.0" - checksum: dceb44c28578b31641e13695d200d34ec4ab3966a5729814d5445b194933c096b7ced71494ce53a0e8820685d1d010df8b2422e5bf2cdea7e469d97ffbea306f - languageName: node - linkType: hard - -"yup@npm:^1.3.3": - version: 1.3.3 - resolution: "yup@npm:1.3.3" - dependencies: - property-expr: "npm:^2.0.5" - tiny-case: "npm:^1.0.3" - toposort: "npm:^2.0.2" - type-fest: "npm:^2.19.0" - checksum: cc00e98af8617b779dd151d6a77779228cfe973a185c743628b2afdecda88c333187d058c1199518d696c15827ba9b757a6c57c1ace6766d970d3cd2368c3264 - languageName: node - linkType: hard - -"zustand@npm:4.4.1": - version: 4.4.1 - resolution: "zustand@npm:4.4.1" - dependencies: - use-sync-external-store: "npm:1.2.0" - peerDependencies: - "@types/react": ">=16.8" - immer: ">=9.0" - react: ">=16.8" - peerDependenciesMeta: - "@types/react": - optional: true - immer: - optional: true - react: - optional: true - checksum: c119273886e5cdbd7a9f80c9e0fee8a2c736bb6428e283b25c6dfd428789a95e10b6ed6b18553c955ce0d5dd62e2f4a84af3e2a41f31fdb34fd25462d2b19a8c - languageName: node - linkType: hard diff --git a/jest.config.js b/jest.config.js index c169f759f7..6502fd85fb 100644 --- a/jest.config.js +++ b/jest.config.js @@ -8,7 +8,6 @@ export default { }, }, maxWorkers: 1, - modulePathIgnorePatterns: ['/framegear/'], setupFilesAfterEnv: ['/jest.setup.ts'], transform: { '^.+\\.tsx?$': 'ts-jest', diff --git a/package.json b/package.json index ec910ba2ca..96bbf7e183 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,6 @@ }, "peerDependencies": { "@types/react": "^18", - "@xmtp/frames-validator": "^0.6.0", "react": "^18", "react-dom": "^18" }, @@ -63,7 +62,6 @@ "@types/react-dom": "^18", "@vitest/coverage-v8": "^2.0.5", "@vitest/ui": "^2.0.5", - "@xmtp/frames-validator": "^0.6.0", "autoprefixer": "^10.4.19", "concurrently": "^8.0.0", "graphql": "^14", @@ -131,18 +129,6 @@ "import": "./esm/core/index.js", "default": "./esm/core/index.js" }, - "./farcaster": { - "types": "./esm/farcaster/index.d.ts", - "module": "./esm/farcaster/index.js", - "import": "./esm/farcaster/index.js", - "default": "./esm/farcaster/index.js" - }, - "./frame": { - "types": "./esm/frame/index.d.ts", - "module": "./esm/frame/index.js", - "import": "./esm/frame/index.js", - "default": "./esm/frame/index.js" - }, "./fund": { "types": "./esm/fund/index.d.ts", "module": "./esm/fund/index.js", @@ -191,12 +177,6 @@ "import": "./esm/transaction/index.js", "default": "./esm/transaction/index.js" }, - "./xmtp": { - "types": "./esm/xmtp/index.d.ts", - "module": "./esm/xmtp/index.js", - "import": "./esm/xmtp/index.js", - "default": "./esm/xmtp/index.js" - }, "./wallet": { "types": "./esm/wallet/index.d.ts", "module": "./esm/wallet/index.js", diff --git a/playground/nextjs-app-router/onchainkit/package.json b/playground/nextjs-app-router/onchainkit/package.json index 15a30f0b5e..96bbf7e183 100644 --- a/playground/nextjs-app-router/onchainkit/package.json +++ b/playground/nextjs-app-router/onchainkit/package.json @@ -1,6 +1,6 @@ { "name": "@coinbase/onchainkit", - "version": "0.35.7", + "version": "0.35.8", "type": "module", "repository": "https://github.com/coinbase/onchainkit.git", "license": "MIT", @@ -31,7 +31,6 @@ }, "peerDependencies": { "@types/react": "^18", - "@xmtp/frames-validator": "^0.6.0", "react": "^18", "react-dom": "^18" }, @@ -46,8 +45,7 @@ }, "devDependencies": { "@biomejs/biome": "1.8.3", - "@changesets/changelog-github": "^0.4.8", - "@changesets/cli": "^2.26.2", + "@changesets/cli": "^2.27.10", "@chromatic-com/storybook": "^1.7.0", "@storybook/addon-a11y": "^8.2.9", "@storybook/addon-essentials": "^8.2.9", @@ -64,7 +62,6 @@ "@types/react-dom": "^18", "@vitest/coverage-v8": "^2.0.5", "@vitest/ui": "^2.0.5", - "@xmtp/frames-validator": "^0.6.0", "autoprefixer": "^10.4.19", "concurrently": "^8.0.0", "graphql": "^14", @@ -132,18 +129,6 @@ "import": "./esm/core/index.js", "default": "./esm/core/index.js" }, - "./farcaster": { - "types": "./esm/farcaster/index.d.ts", - "module": "./esm/farcaster/index.js", - "import": "./esm/farcaster/index.js", - "default": "./esm/farcaster/index.js" - }, - "./frame": { - "types": "./esm/frame/index.d.ts", - "module": "./esm/frame/index.js", - "import": "./esm/frame/index.js", - "default": "./esm/frame/index.js" - }, "./fund": { "types": "./esm/fund/index.d.ts", "module": "./esm/fund/index.js", @@ -192,12 +177,6 @@ "import": "./esm/transaction/index.js", "default": "./esm/transaction/index.js" }, - "./xmtp": { - "types": "./esm/xmtp/index.d.ts", - "module": "./esm/xmtp/index.js", - "import": "./esm/xmtp/index.js", - "default": "./esm/xmtp/index.js" - }, "./wallet": { "types": "./esm/wallet/index.d.ts", "module": "./esm/wallet/index.js", diff --git a/site/docs/components/FarcasterCastCard.tsx b/site/docs/components/FarcasterCastCard.tsx deleted file mode 100644 index 598b354f8a..0000000000 --- a/site/docs/components/FarcasterCastCard.tsx +++ /dev/null @@ -1,14 +0,0 @@ -import { FarcasterEmbed } from 'react-farcaster-embed/dist/client'; -import 'react-farcaster-embed/dist/styles.css'; - -type FarcasterCastCardProps = { - castUrl: string; -}; - -export default function FarcasterCastCard({ castUrl }: FarcasterCastCardProps) { - return ( -
- -
- ); -} diff --git a/site/docs/components/StartBuilding.tsx b/site/docs/components/StartBuilding.tsx index dfb68b8c14..6fedc969ad 100644 --- a/site/docs/components/StartBuilding.tsx +++ b/site/docs/components/StartBuilding.tsx @@ -192,26 +192,6 @@ export default function StartBuilding() { NFTs in your app. -
  • - - - - Frame - - {' '} - - Build and test{' '} - - Farcaster - {' '} - frames. - -
  • ); diff --git a/site/docs/components/landing/LandingFooter.tsx b/site/docs/components/landing/LandingFooter.tsx index fc01a93e94..561c009da6 100644 --- a/site/docs/components/landing/LandingFooter.tsx +++ b/site/docs/components/landing/LandingFooter.tsx @@ -35,7 +35,6 @@ const LandingFooter: React.FC = () => { { text: 'Fund', href: 'https://onchainkit.xyz/fund/fund-button' }, { text: 'Identity', href: 'https://onchainkit.xyz/identity/identity' }, { text: 'Token', href: 'https://onchainkit.xyz/token/token-chip' }, - { text: 'Frame', href: 'https://onchainkit.xyz/frame/frame-metadata' }, ], }, { diff --git a/site/docs/components/svg/frameSvg.tsx b/site/docs/components/svg/frameSvg.tsx deleted file mode 100644 index bd7b71e0f1..0000000000 --- a/site/docs/components/svg/frameSvg.tsx +++ /dev/null @@ -1,23 +0,0 @@ -export const frameSvg = ( - - Frame SVG - - - - -); diff --git a/site/docs/pages/farcaster/get-farcaster-user-address.mdx b/site/docs/pages/farcaster/get-farcaster-user-address.mdx deleted file mode 100644 index ba014ed2a2..0000000000 --- a/site/docs/pages/farcaster/get-farcaster-user-address.mdx +++ /dev/null @@ -1,76 +0,0 @@ -# `getFarcasterUserAddress` - -The `getFarcasterUserAddress` function retrieves the user address associated -with a given Farcaster ID (fid). It provides options to specify whether -the client wants **custody address** and/or **verified addresses**, -and also allows the user to provide their own neynar api key. - -By default, both **custody** and **verified** addresses are provided. - -## Usage - -```ts twoslash -// @noErrors: 2304 2552 - Cannot find name 'fid', Cannot find name 'options' -import { getFarcasterUserAddress } from '@coinbase/onchainkit/farcaster'; - -const userAddress = await getFarcasterUserAddress(fid, options); // [!code focus] -``` - -## Returns - -[`GetFarcasterUserAddressResponse`](/farcaster/types#getfarcasteruseraddressresponse) - -Returns the Custody Address and the list of all verified addresses of a given fid. - -## Parameters - -### fid - -- **Type:** `string` - -Farcaster ID - -### options.neynarApiKey - -- **Type:** `string` - -Default to onchain-kit's default key. - -```ts twoslash -// @noErrors: 2304 - Cannot find name 'fid' -import { getFarcasterUserAddress } from '@coinbase/onchainkit/farcaster'; -// ---cut-before--- -const userAddress = await getFarcasterUserAddress(fid, { - neynarApiKey: 'MY_NEYNAR_API_KEY', // [!code focus] -}); -``` - -### options.hasCustodyAddress - -- **Type:** `boolean` - -Optional options to specify if the client wants custody addresses. Default to true. - -```ts twoslash -// @noErrors: 2304 - Cannot find name 'fid' -import { getFarcasterUserAddress } from '@coinbase/onchainkit/farcaster'; -// ---cut-before--- -const userAddress = await getFarcasterUserAddress(fid, { - hasCustodyAddress: false, // [!code focus] -}); -``` - -### options.hasVerifiedAddresses - -- **Type:** `boolean` - -Optional options to specify if the client wants verified addresses. Default to true. - -```ts twoslash -// @noErrors: 2304 - Cannot find name 'fid' -import { getFarcasterUserAddress } from '@coinbase/onchainkit/farcaster'; -// ---cut-before--- -const userAddress = await getFarcasterUserAddress(fid, { - hasVerifiedAddresses: false, // [!code focus] -}); -``` diff --git a/site/docs/pages/farcaster/types.mdx b/site/docs/pages/farcaster/types.mdx deleted file mode 100644 index fc1898a956..0000000000 --- a/site/docs/pages/farcaster/types.mdx +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Farcaster utilities Types -description: Glossary of Types in Farcaster utilities. ---- - -# Types [Glossary of Types in Farcaster utilities.] - -## `GetFarcasterUserAddressResponse` - -```ts -type GetFarcasterUserAddressResponse = { - custodyAddress?: string; // Custody Address of a given fid - verifiedAddresses?: string[]; // List of all verified addresses for a given fid -}; -``` diff --git a/site/docs/pages/frame/frame-metadata.mdx b/site/docs/pages/frame/frame-metadata.mdx deleted file mode 100644 index 6c7692b3e5..0000000000 --- a/site/docs/pages/frame/frame-metadata.mdx +++ /dev/null @@ -1,74 +0,0 @@ ---- -title: · OnchainKit -description: FrameMetadata components & utilities ---- - -# `` - -This component is utilized for incorporating Frame metadata elements into the React page. - -Note: If you are using Next.js with App routing, it is recommended to use `getFrameMetadata` instead. - -## Usage - -:::code-group - -```tsx twoslash [code] -// @noErrors -import { FrameMetadata } from '@coinbase/onchainkit/frame'; - -export default function HomePage() { - return ( - ... - - ... - ); -} -``` - -```html [return html] - - - - - - - - - - - - -``` - -::: - -## Props - -[`FrameMetadataReact`](/frame/types#framemetadatareact) diff --git a/site/docs/pages/frame/get-frame-html-response.mdx b/site/docs/pages/frame/get-frame-html-response.mdx deleted file mode 100644 index f8b54c4ee4..0000000000 --- a/site/docs/pages/frame/get-frame-html-response.mdx +++ /dev/null @@ -1,46 +0,0 @@ -# `getFrameHtmlResponse` - -When you need to send an HTML Frame Response, the `getFrameHtmlResponse` method is here to assist you. - -It generates a valid HTML string response with a frame and utilizes `FrameMetadata` types for page metadata. This eliminates the need to manually create server-side HTML strings. - -## Usage - -```ts twoslash -// @noErrors: 2307 1128 - Cannot find module 'next/server', Declaration or statement expected -// Step 1. import getFrameHtmlResponse from @coinbase/onchainkit -import { getFrameHtmlResponse } from '@coinbase/onchainkit/frame'; -import { NextRequest, NextResponse } from 'next/server'; - -async function getResponse(req: NextRequest): Promise { - // Step 2. Build your Frame logic - ... - - return new NextResponse( - // Step 3. Use getFrameHtmlResponse to create a Frame response - getFrameHtmlResponse({ - buttons: [ - { - label: `We love BOAT`, - }, - ], - image: 'https://build-onchain-apps.vercel.app/release/v-0-17.png', - postUrl: 'https://build-onchain-apps.vercel.app/api/frame', - }), - ); -} - -export async function POST(req: NextRequest): Promise { - return getResponse(req); -}; -``` - -## Returns - -```ts -type FrameHTMLResponse = string; -``` - -## Parameters - -[`FrameMetadataType`](/frame/types#framemetadatatype) diff --git a/site/docs/pages/frame/get-frame-message.mdx b/site/docs/pages/frame/get-frame-message.mdx deleted file mode 100644 index cea955a173..0000000000 --- a/site/docs/pages/frame/get-frame-message.mdx +++ /dev/null @@ -1,97 +0,0 @@ -# `getFrameMessage` - -When a user interacts with your Frame, you receive a JSON message called -the "**Frame Signature Packet**". Decode and validate this message using the `getFrameMessage` function. - -Note that if the `message` is not valid, it will be undefined. - -## Usage - -```ts twoslash -// @noErrors: 2307 1128 - Cannot find module 'next/server', Declaration or statement expected -import { FrameRequest, getFrameMessage } from '@coinbase/onchainkit/frame'; // [!code focus] -import { NextRequest, NextResponse } from 'next/server'; - -async function getResponse(req: NextRequest): Promise { - const frameRequest: FrameRequest = await req.json(); - const { isValid, message } = await getFrameMessage(frameRequest); // [!code focus] - - if (isValid) { - // the message is valid - } - ... -} -``` - -## Returns - -[`Promise`](/frame/types#framevalidationresponse) - -## Parameters - -### FrameRequest - -- [`FrameRequest`](/frame/types#framerequest) - -### options.neynarApiKey - -- **Type:** `string` - -Default to OnchainKit's default key. - -```ts twoslash -// @noErrors: 2307 - Cannot find module 'next/server' -import { FrameRequest, getFrameMessage } from '@coinbase/onchainkit/frame'; // [!code focus] -import { NextRequest, NextResponse } from 'next/server'; - -async function getResponse(req: NextRequest): Promise { - const frameRequest: FrameRequest = await req.json(); -// ---cut-before--- -const { isValid, message } = await getFrameMessage(frameRequest, { - neynarApiKey: 'MY_NEYNAR_API_KEY', // [!code focus] -}); -// ---cut-after--- -} -``` - -### options.castReactionContext - -- **Type:** `boolean` - -Whether to cast the reaction context. Default: true - -```ts twoslash -// @noErrors: 2307 - Cannot find module 'next/server' -import { FrameRequest, getFrameMessage } from '@coinbase/onchainkit/frame'; // [!code focus] -import { NextRequest, NextResponse } from 'next/server'; - -async function getResponse(req: NextRequest): Promise { - const frameRequest: FrameRequest = await req.json(); -// ---cut-before--- -const { isValid, message } = await getFrameMessage(frameRequest, { - castReactionContext: true, // [!code focus] -}); -// ---cut-after--- -} -``` - -### options.followContext - -- **Type:** `boolean` - -Whether to follow the context. Default: true - -```ts twoslash -// @noErrors: 2307 - Cannot find module 'next/server' -import { FrameRequest, getFrameMessage } from '@coinbase/onchainkit/frame'; // [!code focus] -import { NextRequest, NextResponse } from 'next/server'; - -async function getResponse(req: NextRequest): Promise { - const frameRequest: FrameRequest = await req.json(); -// ---cut-before--- -const { isValid, message } = await getFrameMessage(frameRequest, { - followContext: true, // [!code focus] -}); -// ---cut-after--- -} -``` diff --git a/site/docs/pages/frame/get-frame-metadata.mdx b/site/docs/pages/frame/get-frame-metadata.mdx deleted file mode 100644 index 53c92bc15e..0000000000 --- a/site/docs/pages/frame/get-frame-metadata.mdx +++ /dev/null @@ -1,44 +0,0 @@ -# `getFrameMetadata` - -With Next.js App routing, use the `getFrameMetadata()` inside your `page.ts` to get the metadata need it for your Frame. - -## Usage - -```ts twoslash -// @noErrors: 2307 1005 1161 - Cannot find module 'next', Cannot find module './home' -// Step 1. import getFrameMetadata from @coinbase/onchainkit -import { getFrameMetadata } from '@coinbase/onchainkit/frame'; -import type { Metadata } from 'next'; -import HomePage from './home'; - -// Step 2. Use getFrameMetadata to shape your Frame metadata -const frameMetadata = getFrameMetadata({ - buttons: [ - { - label: 'We love BOAT', - }, - ], - image: 'https://build-onchain-apps.vercel.app/release/v-0-17.png', - postUrl: 'https://build-onchain-apps.vercel.app/api/frame', -}); - -// Step 3. Add your metadata in the Next.js metadata utility -export const metadata: Metadata = { - manifest: '/manifest.json', - other: { - ...frameMetadata - }, -}; - -export default function Page() { - return ; -}; -``` - -## Returns - -[`FrameMetadataResponse`](/frame/types#framemetadataresponse) - -## Parameters - -[`FrameMetadataType`](/frame/types#framemetadatatype) diff --git a/site/docs/pages/frame/types.mdx b/site/docs/pages/frame/types.mdx deleted file mode 100644 index d5246a9123..0000000000 --- a/site/docs/pages/frame/types.mdx +++ /dev/null @@ -1,171 +0,0 @@ ---- -title: Frame Types -description: Glossary of Types for Frame utilities and components ---- - -# Types [Glossary of Types for Frame utilities and components] - -## `FrameButtonMetadata` - -```ts -type FrameButtonMetadata = - | { - action: 'link' | 'mint'; - label: string; - target: string; - } - | { - action?: 'post' | 'post_redirect'; - label: string; - target?: string; - } - | { - action: 'tx'; - label: string; - target: string; - postUrl?: string; - }; -``` - -## `FrameData` - -```ts -interface FrameData { - buttonIndex: number; - castId: { - fid: number; - hash: string; - }; - inputText: string; - fid: number; - messageHash: string; - network: number; - state: string; - timestamp: number; - transactionId?: string; - url: string; -} -``` - -## `FrameImageMetadata` - -```ts -type FrameImageMetadata = { - src: string; - aspectRatio?: '1.91:1' | '1:1'; -}; -``` - -## `FrameInputMetadata` - -```ts -type FrameInputMetadata = { - text: string; -}; -``` - -## `FrameMetadataResponse` - -```ts -type FrameMetadataResponse = Record; -``` - -## `FrameMetadataReact` - -```ts -type FrameMetadataReact = FrameMetadataType & { - ogDescription?: string; - ogTitle?: string; - wrapper?: React.ComponentType; -}; -``` - -## `FrameMetadataType` - -```ts -type FrameMetadataType = { - accepts?: { - [protocolIdentifier: string]: string; - }; // The minimum client protocol version accepted for the given protocol identifier. - buttons?: [FrameButtonMetadata, ...FrameButtonMetadata[]]; // A list of strings which are the label for the buttons in the frame (max 4 buttons). - image: string | FrameImageMetadata; // An image which must be smaller than 10MB and should have an aspect ratio of 1.91:1 - input?: FrameInputMetadata; // The text input to use for the Frame. - isOpenFrame?: boolean; // A boolean indicating if the frame uses the Open Frames standard. - postUrl?: string; // A valid POST URL to send the Signature Packet to. - refreshPeriod?: number; // A period in seconds at which the app should expect the image to update. - state?: object; // A string containing serialized state (e.g. JSON) passed to the frame server. -}; -``` - -## `FrameRequest` - -```ts -interface FrameRequest { - untrustedData: FrameData; - trustedData: { - messageBytes: string; - }; -} -``` - -## `FrameValidationData` - -```ts -interface FrameValidationData { - address: string | null; // The connected wallet address of the interacting user. - button: number; // Number of the button clicked - following: boolean; // Indicates if the viewer clicking the frame follows the cast author - input: string; // Text input from the viewer typing in the frame - interactor: { - fid: number; // Viewer Farcaster ID - custody_address: string; // Viewer custody address - verified_accounts: string[]; // Viewer account addresses - verified_addresses: { - eth_addresses: string[] | null; - sol_addresses: string[] | null; - }; - }; - liked: boolean; // Indicates if the viewer clicking the frame liked the cast - raw: NeynarFrameValidationInternalModel; - recasted: boolean; // Indicates if the viewer clicking the frame recasted the cast - state: { - serialized: string; // Serialized state (e.g. JSON) passed to the frame server - }; - transaction: { - hash: string; - } | null; - valid: boolean; // Indicates if the frame is valid -} -``` - -## `FrameValidationResponse` - -```ts -type FrameValidationResponse = - | { isValid: true; message: FrameValidationData } - | { isValid: false; message: undefined }; -``` - -## `FrameTransactionResponse` - -```ts -type ChainNamespace = 'eip155' | 'solana'; -type ChainReference = string; - -type FrameTransactionResponse = { - chainId: `${ChainNamespace}:${ChainReference}`; // A CAIP-2 chain ID to identify the tx network - method: 'eth_sendTransaction'; // A method ID to identify the type of tx request. - params: FrameTransactionEthSendParams; // Specific parameters for chainId and method -}; -``` - -## `FrameTransactionEthSendParams` - -```ts -type FrameTransactionEthSendParams = { - abi: Abi; // The contract ABI for the contract to call. - data?: Hex; // The data to send with the transaction. - to: Address; // The address of the contract to call. - value: bigint; // The amount of Ether to send with the transaction. -}; -``` diff --git a/site/docs/pages/guides/framegear.mdx b/site/docs/pages/guides/framegear.mdx deleted file mode 100644 index 35dda4f872..0000000000 --- a/site/docs/pages/guides/framegear.mdx +++ /dev/null @@ -1,104 +0,0 @@ -# Framegear - -**Framegear** is a simple tool that allows you to run and test your frames locally: - -- without publishing -- without casting -- without spending warps - -## Installation and Usage - -**Framegear** is currently distributed as part of the [@coinbase/onchainkit](https://github.com/coinbase/onchainkit) Git repository. - -:::code-group - -```bash [npm] -git clone https://github.com/coinbase/onchainkit.git - -cd onchainkit/framegear -npm install -npm run dev -``` - -```bash [yarn] -git clone https://github.com/coinbase/onchainkit.git - -cd onchainkit/framegear -yarn -yarn dev -``` - -```bash [pnpm] -git clone https://github.com/coinbase/onchainkit.git - -cd onchainkit/framegear -pnpm install -pnpm run dev -``` - -```bash [bun] -git clone https://github.com/coinbase/onchainkit.git - -cd onchainkit/framegear -bun install -bun run dev -``` - -::: - -Visit http://localhost:1337 to start the **Framegear** interface. Enter the URL of your locally -running frame (e.g., `http://localhost:3000`) and click `Fetch` to validate your frame response and start testing. - -![Fetch Frame](https://onchainkit.xyz/assets/fetch-frame.png) - -### Frame-specific setup - -**Framegear** can validate the initial response of any frame. For more advanced debugging capabilities, -consider building the frame using `@coinbase/onchainkit` (versions `^0.8.0`). When using the `getFrameMessage` function, -include the `allowFramegear` option to enable **Framegear** to send mock frame actions. - -```ts twoslash -// @noErrors: 2304 - Cannot find 'body' -import { getFrameMessage } from '@coinbase/onchainkit/frame'; - -// ... - -const { isValid, message } = await getFrameMessage(body, { - allowFramegear: true, // [!code focus] -}); -``` - -### Security Tip - -When setting up frames in production, remember not to include the `allowFramegear` option. -The exact setup might vary based on the application, but here's one example: - -```ts twoslash -// @noErrors: 2580 2304 - Cannot find 'process', Cannot find 'body' -import { getFrameMessage } from '@coinbase/onchainkit/frame'; - -const allowFramegear = process.env.NODE_ENV !== 'production'; // [!code focus] - -// ... - -const { isValid, message } = await getFrameMessage(body, { - allowFramegear, // [!code focus] -}); -``` - -## Current Abilities - -At present, **Framegear** is able to validate the initial frame response against the -[current Frame Specification](https://docs.farcaster.xyz/reference/frames/spec) and interact with frames through -buttons using the `post` action. - -**Framegear** is under active development and much more functionality is on the roadmap including (but not limited to): - -- more button actions -- text input -- simulated conditions - - viewer followed - - viewer liked - - viewer recasted - -A partial roadmap can be viewed at https://github.com/coinbase/onchainkit/issues/146 diff --git a/site/docs/pages/xmtp/get-xmtp-frame-message.mdx b/site/docs/pages/xmtp/get-xmtp-frame-message.mdx deleted file mode 100644 index fe21b7ef38..0000000000 --- a/site/docs/pages/xmtp/get-xmtp-frame-message.mdx +++ /dev/null @@ -1,42 +0,0 @@ -# `getXmtpFrameMessage` - -Frames can receive interactions from apps outside of Farcaster, such as from XMTP conversations. -When receiving these interactions you can expect a slightly different response format, -since fields like `fid` or `castId` are not available. - -You can also use `getXmtpFrameMessage` to access useful information such as: - -- buttonIndex: number -- verifiedWalletAddress: string -- opaqueConversationIdentifier: string - -Note that if the `message` is not valid, it will be undefined. - -```ts twoslash -// @noErrors: 2307 2339 - Cannot find module 'next/server', Property 'verifiedWalletAddress' does not exist on type -import { isXmtpFrameRequest, getXmtpFrameMessage } from '@coinbase/onchainkit/xmtp'; // [!code focus] -import { NextResponse } from 'next/server'; -import type { FrameRequest } from '@coinbase/onchainkit/frame'; - -async function getResponse(req: any): Promise { - const body: FrameRequest = await req.json(); - if (isXmtpFrameRequest(body)) { - const { isValid, message } = await getXmtpFrameMessage(body); // [!code focus] - // ... do something with the message if isValid is true - if (isValid) { - const { verifiedWalletAddress } = message; - // ... do something with the verifiedWalletAddress - } - } else { - // ... - } -} -``` - -## Returns - -[`Promise`](/xmtp/types#xmtpframevalidationresponse) - -## Parameters - -[`Promise`](/xmtp/types#xmtpframesrequest) diff --git a/site/docs/pages/xmtp/introduction.mdx b/site/docs/pages/xmtp/introduction.mdx deleted file mode 100644 index d59ec5d057..0000000000 --- a/site/docs/pages/xmtp/introduction.mdx +++ /dev/null @@ -1,67 +0,0 @@ ---- -title: Introduction to XMTP utilities · OnchainKit -description: Introduction to XMTP utilities ---- - -# Introduction to XMTP utilities - -OnchainKit has a collection of utilities that allows you to build Frames with the XMTP protocol. - -## Metadata - -To build a Frame with XMTP, you must first add XMTP metadata. This is done using the `getFrameMetadata` function. - -```ts -const frameMetadata = getFrameMetadata({ - /** - * Frame metadata like Image, Buttons, Input, etc. - */ - isOpenFrame: true, - accepts: { xmtp: 'vNext' }, -}); - -export const metadata: Metadata = { - /** - * ...other metadata - */ - other: { - ...frameMetadata, - }, -}; -``` - -- `isOpenFrame`: A boolean that indicates whether the Frame is open or not. -- `accepts`: An object that indicates the versions of the Frame that the Frame supports. - -## Handling XMTP Frames - -When a user interacts with a Frame inside an XMTP client application, you will need to handle the payload slightly differently from an interaction coming from Farcaster. The primary identifier for a user on Farcaster is the `fid`, while in XMTP it is the `verifiedWalletAddress`. - -In order to get the `verifiedWalletAddress` you must install `@xmtp/frames-validator` in your Frame, alongside Onchainkit. - -:::code-group - -```bash [npm] -npm install @coinbase/onchainkit @xmtp/frames-validator -``` - -```bash [yarn] -yarn add @coinbase/onchainkit @xmtp/frames-validator -``` - -```bash [pnpm] -pnpm add @coinbase/onchainkit @xmtp/frames-validator -``` - -```bash [bun] -bun add @coinbase/onchainkit @xmtp/frames-validator -``` - -::: - -To assist you in handling interactions from XMTP, and extracting the `verifiedWalletAddress` from a POST payload, here is the XMTP utilities which includes: - -- [XMTP](/xmtp/introduction) - - Utilities: - - [`getXmtpFrameMessage`](/xmtp/get-xmtp-frame-message) - - [`isXmtpFrameRequest`](/xmtp/is-xmtp-frame-request) diff --git a/site/docs/pages/xmtp/is-xmtp-frame-request.mdx b/site/docs/pages/xmtp/is-xmtp-frame-request.mdx deleted file mode 100644 index fb94fd4a75..0000000000 --- a/site/docs/pages/xmtp/is-xmtp-frame-request.mdx +++ /dev/null @@ -1,23 +0,0 @@ -# `isXmtpFrameRequest` - -```ts twoslash -// @noErrors: 2307 - Cannot find module 'next/server' -import { FrameRequest } from '@coinbase/onchainkit/frame'; -import { isXmtpFrameRequest } from '@coinbase/onchainkit/xmtp'; // [!code focus] -import { NextResponse } from 'next/server'; - -async function getResponse(req: any): Promise { - const body: FrameRequest = await req.json(); - if (isXmtpFrameRequest(body)) { - // ... - } -} -``` - -## Returns - -- **Type:** `boolean` - -## Parameters - -[`XmtpFramesRequest`](/xmtp/types#xmtpframesrequest) diff --git a/site/docs/pages/xmtp/types.mdx b/site/docs/pages/xmtp/types.mdx deleted file mode 100644 index 9757dfa849..0000000000 --- a/site/docs/pages/xmtp/types.mdx +++ /dev/null @@ -1,36 +0,0 @@ ---- -title: Xmtp Types -description: Glossary of Types in Xmtp. ---- - -# Types [Glossary of Types in Xmtp.] - -## `XmtpFramesRequest` - -```ts -export type UntrustedData = { - url: string; - timestamp: number; - buttonIndex: number; - inputText?: string; - opaqueConversationIdentifier: string; - walletAddress: string; -}; - -// The Frame Signature Packet body -export type XmtpFramesRequest = { - clientProtocol: `xmtp@${string}`; - untrustedData: UntrustedData; - trustedData: { - messageBytes: string; - }; -}; -``` - -## `XmtpFrameValidationResponse` - -```ts -type XmtpFrameValidationResponse = - | { isValid: true; message: XmtpFrameValidationData } - | { isValid: false; message: undefined }; -``` diff --git a/site/docs/public/sitemap.xml b/site/docs/public/sitemap.xml index c7553bb1d1..5c0e10f934 100644 --- a/site/docs/public/sitemap.xml +++ b/site/docs/public/sitemap.xml @@ -55,11 +55,6 @@ 2024-09-13 daily - - https://onchainkit.xyz/frame/frame-metadata - 2024-09-13 - daily - https://onchainkit.xyz/playground 2024-09-13 @@ -80,11 +75,6 @@ 2024-09-13 daily - - https://onchainkit.xyz/frame/framegear - 2024-09-13 - daily - https://onchainkit.xyz/guides/tailwind 2024-09-13 @@ -185,16 +175,6 @@ 2024-09-13 daily - - https://onchainkit.xyz/farcaster/types - 2024-09-13 - daily - - - https://onchainkit.xyz/frame/types - 2024-09-13 - daily - https://onchainkit.xyz/identity/types 2024-09-13 @@ -225,41 +205,11 @@ 2024-09-13 daily - - https://onchainkit.xyz/farcaster/get-farcaster-user-address - 2024-09-13 - daily - - - https://onchainkit.xyz/frame/get-frame-html-response - 2024-09-13 - daily - https://onchainkit.xyz/config/is-ethereum 2024-09-13 daily - - https://onchainkit.xyz/frame/get-frame-message - 2024-09-13 - daily - - - https://onchainkit.xyz/frame/get-frame-metadata - 2024-09-13 - daily - - - https://onchainkit.xyz/xmtp/get-xmtp-frame-message - 2024-09-13 - daily - - - https://onchainkit.xyz/xmtp/is-xmtp-frame-request - 2024-09-13 - daily - https://onchainkit.xyz/identity/get-address 2024-09-13 @@ -295,9 +245,4 @@ 2024-09-13 daily - - https://onchainkit.xyz/xmtp/types - 2024-09-13 - daily - \ No newline at end of file diff --git a/site/package.json b/site/package.json index 30a83bb640..8f54f1c132 100644 --- a/site/package.json +++ b/site/package.json @@ -16,7 +16,6 @@ "permissionless": "^0.1.29", "react": "18", "react-dom": "18", - "react-farcaster-embed": "^1.4.7", "sitemap-generator": "^8.5.1", "tar": "^7.0.0", "typescript": "latest", diff --git a/site/sidebar.ts b/site/sidebar.ts index dcc2cdc055..7c961442cf 100644 --- a/site/sidebar.ts +++ b/site/sidebar.ts @@ -86,15 +86,6 @@ export const sidebar = [ }, ], }, - { - text: 'Frame', - items: [ - { - text: 'FrameMetadata', - link: '/frame/frame-metadata', - }, - ], - }, { text: 'Fund', items: [ @@ -294,35 +285,6 @@ export const sidebar = [ }, ], }, - { - text: 'Frame', - items: [ - { - text: 'getFarcasterUserAddress', - link: '/farcaster/get-farcaster-user-address', - }, - { - text: 'getFrameHtmlResponse', - link: '/frame/get-frame-html-response', - }, - { - text: 'getFrameMessage', - link: '/frame/get-frame-message', - }, - { - text: 'getFrameMetadata', - link: '/frame/get-frame-metadata', - }, - { - text: 'getXmtpFrameMessage', - link: '/xmtp/get-xmtp-frame-message', - }, - { - text: 'isXmtpFrameRequest', - link: '/xmtp/is-xmtp-frame-request', - }, - ], - }, { text: 'Identity', items: [ @@ -396,18 +358,10 @@ export const sidebar = [ text: 'Config', link: '/config/types', }, - { - text: 'Farcaster', - link: '/farcaster/types', - }, { text: 'Fund', link: '/fund/types', }, - { - text: 'Frame', - link: '/frame/types', - }, { text: 'Identity', link: '/identity/types', diff --git a/site/vocs.config.tsx b/site/vocs.config.tsx index 2a13300e98..d1d6e3edc2 100644 --- a/site/vocs.config.tsx +++ b/site/vocs.config.tsx @@ -1,4 +1,3 @@ -import { FrameMetadata } from '@coinbase/onchainkit/frame'; import { defineConfig } from 'vocs'; import pkg from '../package.json'; import { sidebar } from './sidebar.ts'; @@ -53,31 +52,6 @@ export default defineConfig({ ); - if (path === '/') { - return ( - <> - - {analytics} - - ); - } - return <>{analytics}; }, rootDir: './docs/', diff --git a/site/yarn.lock b/site/yarn.lock index 2f429b4049..6adaba56ca 100644 --- a/site/yarn.lock +++ b/site/yarn.lock @@ -6795,23 +6795,6 @@ __metadata: languageName: node linkType: hard -"linkify-react@npm:^4.1.3": - version: 4.1.3 - resolution: "linkify-react@npm:4.1.3" - peerDependencies: - linkifyjs: ^4.0.0 - react: ">= 15.0.0" - checksum: c8c0e96301c3fbe5df19110dd778f4f0004f7c2f127fecb192ba9d4cf3e581d59f7d99ab0311c72a99cf039f5b34421e6ce71f2fcdd90f51655d7736fed4b370 - languageName: node - linkType: hard - -"linkifyjs@npm:^4.1.3": - version: 4.1.3 - resolution: "linkifyjs@npm:4.1.3" - checksum: 9fb71da06ee710b5587c8b61ff9a0e45303d448f61fab135e44652cff95c09c1abe276158a72384cff6f35a2371d1cec33dfaa7e5280b71dbb142b43d210c75a - languageName: node - linkType: hard - "listhen@npm:^1.7.2": version: 1.7.2 resolution: "listhen@npm:1.7.2" @@ -8376,7 +8359,6 @@ __metadata: permissionless: "npm:^0.1.29" react: "npm:18" react-dom: "npm:18" - react-farcaster-embed: "npm:^1.4.7" sitemap-generator: "npm:^8.5.1" tar: "npm:^7.0.0" typescript: "npm:latest" @@ -9083,20 +9065,6 @@ __metadata: languageName: node linkType: hard -"react-farcaster-embed@npm:^1.4.7": - version: 1.6.1 - resolution: "react-farcaster-embed@npm:1.6.1" - dependencies: - linkify-react: "npm:^4.1.3" - linkifyjs: "npm:^4.1.3" - server-only: "npm:^0.0.1" - peerDependencies: - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - checksum: 94be488fff8ba98807d98e9c92904742a344412bc993c585016f7014c3a0692982988d4eacf5b5ad5bcb243aea39ab537e11402dd95ece2619095c0a08084056 - languageName: node - linkType: hard - "react-fast-compare@npm:^3.1.1": version: 3.2.2 resolution: "react-fast-compare@npm:3.2.2" @@ -9819,13 +9787,6 @@ __metadata: languageName: node linkType: hard -"server-only@npm:^0.0.1": - version: 0.0.1 - resolution: "server-only@npm:0.0.1" - checksum: 4704f0ef85da0be981af6d4ed8e739d39bcfd265b9c246a684060acda5642d0fdc6daffc2308e71e2682c5f508090978802eae0a77623c9b90a49f9ae68048d6 - languageName: node - linkType: hard - "set-blocking@npm:^2.0.0": version: 2.0.0 resolution: "set-blocking@npm:2.0.0" diff --git a/src/core/index.ts b/src/core/index.ts deleted file mode 100644 index c66f3edacd..0000000000 --- a/src/core/index.ts +++ /dev/null @@ -1,18 +0,0 @@ -// 🌲☀️🌲 -// This file is the entry point for the core utilities -// that have no dependencies on external libraries. -export { getFrameHtmlResponse } from '../frame/utils/getFrameHtmlResponse'; -export { getFrameMetadata } from '../frame/utils/getFrameMetadata'; -export { getFrameMessage } from '../frame/utils/getFrameMessage'; -export { getMockFrameRequest } from '../frame/utils/getMockFrameRequest'; -export type { - FrameButtonMetadata, - FrameImageMetadata, - FrameInputMetadata, - FrameMetadataReact, - FrameMetadataType, - FrameRequest, - FrameValidationData, - MockFrameRequest, - MockFrameRequestOptions, -} from '../frame/types'; diff --git a/src/farcaster/getFarcasterUserAddress.test.ts b/src/farcaster/getFarcasterUserAddress.test.ts deleted file mode 100644 index 100066fedf..0000000000 --- a/src/farcaster/getFarcasterUserAddress.test.ts +++ /dev/null @@ -1,101 +0,0 @@ -import { type Mock, beforeEach, describe, expect, it, vi } from 'vitest'; -import { getCustodyAddressForFidNeynar } from '../network/neynar/getCustodyAddressForFidNeynar'; -import { getVerifiedAddressesForFidNeynar } from '../network/neynar/getVerifiedAddressesForFidNeynar'; -import { getFarcasterUserAddress } from './getFarcasterUserAddress'; - -vi.mock('../network/neynar/getCustodyAddressForFidNeynar'); -vi.mock('../network/neynar/getVerifiedAddressesForFidNeynar'); - -describe('getFarcasterUserAddress function', () => { - beforeEach(() => { - // Reset mocks before each test - vi.clearAllMocks(); - }); - - it('should return null if any API call fails', async () => { - const error = new Error('Something went wrong'); - (getVerifiedAddressesForFidNeynar as Mock).mockRejectedValue(error); - const result = await getFarcasterUserAddress(123); - expect(result).toBeNull(); - }); - - it('should return both custody and verified addresses by default', async () => { - const expectedCustodyAddress = 'mock-custody-address'; - (getCustodyAddressForFidNeynar as Mock).mockResolvedValue( - expectedCustodyAddress, - ); - (getVerifiedAddressesForFidNeynar as Mock).mockResolvedValue([ - expectedCustodyAddress, - ]); - - const result = await getFarcasterUserAddress(123); - expect(result).toEqual({ - custodyAddress: expectedCustodyAddress, - verifiedAddresses: [expectedCustodyAddress], - }); - }); - - it('should return null if both hasCustodyAddress and hasVerifiedAddresses are false', async () => { - const result = await getFarcasterUserAddress(123, { - hasCustodyAddress: false, - hasVerifiedAddresses: false, - }); - expect(result).toEqual({}); - }); - - it('should return both custodyAddress and verifiedAddresses when both options are true', async () => { - const expectedCustodyAddress = 'mock-custody-address'; - const expectedVerifiedAddresses = [ - 'mock-verified-address-1', - 'mock-verified-address-2', - ]; - (getCustodyAddressForFidNeynar as Mock).mockResolvedValue( - expectedCustodyAddress, - ); - (getVerifiedAddressesForFidNeynar as Mock).mockResolvedValue( - expectedVerifiedAddresses, - ); - const result = await getFarcasterUserAddress(123, { - hasCustodyAddress: true, - hasVerifiedAddresses: true, - }); - expect(result).toEqual({ - custodyAddress: expectedCustodyAddress, - verifiedAddresses: expectedVerifiedAddresses, - }); - }); - - it('should only return custodyAddress when hasVerifiedAddresses is false', async () => { - const expectedCustodyAddress = 'mock-custody-address'; - (getCustodyAddressForFidNeynar as Mock).mockResolvedValue( - expectedCustodyAddress, - ); - const result = await getFarcasterUserAddress(123, { - hasVerifiedAddresses: false, - }); - expect(result).toEqual({ custodyAddress: expectedCustodyAddress }); - }); - - it('should only return verifiedAddresses when hasCustodyAddress is false', async () => { - const expectedVerifiedAddresses = [ - 'mock-verified-address-1', - 'mock-verified-address-2', - ]; - (getVerifiedAddressesForFidNeynar as Mock).mockResolvedValue( - expectedVerifiedAddresses, - ); - const result = await getFarcasterUserAddress(123, { - hasCustodyAddress: false, - }); - expect(result).toEqual({ verifiedAddresses: expectedVerifiedAddresses }); - }); - - it('should call getCustodyAddressForFidNeynar and getVerifiedAddressesForFidNeynar with the default neynarApiKey if not provided', async () => { - await getFarcasterUserAddress(123); - expect(getCustodyAddressForFidNeynar).toHaveBeenCalledWith(123, undefined); - expect(getVerifiedAddressesForFidNeynar).toHaveBeenCalledWith( - 123, - undefined, - ); - }); -}); diff --git a/src/farcaster/getFarcasterUserAddress.ts b/src/farcaster/getFarcasterUserAddress.ts deleted file mode 100644 index 2b43a8f5e7..0000000000 --- a/src/farcaster/getFarcasterUserAddress.ts +++ /dev/null @@ -1,51 +0,0 @@ -import { getCustodyAddressForFidNeynar } from '../network/neynar/getCustodyAddressForFidNeynar'; -import { getVerifiedAddressesForFidNeynar } from '../network/neynar/getVerifiedAddressesForFidNeynar'; -import type { GetFarcasterUserAddressResponse } from './types'; - -type GetFarcasterUserAddressOptions = - | { - neynarApiKey?: string; // default to onchain-kit's default key - hasCustodyAddress?: boolean; // default to true - hasVerifiedAddresses?: boolean; // default to true - } - | undefined; - -/** - * Get the user address for a given fid - */ -async function getFarcasterUserAddress( - fid: number, - options?: GetFarcasterUserAddressOptions, -): Promise { - try { - const hasCustodyAddress = options?.hasCustodyAddress ?? true; - const hasVerifiedAddresses = options?.hasVerifiedAddresses ?? true; - const response: GetFarcasterUserAddressResponse = {}; - - if (hasCustodyAddress) { - const custodyAddress = await getCustodyAddressForFidNeynar( - fid, - options?.neynarApiKey, - ); - if (custodyAddress) { - response.custodyAddress = custodyAddress; - } - } - - if (hasVerifiedAddresses) { - const verifiedAddresses = await getVerifiedAddressesForFidNeynar( - fid, - options?.neynarApiKey, - ); - if (verifiedAddresses) { - response.verifiedAddresses = verifiedAddresses; - } - } - - return response; - } catch (_e) { - return null; - } -} - -export { getFarcasterUserAddress }; diff --git a/src/farcaster/index.ts b/src/farcaster/index.ts deleted file mode 100644 index a64757496e..0000000000 --- a/src/farcaster/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export { getFarcasterUserAddress } from './getFarcasterUserAddress'; -export type { GetFarcasterUserAddressResponse } from './types'; diff --git a/src/farcaster/types.ts b/src/farcaster/types.ts deleted file mode 100644 index 580ac856d4..0000000000 --- a/src/farcaster/types.ts +++ /dev/null @@ -1,9 +0,0 @@ -/** - * GetFarcasterUserAddressResponse - * - * Note: exported as public Type - */ -export type GetFarcasterUserAddressResponse = { - custodyAddress?: string; - verifiedAddresses?: string[]; -}; diff --git a/src/frame/components/FrameMetadata.test.tsx b/src/frame/components/FrameMetadata.test.tsx deleted file mode 100644 index 7673779f3c..0000000000 --- a/src/frame/components/FrameMetadata.test.tsx +++ /dev/null @@ -1,568 +0,0 @@ -import { render } from '@testing-library/react'; -import { describe, expect, it } from 'vitest'; -import { FrameMetadata } from './FrameMetadata'; - -describe('FrameMetadata', () => { - it('renders', () => { - expect(FrameMetadata).toBeDefined(); - }); - - it('renders with image', () => { - const meta = render( - , - ); - expect( - meta.container - .querySelector('meta[property="fc:frame:image"]') - ?.getAttribute('content'), - ).toBe('https://example.com/image.png'); - expect(meta.container.querySelectorAll('meta').length).toBe(3); - }); - - it('renders with image src', () => { - const meta = render( - , - ); - expect( - meta.container - .querySelector('meta[property="fc:frame:image"]') - ?.getAttribute('content'), - ).toBe('https://example.com/image.png'); - expect(meta.container.querySelectorAll('meta').length).toBe(3); - }); - - it('renders with image aspect ratio', () => { - const meta = render( - , - ); - expect( - meta.container.querySelector( - 'meta[property="fc:frame:image:aspect_ratio"]', - ), - ).not.toBeNull(); - expect( - meta.container - .querySelector('meta[property="fc:frame:image:aspect_ratio"]') - ?.getAttribute('content'), - ).toBe('1:1'); - expect(meta.container.querySelectorAll('meta').length).toBe(4); - }); - - it('renders with input', () => { - const meta = render( - , - ); - expect( - meta.container.querySelector('meta[property="fc:frame:input:text"]'), - ).not.toBeNull(); - expect( - meta.container - .querySelector('meta[property="fc:frame:input:text"]') - ?.getAttribute('content'), - ).toBe('test'); - expect(meta.container.querySelectorAll('meta').length).toBe(4); - }); - - it('renders with state', () => { - const meta = render( - , - ); - expect( - meta.container.querySelector('meta[property="fc:frame:state"]'), - ).not.toBeNull(); - expect( - meta.container - .querySelector('meta[property="fc:frame:state"]') - ?.getAttribute('content'), - ).toBe('%7B%22counter%22%3A1%7D'); - expect(meta.container.querySelectorAll('meta').length).toBe(4); - }); - - it('renders with state when Cross Site Scripting occur', () => { - const meta = render( - ' }} - />, - ); - expect( - meta.container.querySelector('meta[property="fc:frame:state"]'), - ).not.toBeNull(); - expect( - meta.container - .querySelector('meta[property="fc:frame:state"]') - ?.getAttribute('content'), - ).toBe('%7B%22counter%22%3A1%2C%22xss%22%3A%22%3Cscript%3E%22%7D'); - expect(meta.container.querySelectorAll('meta').length).toBe(4); - }); - - it('renders with two basic buttons', () => { - const meta = render( - , - ); - // Button 1 - expect( - meta.container.querySelector('meta[property="fc:frame:button:1"]'), - ).not.toBeNull(); - expect( - meta.container - .querySelector('meta[property="fc:frame:button:1"]') - ?.getAttribute('content'), - ).toBe('button1'); - expect( - meta.container.querySelector('meta[property="fc:frame:button:1:action"]'), - ).toBeNull(); - // Button 2 - expect( - meta.container.querySelector('meta[property="fc:frame:button:2"]'), - ).not.toBeNull(); - expect( - meta.container - .querySelector('meta[property="fc:frame:button:2"]') - ?.getAttribute('content'), - ).toBe('button2'); - expect( - meta.container.querySelector('meta[property="fc:frame:button:2:action"]'), - ).not.toBeNull(); - expect( - meta.container - .querySelector('meta[property="fc:frame:button:2:action"]') - ?.getAttribute('content'), - ).toBe('post_redirect'); - // Length - expect(meta.container.querySelectorAll('meta').length).toBe(6); - }); - - it('renders with all buttons', () => { - const meta = render( - , - ); - // Button 1 - expect( - meta.container.querySelector('meta[property="fc:frame:button:1"]'), - ).not.toBeNull(); - expect( - meta.container - .querySelector('meta[property="fc:frame:button:1"]') - ?.getAttribute('content'), - ).toBe('button1'); - expect( - meta.container.querySelector('meta[property="fc:frame:button:1:action"]'), - ).toBeNull(); - // Button 2 - expect( - meta.container.querySelector('meta[property="fc:frame:button:2"]'), - ).not.toBeNull(); - expect( - meta.container - .querySelector('meta[property="fc:frame:button:2"]') - ?.getAttribute('content'), - ).toBe('button2'); - expect( - meta.container.querySelector('meta[property="fc:frame:button:2:action"]'), - ).not.toBeNull(); - expect( - meta.container - .querySelector('meta[property="fc:frame:button:2:action"]') - ?.getAttribute('content'), - ).toBe('post_redirect'); - // Button 3 - expect( - meta.container.querySelector('meta[property="fc:frame:button:3"]'), - ).not.toBeNull(); - expect( - meta.container - .querySelector('meta[property="fc:frame:button:3"]') - ?.getAttribute('content'), - ).toBe('button3'); - expect( - meta.container.querySelector('meta[property="fc:frame:button:3:action"]'), - ).not.toBeNull(); - expect( - meta.container - .querySelector('meta[property="fc:frame:button:3:action"]') - ?.getAttribute('content'), - ).toBe('mint'); - expect( - meta.container.querySelector('meta[property="fc:frame:button:3:target"]'), - ).not.toBeNull(); - expect( - meta.container - .querySelector('meta[property="fc:frame:button:3:target"]') - ?.getAttribute('content'), - ).toBe('https://zizzamia.xyz/api/frame/mint'); - // Button 4 - expect( - meta.container.querySelector('meta[property="fc:frame:button:4"]'), - ).not.toBeNull(); - expect( - meta.container - .querySelector('meta[property="fc:frame:button:4"]') - ?.getAttribute('content'), - ).toBe('button4'); - expect( - meta.container.querySelector('meta[property="fc:frame:button:4:action"]'), - ).not.toBeNull(); - expect( - meta.container - .querySelector('meta[property="fc:frame:button:4:action"]') - ?.getAttribute('content'), - ).toBe('link'); - expect( - meta.container.querySelector('meta[property="fc:frame:button:4:target"]'), - ).not.toBeNull(); - expect( - meta.container - .querySelector('meta[property="fc:frame:button:4:target"]') - ?.getAttribute('content'), - ).toBe('https://zizzamia.xyz/api/frame/link'); - // Length - expect(meta.container.querySelectorAll('meta').length).toBe(12); - }); - - it('renders with post_url', () => { - const meta = render( - , - ); - expect( - meta.container.querySelector('meta[property="fc:frame:post_url"]'), - ).not.toBeNull(); - expect( - meta.container - .querySelector('meta[property="fc:frame:post_url"]') - ?.getAttribute('content'), - ).toBe('https://example.com'); - expect(meta.container.querySelectorAll('meta').length).toBe(4); - }); - - it('renders with refresh_period', () => { - const meta = render( - , - ); - expect( - meta.container.querySelector('meta[property="fc:frame:refresh_period"]'), - ).not.toBeNull(); - expect( - meta.container - .querySelector('meta[property="fc:frame:refresh_period"]') - ?.getAttribute('content'), - ).toBe('10'); - expect(meta.container.querySelectorAll('meta').length).toBe(4); - }); - - it('renders with wrapper', () => { - const meta = render( -
    {children}
    } - />, - ); - - expect(meta.container.querySelector('#wrapper')).not.toBeNull(); - expect( - meta.container.querySelector('meta[property="fc:frame:image"]'), - ).not.toBeNull(); - expect(meta.container.querySelectorAll('meta').length).toBe(3); - }); - - it('renders with action mint', () => { - const meta = render( - , - ); - expect( - meta.container.querySelector('meta[property="fc:frame:button:1:action"]'), - ).not.toBeNull(); - expect( - meta.container - .querySelector('meta[property="fc:frame:button:1:action"]') - ?.getAttribute('content'), - ).toBe('mint'); - expect( - meta.container.querySelector('meta[property="fc:frame:button:1:target"]'), - ).not.toBeNull(); - expect( - meta.container - .querySelector('meta[property="fc:frame:button:1:target"]') - ?.getAttribute('content'), - ).toBe('https://zizzamia.xyz/api/frame/mint'); - expect(meta.container.querySelectorAll('meta').length).toBe(6); - }); - - it('renders with action link', () => { - const meta = render( - , - ); - expect( - meta.container.querySelector('meta[property="fc:frame:button:1:action"]'), - ).not.toBeNull(); - expect( - meta.container - .querySelector('meta[property="fc:frame:button:1:action"]') - ?.getAttribute('content'), - ).toBe('link'); - expect( - meta.container.querySelector('meta[property="fc:frame:button:1:target"]'), - ).not.toBeNull(); - expect( - meta.container - .querySelector('meta[property="fc:frame:button:1:target"]') - ?.getAttribute('content'), - ).toBe('https://zizzamia.xyz/api/frame/link'); - expect(meta.container.querySelectorAll('meta').length).toBe(6); - }); - - it('renders with action tx', () => { - const meta = render( - , - ); - expect( - meta.container.querySelector('meta[property="fc:frame:button:1:action"]'), - ).not.toBeNull(); - expect( - meta.container - .querySelector('meta[property="fc:frame:button:1:action"]') - ?.getAttribute('content'), - ).toBe('tx'); - expect( - meta.container.querySelector('meta[property="fc:frame:button:1:target"]'), - ).not.toBeNull(); - expect( - meta.container - .querySelector('meta[property="fc:frame:button:1:target"]') - ?.getAttribute('content'), - ).toBe('https://zizzamia.xyz/api/frame/tx'); - expect(meta.container.querySelectorAll('meta').length).toBe(6); - }); - - it('renders with action tx with post_url', () => { - const meta = render( - , - ); - expect( - meta.container.querySelector('meta[property="fc:frame:button:1:action"]'), - ).not.toBeNull(); - expect( - meta.container - .querySelector('meta[property="fc:frame:button:1:action"]') - ?.getAttribute('content'), - ).toBe('tx'); - expect( - meta.container.querySelector( - 'meta[property="fc:frame:button:1:post_url"]', - ), - ).not.toBeNull(); - expect( - meta.container - .querySelector('meta[property="fc:frame:button:1:post_url"]') - ?.getAttribute('content'), - ).toBe('https://zizzamia.xyz/api/frame/tx-post-url'); - expect( - meta.container - .querySelector('meta[property="fc:frame:button:2:post_url"]') - ?.getAttribute('content'), - ).toBe('https://zizzamia.xyz/api/frame/tx-post-url2'); - expect( - meta.container - .querySelector('meta[property="fc:frame:button:3:post_url"]') - ?.getAttribute('content'), - ).toBe('https://zizzamia.xyz/api/frame/tx-post-url3'); - expect( - meta.container - .querySelector('meta[property="fc:frame:button:4:post_url"]') - ?.getAttribute('content'), - ).toBe('https://zizzamia.xyz/api/frame/tx-post-url4'); - expect(meta.container.querySelectorAll('meta').length).toBe(19); - }); - - it('should not render action target if action is not link or mint', () => { - const meta = render( - , - ); - expect( - meta.container.querySelector('meta[property="fc:frame:button:1:target"'), - ).toBeNull(); - expect(meta.container.querySelectorAll('meta').length).toBe(6); - }); - - it('should set og:description', () => { - const meta = render( - , - ); - expect( - meta.container - .querySelector('meta[property="og:description"]') - ?.getAttribute('content'), - ).toBe('This is the description'); - expect(meta.container.querySelectorAll('meta').length).toBe(4); - }); - - it('should set og:title', () => { - const meta = render( - , - ); - expect( - meta.container - .querySelector('meta[property="og:title"]') - ?.getAttribute('content'), - ).toBe('This is the title'); - expect(meta.container.querySelectorAll('meta').length).toBe(4); - }); - - it('should not render og:description and og:title if not provided', () => { - const meta = render( - , - ); - expect( - meta.container.querySelector('meta[property="og:description"]'), - ).toBeNull(); - expect( - meta.container.querySelector('meta[property="og:title"]'), - ).toBeNull(); - expect(meta.container.querySelectorAll('meta').length).toBe(3); - }); - - describe('when using isOpenFrame true', () => { - it('renders', () => { - const meta = render( - , - ); - expect(meta.container.querySelectorAll('meta').length).toBe(5); - }); - - it('renders with accepts', () => { - const meta = render( - , - ); - expect( - meta.container - .querySelector('meta[property="of:accepts:xmtp"]') - ?.getAttribute('content'), - ).toBe('1.0.0'); - expect(meta.container.querySelectorAll('meta').length).toBe(6); - }); - - it('renders with image', () => { - const meta = render( - , - ); - expect( - meta.container - .querySelector('meta[property="of:image"]') - ?.getAttribute('content'), - ).toBe('https://example.com/image.png'); - expect(meta.container.querySelectorAll('meta').length).toBe(6); - }); - }); -}); diff --git a/src/frame/components/FrameMetadata.tsx b/src/frame/components/FrameMetadata.tsx deleted file mode 100644 index 781b02ee44..0000000000 --- a/src/frame/components/FrameMetadata.tsx +++ /dev/null @@ -1,128 +0,0 @@ -import { Fragment } from 'react'; -import type { FrameMetadataReact } from '../types'; - -/** - * This component is used to add React Frame Metadata to the page. - */ -// biome-ignore lint/complexity/noExcessiveCognitiveComplexity: TODO Refactor this component -export function FrameMetadata({ - accepts = {}, - buttons, - image, - input, - isOpenFrame = false, - ogDescription, - ogTitle, - postUrl, - post_url, - refreshPeriod, - refresh_period, - state, - wrapper: Wrapper = Fragment, -}: FrameMetadataReact) { - const button1 = buttons?.[0]; - const button2 = buttons?.[1]; - const button3 = buttons?.[2]; - const button4 = buttons?.[3]; - const postUrlToUse = postUrl || post_url; - const refreshPeriodToUse = refreshPeriod || refresh_period; - const imageSrc = typeof image === 'string' ? image : image.src; - const aspectRatio = typeof image === 'string' ? undefined : image.aspectRatio; - - // Important: To ensure smooth functionality when used - // with Helmet as a wrapper component, it is crucial to flatten the Buttons loop. - return ( - - {!!ogDescription && ( - - )} - {!!ogTitle && } - - - {!!imageSrc && } - {!!aspectRatio && ( - - )} - {!!input && } - {!!state && ( - - )} - - {!!button1 && ( - - )} - {!!(button1 && !!button1.action) && ( - - )} - {!!button1?.target && ( - - )} - {!!(button1 && button1.action === 'tx' && button1.postUrl) && ( - - )} - - {!!button2 && ( - - )} - {!!(button2 && !!button2.action) && ( - - )} - {!!button2?.target && ( - - )} - {!!(button2 && button2.action === 'tx' && button2.postUrl) && ( - - )} - - {!!button3 && ( - - )} - {!!(button3 && !!button3.action) && ( - - )} - {!!button3?.target && ( - - )} - {!!(button3 && button3.action === 'tx' && button3.postUrl) && ( - - )} - - {!!button4 && ( - - )} - {!!(button4 && !!button4.action) && ( - - )} - {!!button4?.target && ( - - )} - {!!(button4 && button4.action === 'tx' && button4.postUrl) && ( - - )} - - {!!postUrlToUse && ( - - )} - - {!!refreshPeriodToUse && ( - - )} - - {!!isOpenFrame && } - - {!!isOpenFrame && accepts && accepts.xmtp && ( - - )} - - {!!isOpenFrame && imageSrc && ( - - )} - - ); -} diff --git a/src/frame/index.ts b/src/frame/index.ts deleted file mode 100644 index 84fd7d2f73..0000000000 --- a/src/frame/index.ts +++ /dev/null @@ -1,22 +0,0 @@ -// 🌲☀️🌲 -// This file is the entry point for the core utilities -// that have no dependencies on external libraries. -export { FrameMetadata } from './components/FrameMetadata'; -export { getFrameHtmlResponse } from './utils/getFrameHtmlResponse'; -export { getFrameMetadata } from './utils/getFrameMetadata'; -export { getFrameMessage } from './utils/getFrameMessage'; -export { getMockFrameRequest } from './utils/getMockFrameRequest'; -export type { - FrameButtonMetadata, - FrameData, - FrameImageMetadata, - FrameInputMetadata, - FrameMetadataReact, - FrameMetadataType, - FrameRequest, - FrameValidationData, - FrameTransactionResponse, - FrameTransactionEthSendParams, - MockFrameRequest, - MockFrameRequestOptions, -} from './types'; diff --git a/src/frame/types.ts b/src/frame/types.ts deleted file mode 100644 index e7f48912f8..0000000000 --- a/src/frame/types.ts +++ /dev/null @@ -1,202 +0,0 @@ -import type { Abi, Address, Hex } from 'viem'; -import type { NeynarFrameValidationInternalModel } from '../network/neynar/types'; - -/** - * Frame Data - * - * Note: exported as public Type - */ -export interface FrameData { - buttonIndex: number; - castId: { - fid: number; - hash: string; - }; - inputText: string; - fid: number; - messageHash: string; - network: number; - state: string; - timestamp: number; - transactionId?: string; - url: string; -} - -/** - * Frame Request - * - * Note: exported as public Type - */ -export interface FrameRequest { - untrustedData: FrameData; - trustedData: { - messageBytes: string; - }; -} - -/** - * Simplified Object model with the raw Neynar data if-needed. - */ -export interface FrameValidationData { - address: string | null; // The connected wallet address of the interacting user. - button: number; // Number of the button clicked - following: boolean; // Indicates if the viewer clicking the frame follows the cast author - input: string; // Text input from the viewer typing in the frame - interactor: { - fid: number; // Viewer Farcaster ID - custody_address: string; // Viewer custody address - verified_accounts: string[]; // Viewer account addresses - verified_addresses: { - eth_addresses: string[] | null; - sol_addresses: string[] | null; - }; - }; - liked: boolean; // Indicates if the viewer clicking the frame liked the cast - raw: NeynarFrameValidationInternalModel; - recasted: boolean; // Indicates if the viewer clicking the frame recasted the cast - state: { - serialized: string; // Serialized state (e.g. JSON) passed to the frame server - }; - transaction: { - hash: string; - } | null; - valid: boolean; // Indicates if the frame is valid -} - -export type FrameValidationResponse = - | { isValid: true; message: FrameValidationData } - | { isValid: false; message: undefined }; - -/* biome-ignore lint: code needs to be refactored */ -export function convertToFrame(json: any) { - return { - fid: json.fid, - url: json.frameActionBody?.url.toString(), - messageHash: json.messageHash, - timestamp: json.timestamp, - network: json.network, - buttonIndex: json.frameActionBody?.buttonIndex, - castId: { - fid: json.frameActionBody?.castId?.fid, - hash: json.frameActionBody?.castId?.hash, - }, - }; -} - -/** - * Note: exported as public Type - */ -export type FrameButtonMetadata = - | { - action: 'link' | 'mint'; - label: string; - target: string; - } - | { - action?: 'post' | 'post_redirect'; - label: string; - postUrl?: string; - target?: string; - } - | { - action: 'tx'; - label: string; - target: string; - postUrl?: string; - }; - -/** - * Note: exported as public Type - */ -export type FrameInputMetadata = { - text: string; -}; - -/** - * Note: exported as public Type - */ -export type FrameImageMetadata = { - src: string; - aspectRatio?: '1.91:1' | '1:1'; -}; - -/** - * Note: exported as public Type - */ -export type FrameMetadataReact = FrameMetadataType & { - ogDescription?: string; - ogTitle?: string; - /* biome-ignore lint: code needs to be refactored */ - wrapper?: React.ComponentType; -}; - -/** - * Note: exported as public Type - */ -export type FrameMetadataType = { - accepts?: { - [protocolIdentifier: string]: string; - }; // The minimum client protocol version accepted for the given protocol identifier. - buttons?: [FrameButtonMetadata, ...FrameButtonMetadata[]]; // A list of strings which are the label for the buttons in the frame (max 4 buttons). - image: string | FrameImageMetadata; // An image which must be smaller than 10MB and should have an aspect ratio of 1.91:1 - input?: FrameInputMetadata; // The text input to use for the Frame. - isOpenFrame?: boolean; // A boolean indicating if the frame uses the Open Frames standard. - /** @deprecated Prefer `postUrl` */ - post_url?: string; - postUrl?: string; // A valid POST URL to send the Signature Packet to. - /** @deprecated Prefer `refreshPeriod` */ - refresh_period?: number; - refreshPeriod?: number; // A period in seconds at which the app should expect the image to update. - state?: object; // A string containing serialized state (e.g. JSON) passed to the frame server. -}; - -/** - * Note: exported as public Type - */ -export type FrameMetadataResponse = Record; - -/** - * Note: exported as public Type - */ -type ChainNamespace = 'eip155' | 'solana'; -type ChainReference = string; -export type FrameTransactionResponse = { - chainId: `${ChainNamespace}:${ChainReference}`; // A CAIP-2 chain ID to identify the tx network - method: 'eth_sendTransaction' | 'eth_personalSign'; // A method ID to identify the type of tx request. - params: FrameTransactionEthSendParams; // Specific parameters for chainId and method -}; - -/** - * Note: exported as public Type - */ -export type FrameTransactionEthSendParams = { - abi: Abi; // The contract ABI for the contract to call. - data?: Hex; // The data to send with the transaction. - to: Address; // The address of the contract to call. - value: string; // The amount of Wei to send with the transaction -}; - -/** - * Settings to simulate statuses on mock frames. - * - * Note: exported as public Type - */ -export type MockFrameRequestOptions = { - following?: boolean; // Indicates if the viewer clicking the frame follows the cast author - interactor?: { - fid?: number; // Viewer Farcaster ID - custody_address?: string; // Viewer custody address - verified_accounts?: string[]; // Viewer account addresses - }; - liked?: boolean; // Indicates if the viewer clicking the frame liked the cast - recasted?: boolean; // Indicates if the viewer clicking the frame recasted the cast -}; - -/** - * A mock frame request payload - * - * Note: exported as public Type - */ -export type MockFrameRequest = FrameRequest & { - mockFrameData: Required; -}; diff --git a/src/frame/utils/getFrameHtmlResponse.test.ts b/src/frame/utils/getFrameHtmlResponse.test.ts deleted file mode 100644 index 851eda7ea1..0000000000 --- a/src/frame/utils/getFrameHtmlResponse.test.ts +++ /dev/null @@ -1,566 +0,0 @@ -import { describe, expect, it } from 'vitest'; -import { getFrameHtmlResponse } from './getFrameHtmlResponse'; - -describe('getFrameHtmlResponse', () => { - it('should return correct HTML with all parameters', () => { - const html = getFrameHtmlResponse({ - buttons: [ - { label: 'button1', action: 'post' }, - { label: 'button2', action: 'mint', target: 'https://example.com' }, - { label: 'button3', action: 'post_redirect' }, - { label: 'button4' }, - ], - image: { - src: 'https://example.com/image.png', - aspectRatio: '1.91:1', - }, - input: { - text: 'Enter a message...', - }, - postUrl: 'https://example.com/api/frame', - refreshPeriod: 10, - state: { - counter: 1, - }, - }); - - expect(html).toBe(` - - - - - - - - - - - - - - - - - - - - - - -`); - }); - - it('should return correct HTML with image src', () => { - const html = getFrameHtmlResponse({ - buttons: [ - { - label: 'Mint', - action: 'mint', - target: 'https://zizzamia.xyz/api/frame/mint', - }, - ], - image: { - src: 'https://zizzamia.xyz/park-1.png', - }, - }); - - expect(html).toBe(` - - - - - - - - - - - - -`); - }); - - it('should return correct HTML with 1:1 image aspect ratio', () => { - const html = getFrameHtmlResponse({ - buttons: [ - { - label: 'Mint', - action: 'mint', - target: 'https://zizzamia.xyz/api/frame/mint', - }, - ], - image: { - src: 'https://zizzamia.xyz/park-1.png', - aspectRatio: '1:1', - }, - }); - - expect(html).toBe(` - - - - - - - - - - - - - -`); - }); - - it('should return correct HTML with action mint', () => { - const html = getFrameHtmlResponse({ - buttons: [ - { - label: 'Mint', - action: 'mint', - target: 'https://zizzamia.xyz/api/frame/mint', - }, - ], - image: 'https://zizzamia.xyz/park-1.png', - }); - - expect(html).toBe(` - - - - - - - - - - - - -`); - }); - - it('should return correct HTML with action link', () => { - const html = getFrameHtmlResponse({ - buttons: [ - { - label: 'Link', - action: 'link', - target: 'https://zizzamia.xyz/api/frame/link', - }, - ], - image: 'https://zizzamia.xyz/park-1.png', - }); - - expect(html).toBe(` - - - - - - - - - - - - -`); - }); - - it('should return correct HTML with action link, even if action is not explicitly set', () => { - const html = getFrameHtmlResponse({ - buttons: [ - { label: 'Click', target: 'https://zizzamia.xyz/api/frame/click' }, - ], - image: 'https://zizzamia.xyz/park-1.png', - }); - - expect(html).toBe(` - - - - - - - - - - - -`); - }); - - it('should return correct HTML with action tx', () => { - const html = getFrameHtmlResponse({ - buttons: [ - { - label: 'Transaction', - action: 'tx', - target: 'https://zizzamia.xyz/api/frame/tx', - }, - { - label: 'Transaction 2', - action: 'tx', - target: 'https://zizzamia.xyz/api/frame/tx', - postUrl: 'https://zizzamia.xyz/api/frame/tx-success', - }, - ], - image: 'https://zizzamia.xyz/park-1.png', - }); - - expect(html).toBe(` - - - - - - - - - - - - - - - - -`); - }); - - it('should handle no input', () => { - const html = getFrameHtmlResponse({ - buttons: [{ label: 'button1' }], - image: 'https://example.com/image.png', - postUrl: 'https://example.com/api/frame', - }); - - expect(html).toContain(''); - expect(html).toContain( - '', - ); - expect(html).toContain( - '', - ); - expect(html).toContain( - '', - ); - expect(html).toContain( - '', - ); - expect(html).not.toContain('fc:frame:input:text'); - }); - - it('should handle no buttons', () => { - const html = getFrameHtmlResponse({ - image: 'https://example.com/image.png', - postUrl: 'https://example.com/api/frame', - }); - - expect(html).toContain(''); - expect(html).toContain( - '', - ); - expect(html).toContain( - '', - ); - expect(html).toContain( - '', - ); - expect(html).not.toContain('fc:frame:button:'); - }); - - it('should handle no post_url', () => { - const html = getFrameHtmlResponse({ - buttons: [{ label: 'button1' }], - image: 'https://example.com/image.png', - }); - - expect(html).toContain(''); - expect(html).toContain( - '', - ); - expect(html).toContain( - '', - ); - expect(html).toContain( - '', - ); - expect(html).not.toContain('fc:frame:post_url'); - }); - - it('should handle no refresh_period', () => { - const html = getFrameHtmlResponse({ - buttons: [{ label: 'button1' }], - image: 'https://example.com/image.png', - postUrl: 'https://example.com/api/frame', - }); - - expect(html).toContain(''); - expect(html).toContain( - '', - ); - expect(html).toContain( - '', - ); - expect(html).toContain( - '', - ); - expect(html).not.toContain('fc:frame:refresh_period'); - }); - - it('should not render action target if action is not link, mint or tx', () => { - const html = getFrameHtmlResponse({ - buttons: [{ label: 'button1', action: 'post' }], - image: 'image', - postUrl: 'post_url', - }); - - expect(html).toContain(''); - expect(html).toContain( - '', - ); - expect(html).toContain( - '', - ); - expect(html).toContain( - '', - ); - expect(html).toContain( - '', - ); - expect(html).not.toContain('fc:frame:button:1:target'); - }); - - it('should set og:description and og:title to default values if not provided', () => { - const html = getFrameHtmlResponse({ - buttons: [{ label: 'button1' }], - image: 'image', - postUrl: 'post_url', - }); - - expect(html).toContain( - '', - ); - expect(html).toContain( - '', - ); - }); - - it('should set og:description and og:title to provided values', () => { - const html = getFrameHtmlResponse({ - buttons: [{ label: 'button1' }], - image: 'image', - postUrl: 'post_url', - ogDescription: 'description', - ogTitle: 'title', - }); - - expect(html).toContain( - '', - ); - expect(html).toContain(''); - }); - - it('should set a button link only once', () => { - const html = getFrameHtmlResponse({ - buttons: [ - { label: 'button1', action: 'link', target: 'https://example.com' }, - ], - image: 'image', - postUrl: 'post_url', - }); - - expect(html).toContain( - '', - ); - expect(html).toContain( - '', - ); - expect(html).toContain( - '', - ); - expect(html).not.toContain('fc:frame:button:2'); - expect(html).not.toContain('fc:frame:button:2:action'); - expect(html).not.toContain('fc:frame:button:2:target'); - expect(html).not.toContain('fc:frame:button:3'); - expect(html).not.toContain('fc:frame:button:3:action'); - expect(html).not.toContain('fc:frame:button:3:target'); - expect(html).not.toContain('fc:frame:button:4'); - expect(html).not.toContain('fc:frame:button:4:action'); - expect(html).not.toContain('fc:frame:button:4:target'); - }); - - it('should set a target when action is post', () => { - const html = getFrameHtmlResponse({ - buttons: [ - { - label: 'button1', - action: 'post', - target: 'https://example.com/api/frame7', - }, - ], - image: 'image', - }); - - expect(html).toContain( - '', - ); - expect(html).toContain( - '', - ); - expect(html).toContain( - '', - ); - expect(html).not.toContain('fc:frame:button:2'); - expect(html).not.toContain('fc:frame:button:2:action'); - expect(html).not.toContain('fc:frame:button:2:target'); - expect(html).not.toContain('fc:frame:button:3'); - expect(html).not.toContain('fc:frame:button:3:action'); - expect(html).not.toContain('fc:frame:button:3:target'); - expect(html).not.toContain('fc:frame:button:4'); - expect(html).not.toContain('fc:frame:button:4:action'); - expect(html).not.toContain('fc:frame:button:4:target'); - }); - - it('should set a target when action is tx', () => { - const html = getFrameHtmlResponse({ - buttons: [ - { - label: 'Transaction', - action: 'tx', - target: 'https://example.com/api/tx7', - }, - ], - image: 'image', - }); - - expect(html).toContain( - '', - ); - expect(html).toContain( - '', - ); - expect(html).toContain( - '', - ); - expect(html).not.toContain('fc:frame:button:2'); - expect(html).not.toContain('fc:frame:button:2:action'); - expect(html).not.toContain('fc:frame:button:2:target'); - expect(html).not.toContain('fc:frame:button:3'); - expect(html).not.toContain('fc:frame:button:3:action'); - expect(html).not.toContain('fc:frame:button:3:target'); - expect(html).not.toContain('fc:frame:button:4'); - expect(html).not.toContain('fc:frame:button:4:action'); - expect(html).not.toContain('fc:frame:button:4:target'); - }); - - it('should handle no state', () => { - const html = getFrameHtmlResponse({ - buttons: [{ label: 'button1' }], - image: 'https://example.com/image.png', - postUrl: 'https://example.com/api/frame', - }); - - expect(html).toContain(''); - expect(html).toContain( - '', - ); - expect(html).toContain( - '', - ); - expect(html).toContain( - '', - ); - expect(html).toContain( - '', - ); - expect(html).not.toContain('fc:frame:state'); - }); - - it('should handle state when Cross Site Scripting occur', () => { - const html = getFrameHtmlResponse({ - buttons: [{ label: 'button1' }], - image: 'https://example.com/image.png', - postUrl: 'https://example.com/api/frame', - state: { - counter: 1, - xss: '', - }, - }); - - expect(html).toContain(''); - expect(html).toContain( - '', - ); - expect(html).toContain( - '', - ); - expect(html).toContain( - '', - ); - expect(html).toContain( - '', - ); - expect(html).toContain( - 'alert("XSS")'); - }); - - describe('when using isOpenFrame true', () => { - it('should return correct HTML with all parameters', () => { - const html = getFrameHtmlResponse({ - accepts: { 'protocol-identifier': '1.0.0' }, - buttons: [ - { label: 'button1', action: 'post' }, - { label: 'button2', action: 'mint', target: 'https://example.com' }, - { label: 'button3', action: 'post_redirect' }, - { label: 'button4' }, - ], - image: { - src: 'https://example.com/image.png', - aspectRatio: '1.91:1', - }, - input: { - text: 'Enter a message...', - }, - isOpenFrame: true, - postUrl: 'https://example.com/api/frame', - refreshPeriod: 10, - state: { - counter: 1, - }, - }); - - expect(html).toBe(` - - - - - - - - - - - - - - - - - - - - - - - - - -`); - }); - }); -}); diff --git a/src/frame/utils/getFrameHtmlResponse.ts b/src/frame/utils/getFrameHtmlResponse.ts deleted file mode 100644 index 0c17099ae2..0000000000 --- a/src/frame/utils/getFrameHtmlResponse.ts +++ /dev/null @@ -1,89 +0,0 @@ -import type { FrameMetadataType } from '../types'; -import { setFrameHtmlButtons } from './setFrameHtmlButtons'; - -type FrameMetadataHtmlResponse = FrameMetadataType & { - ogDescription?: string; - ogTitle?: string; -}; - -/** - * Returns an HTML string containing metadata for a new valid frame. - */ -// biome-ignore lint/complexity/noExcessiveCognitiveComplexity: TODO Refactor this component -function getFrameHtmlResponse({ - accepts = {}, - buttons, - image, - input, - isOpenFrame = false, - ogDescription, - ogTitle, - postUrl, - post_url, - refreshPeriod, - refresh_period, - state, -}: FrameMetadataHtmlResponse): string { - const imgSrc = typeof image === 'string' ? image : image.src; - const ogImageHtml = ` \n`; - let imageHtml = ` \n`; - if (typeof image !== 'string' && image.aspectRatio) { - imageHtml += ` \n`; - } - - // Set the input metadata if it exists. - const inputHtml = input - ? ` \n` - : ''; - - // Set the state metadata if it exists. - const stateHtml = state - ? ` \n` - : ''; - - // Set the button metadata if it exists. - let buttonsHtml = ''; - if (buttons) { - buttonsHtml = setFrameHtmlButtons(buttons); - } - - // Set the post_url metadata if it exists. - const postUrlToUse = postUrl || post_url; - const postUrlHtml = postUrlToUse - ? ` \n` - : ''; - - // Set the refresh_period metadata if it exists. - const refreshPeriodToUse = refreshPeriod || refresh_period; - const refreshPeriodHtml = refreshPeriodToUse - ? ` \n` - : ''; - - let ofHtml = ''; - // Set the Open Frames metadata - if (isOpenFrame) { - ofHtml = ` \n`; - const ofAcceptsHtml = Object.keys(accepts) - .map((protocolIdentifier) => { - return ` \n`; - }) - .join(''); - const ofImageHtml = ` \n`; - ofHtml += ofAcceptsHtml + ofImageHtml; - } - - // Return the HTML string containing all the metadata. - const html = ` - - - - - -${buttonsHtml}${ogImageHtml}${imageHtml}${inputHtml}${postUrlHtml}${refreshPeriodHtml}${stateHtml}${ofHtml} - -`; - - return html; -} - -export { getFrameHtmlResponse }; diff --git a/src/frame/utils/getFrameMessage.test.ts b/src/frame/utils/getFrameMessage.test.ts deleted file mode 100644 index 39096827d4..0000000000 --- a/src/frame/utils/getFrameMessage.test.ts +++ /dev/null @@ -1,179 +0,0 @@ -import type { Address } from 'viem'; -import { type Mock, describe, expect, it, vi } from 'vitest'; -import { neynarBulkUserLookup } from '../../network/neynar/neynarBulkUserLookup'; -import { neynarFrameValidation } from '../../network/neynar/neynarFrameValidation'; -import type { FrameRequest } from '../types'; -import { getFrameMessage } from './getFrameMessage'; -import { getMockFrameRequest } from './getMockFrameRequest'; - -vi.mock('../../network/neynar/neynarBulkUserLookup', () => { - return { - neynarBulkUserLookup: vi.fn(), - }; -}); - -vi.mock( - '../../network/neynar/neynarFrameValidation', - async (importOriginal) => { - return { - ...(await importOriginal< - typeof import('../../../network/neynar/neynarFrameValidation') - >()), - neynarFrameValidation: vi.fn(), - }; - }, -); - -function mockNeynarResponse( - action: { - address?: Address; - transaction?: { - hash: string; - }; - }, - interactor: { - fid: number; - verifications?: string[] | undefined; - }, - lookupMock: Mock, - frameValidationMock: Mock = vi.fn(), -) { - const neynarResponse = { - users: [ - { - verifications: interactor?.verifications, - }, - ], - }; - lookupMock.mockResolvedValue(neynarResponse); - - frameValidationMock.mockResolvedValue({ - address: action?.address || null, - interactor: { - fid: interactor.fid, - verified_accounts: interactor?.verifications, - }, - transaction: action?.transaction || null, - valid: true, - }); -} - -describe('getFrameValidatedMessage', () => { - it('should return undefined if the message is invalid', async () => { - const result = await getFrameMessage({ - trustedData: { messageBytes: 'invalid' }, - } as FrameRequest); - expect(result?.isValid).toEqual(false); - }); - - it('should consider invalid non-mock requests as invalid, even if mock requests are allowed', async () => { - const result = await getFrameMessage( - { - trustedData: { messageBytes: 'invalid' }, - } as FrameRequest, - { allowFramegear: true }, - ); - expect(result?.isValid).toEqual(false); - expect(result.message).toBeUndefined(); - }); - - it('should consider mock messages valid, if allowed', async () => { - const result = await getFrameMessage( - getMockFrameRequest({ - untrustedData: { - buttonIndex: 1, - castId: { - fid: 0, - hash: '0xthisisnotreal', - }, - inputText: '', - fid: 0, - network: 0, - messageHash: '0xthisisnotreal', - state: '', - timestamp: 0, - url: 'https://localhost:3000', - }, - trustedData: { - messageBytes: '0xthisisnotreal', - }, - }), - { allowFramegear: true }, - ); - expect(result?.isValid).toEqual(true); - expect(result.message?.button).toEqual(1); - }); - - it('should consider mock messages invalid, if not allowed (default)', async () => { - const result = await getFrameMessage( - getMockFrameRequest({ - untrustedData: { - buttonIndex: 1, - castId: { - fid: 0, - hash: '0xthisisnotreal', - }, - inputText: '', - fid: 0, - network: 0, - messageHash: '0xthisisnotreal', - state: '', - timestamp: 0, - transactionId: undefined, - url: 'https://localhost:3000', - }, - trustedData: { - messageBytes: '0xthisisnotreal', - }, - }), - ); - expect(result?.isValid).toEqual(false); - expect(result.message).toBeUndefined(); - }); - - it('should return the message if the message is valid', async () => { - const fid = 1234; - const addresses = ['0xaddr1']; - mockNeynarResponse( - {}, - { - fid, - verifications: addresses, - }, - neynarBulkUserLookup as Mock, - neynarFrameValidation as Mock, - ); - const fakeFrameData = { - trustedData: {}, - }; - const result = await getFrameMessage(fakeFrameData as FrameRequest); - expect(result?.message?.interactor.fid).toEqual(fid); - }); - - it('should return the address and transaction if they exist', async () => { - const fid = 1234; - const addresses = ['0xaddr1']; - mockNeynarResponse( - { - address: 'address' as Address, - transaction: { - hash: 'transaction', - }, - }, - { - fid, - verifications: addresses, - }, - neynarBulkUserLookup as Mock, - neynarFrameValidation as Mock, - ); - const fakeFrameData = { - trustedData: {}, - }; - const result = await getFrameMessage(fakeFrameData as FrameRequest); - expect(result?.message?.address).toEqual('address'); - expect(result?.message?.transaction).toEqual({ - hash: 'transaction', - }); - }); -}); diff --git a/src/frame/utils/getFrameMessage.ts b/src/frame/utils/getFrameMessage.ts deleted file mode 100644 index 1fc89a4600..0000000000 --- a/src/frame/utils/getFrameMessage.ts +++ /dev/null @@ -1,58 +0,0 @@ -import { - NEYNAR_DEFAULT_API_KEY, - neynarFrameValidation, -} from '../../network/neynar/neynarFrameValidation'; -import type { - FrameRequest, - FrameValidationResponse, - MockFrameRequest, -} from '../types'; - -type FrameMessageOptions = - | { - neynarApiKey?: string; - castReactionContext?: boolean; - followContext?: boolean; - allowFramegear?: boolean; - } - | undefined; - -/** - * Given a frame message, decode and validate it. - * If message is valid, return the message. Otherwise undefined. - */ -async function getFrameMessage( - body: FrameRequest | MockFrameRequest, - messageOptions?: FrameMessageOptions, -): Promise { - // Skip validation only when allowed and when receiving a request from framegear - if (messageOptions?.allowFramegear) { - if ((body as MockFrameRequest).mockFrameData) { - return { - isValid: true, - message: (body as MockFrameRequest).mockFrameData, - }; - } - } - - // Validate the message - const response = await neynarFrameValidation( - body?.trustedData?.messageBytes, - messageOptions?.neynarApiKey || NEYNAR_DEFAULT_API_KEY, - messageOptions?.castReactionContext || true, - messageOptions?.followContext || true, - ); - if (response?.valid) { - return { - isValid: true, - message: response, - }; - } - // Security best practice, don't return anything if we can't validate the frame. - return { - isValid: false, - message: undefined, - }; -} - -export { getFrameMessage }; diff --git a/src/frame/utils/getFrameMetadata.test.ts b/src/frame/utils/getFrameMetadata.test.ts deleted file mode 100644 index 915f297ebd..0000000000 --- a/src/frame/utils/getFrameMetadata.test.ts +++ /dev/null @@ -1,375 +0,0 @@ -import { describe, expect, it } from 'vitest'; -import { getFrameMetadata } from './getFrameMetadata'; - -describe('getFrameMetadata', () => { - it('should return the correct metadata', () => { - expect( - getFrameMetadata({ - buttons: [ - { label: 'button1', action: 'post' }, - { label: 'button2', action: 'post_redirect' }, - { label: 'button3' }, - ], - image: { src: 'image', aspectRatio: '1.91:1' }, - postUrl: 'post_url', - }), - ).toEqual({ - 'fc:frame': 'vNext', - 'fc:frame:button:1': 'button1', - 'fc:frame:button:1:action': 'post', - 'fc:frame:button:2': 'button2', - 'fc:frame:button:2:action': 'post_redirect', - 'fc:frame:button:3': 'button3', - 'fc:frame:image': 'image', - 'fc:frame:image:aspect_ratio': '1.91:1', - 'fc:frame:post_url': 'post_url', - }); - }); - - it('should return the correct metadata with image src', () => { - expect( - getFrameMetadata({ - buttons: [{ label: 'button1' }], - image: { src: 'image' }, - postUrl: 'post_url', - }), - ).toEqual({ - 'fc:frame': 'vNext', - 'fc:frame:button:1': 'button1', - 'fc:frame:image': 'image', - 'fc:frame:post_url': 'post_url', - }); - }); - - it('should return the correct metadata with image aspect ratio', () => { - expect( - getFrameMetadata({ - buttons: [{ label: 'button1' }], - image: { src: 'image', aspectRatio: '1:1' }, - postUrl: 'post_url', - }), - ).toEqual({ - 'fc:frame': 'vNext', - 'fc:frame:button:1': 'button1', - 'fc:frame:image': 'image', - 'fc:frame:image:aspect_ratio': '1:1', - 'fc:frame:post_url': 'post_url', - }); - }); - - it('should return the correct metadata with one button', () => { - expect( - getFrameMetadata({ - buttons: [{ label: 'button1' }], - image: 'image', - postUrl: 'post_url', - }), - ).toEqual({ - 'fc:frame': 'vNext', - 'fc:frame:button:1': 'button1', - 'fc:frame:image': 'image', - 'fc:frame:post_url': 'post_url', - }); - }); - - it('should return the correct metadata with refresh_period', () => { - expect( - getFrameMetadata({ - buttons: [{ label: 'button1' }], - image: 'image', - postUrl: 'post_url', - refreshPeriod: 10, - }), - ).toEqual({ - 'fc:frame': 'vNext', - 'fc:frame:button:1': 'button1', - 'fc:frame:image': 'image', - 'fc:frame:post_url': 'post_url', - 'fc:frame:refresh_period': '10', - }); - }); - - it('should return the correct metadata with input', () => { - expect( - getFrameMetadata({ - buttons: [{ label: 'button1' }], - image: 'image', - input: { - text: 'Enter a message...', - }, - postUrl: 'post_url', - refreshPeriod: 10, - }), - ).toEqual({ - 'fc:frame': 'vNext', - 'fc:frame:button:1': 'button1', - 'fc:frame:image': 'image', - 'fc:frame:input:text': 'Enter a message...', - 'fc:frame:post_url': 'post_url', - 'fc:frame:refresh_period': '10', - }); - }); - - it('should return the correct metadata with action mint', () => { - expect( - getFrameMetadata({ - buttons: [ - { - label: 'Mint', - action: 'mint', - target: 'https://zizzamia.xyz/api/frame/mint', - }, - ], - image: 'https://zizzamia.xyz/park-1.png', - input: { - text: 'Tell me a boat story', - }, - postUrl: 'https://zizzamia.xyz/api/frame', - }), - ).toEqual({ - 'fc:frame': 'vNext', - 'fc:frame:button:1': 'Mint', - 'fc:frame:button:1:action': 'mint', - 'fc:frame:button:1:target': 'https://zizzamia.xyz/api/frame/mint', - 'fc:frame:image': 'https://zizzamia.xyz/park-1.png', - 'fc:frame:input:text': 'Tell me a boat story', - 'fc:frame:post_url': 'https://zizzamia.xyz/api/frame', - }); - }); - - it('should return the correct metadata with action link', () => { - expect( - getFrameMetadata({ - buttons: [ - { - label: 'Link', - action: 'link', - target: 'https://zizzamia.xyz/frame/link', - }, - ], - image: 'https://zizzamia.xyz/park-1.png', - input: { - text: 'Tell me a boat story', - }, - postUrl: 'https://zizzamia.xyz/api/frame', - }), - ).toEqual({ - 'fc:frame': 'vNext', - 'fc:frame:button:1': 'Link', - 'fc:frame:button:1:action': 'link', - 'fc:frame:button:1:target': 'https://zizzamia.xyz/frame/link', - 'fc:frame:image': 'https://zizzamia.xyz/park-1.png', - 'fc:frame:input:text': 'Tell me a boat story', - 'fc:frame:post_url': 'https://zizzamia.xyz/api/frame', - }); - }); - - it('should return the correct metadata with action tx', () => { - expect( - getFrameMetadata({ - buttons: [ - { - label: 'Transaction', - action: 'tx', - target: 'https://zizzamia.xyz/api/frame/tx', - }, - ], - image: 'https://zizzamia.xyz/park-1.png', - input: { - text: 'Tell me a boat story', - }, - postUrl: 'https://zizzamia.xyz/api/frame', - }), - ).toEqual({ - 'fc:frame': 'vNext', - 'fc:frame:button:1': 'Transaction', - 'fc:frame:button:1:action': 'tx', - 'fc:frame:button:1:target': 'https://zizzamia.xyz/api/frame/tx', - 'fc:frame:image': 'https://zizzamia.xyz/park-1.png', - 'fc:frame:input:text': 'Tell me a boat story', - 'fc:frame:post_url': 'https://zizzamia.xyz/api/frame', - }); - }); - - it('should return the correct metadata with action tx and post_url', () => { - expect( - getFrameMetadata({ - buttons: [ - { - label: 'Transaction', - action: 'tx', - target: 'https://zizzamia.xyz/api/frame/tx', - postUrl: 'https://zizzamia.xyz/api/frame/tx-post-url', - }, - ], - image: 'https://zizzamia.xyz/park-1.png', - postUrl: 'https://zizzamia.xyz/api/frame', - }), - ).toEqual({ - 'fc:frame': 'vNext', - 'fc:frame:button:1': 'Transaction', - 'fc:frame:button:1:action': 'tx', - 'fc:frame:button:1:target': 'https://zizzamia.xyz/api/frame/tx', - 'fc:frame:button:1:post_url': - 'https://zizzamia.xyz/api/frame/tx-post-url', - 'fc:frame:image': 'https://zizzamia.xyz/park-1.png', - 'fc:frame:post_url': 'https://zizzamia.xyz/api/frame', - }); - }); - - it('should return the correct metadata with action post and post_url', () => { - expect( - getFrameMetadata({ - buttons: [ - { - label: 'Button1', - action: 'post', - postUrl: 'https://zizzamia.xyz/api/frame/post-url?queryParam=XXX', - }, - { - label: 'Button2', - action: 'post', - postUrl: 'https://zizzamia.xyz/api/frame/post-url?queryParam=YYY', - }, - ], - image: 'https://zizzamia.xyz/park-1.png', - postUrl: 'https://zizzamia.xyz/api/frame', - }), - ).toEqual({ - 'fc:frame': 'vNext', - 'fc:frame:button:1': 'Button1', - 'fc:frame:button:1:action': 'post', - 'fc:frame:button:1:post_url': - 'https://zizzamia.xyz/api/frame/post-url?queryParam=XXX', - 'fc:frame:button:2': 'Button2', - 'fc:frame:button:2:action': 'post', - 'fc:frame:button:2:post_url': - 'https://zizzamia.xyz/api/frame/post-url?queryParam=YYY', - 'fc:frame:image': 'https://zizzamia.xyz/park-1.png', - 'fc:frame:post_url': 'https://zizzamia.xyz/api/frame', - }); - }); - - it('should not render action target if action is not link, mint or tx', () => { - expect( - getFrameMetadata({ - buttons: [{ label: 'button1', action: 'post' }], - image: 'image', - postUrl: 'post_url', - }), - ).toEqual({ - 'fc:frame': 'vNext', - 'fc:frame:button:1': 'button1', - 'fc:frame:button:1:action': 'post', - 'fc:frame:image': 'image', - 'fc:frame:post_url': 'post_url', - }); - }); - - it('should render the target metadata for post and post_redirect (including implicit POST)', () => { - expect( - getFrameMetadata({ - buttons: [ - { - label: 'button1', - action: 'post', - target: 'https://zizzamia.xyz/api/frame1', - }, - { - label: 'button2', - action: 'post_redirect', - target: 'https://zizzamia.xyz/api/frame2', - }, - { label: 'button3', target: 'https://zizzamia.xyz/api/frame3' }, - ], - image: 'image', - }), - ).toEqual({ - 'fc:frame': 'vNext', - 'fc:frame:button:1': 'button1', - 'fc:frame:button:1:action': 'post', - 'fc:frame:button:1:target': 'https://zizzamia.xyz/api/frame1', - 'fc:frame:button:2': 'button2', - 'fc:frame:button:2:action': 'post_redirect', - 'fc:frame:button:2:target': 'https://zizzamia.xyz/api/frame2', - 'fc:frame:button:3': 'button3', - 'fc:frame:button:3:target': 'https://zizzamia.xyz/api/frame3', - 'fc:frame:image': 'image', - }); - }); - - it('should return the correct metadata with state', () => { - expect( - getFrameMetadata({ - buttons: [{ label: 'button1' }], - image: 'image', - postUrl: 'post_url', - refreshPeriod: 10, - state: { - counter: 1, - }, - }), - ).toEqual({ - 'fc:frame': 'vNext', - 'fc:frame:button:1': 'button1', - 'fc:frame:image': 'image', - 'fc:frame:post_url': 'post_url', - 'fc:frame:refresh_period': '10', - 'fc:frame:state': '%7B%22counter%22%3A1%7D', - }); - }); - - it('should return the correct metadata with state when Cross Site Scripting occur', () => { - expect( - getFrameMetadata({ - buttons: [{ label: 'button1' }], - image: 'image', - postUrl: 'post_url', - refreshPeriod: 10, - state: { - counter: 1, - xss: '', - }, - }), - ).toEqual({ - 'fc:frame': 'vNext', - 'fc:frame:button:1': 'button1', - 'fc:frame:image': 'image', - 'fc:frame:post_url': 'post_url', - 'fc:frame:refresh_period': '10', - 'fc:frame:state': - '%7B%22counter%22%3A1%2C%22xss%22%3A%22%3Cscript%3Ealert(%5C%22XSS%5C%22)%3C%2Fscript%3E%22%7D', - }); - }); - - describe('when using isOpenFrame true', () => { - it('should return the correct metadata', () => { - expect( - getFrameMetadata({ - accepts: { 'protocol-identifier': '1.0.0' }, - buttons: [ - { label: 'button1', action: 'post' }, - { label: 'button2', action: 'post_redirect' }, - { label: 'button3' }, - ], - image: { src: 'image', aspectRatio: '1.91:1' }, - isOpenFrame: true, - postUrl: 'post_url', - }), - ).toEqual({ - 'fc:frame': 'vNext', - 'fc:frame:button:1': 'button1', - 'fc:frame:button:1:action': 'post', - 'fc:frame:button:2': 'button2', - 'fc:frame:button:2:action': 'post_redirect', - 'fc:frame:button:3': 'button3', - 'fc:frame:image': 'image', - 'fc:frame:image:aspect_ratio': '1.91:1', - 'fc:frame:post_url': 'post_url', - 'of:version': 'vNext', - 'of:accepts:protocol-identifier': '1.0.0', - 'of:image': 'image', - }); - }); - }); -}); diff --git a/src/frame/utils/getFrameMetadata.ts b/src/frame/utils/getFrameMetadata.ts deleted file mode 100644 index b20e103370..0000000000 --- a/src/frame/utils/getFrameMetadata.ts +++ /dev/null @@ -1,63 +0,0 @@ -import type { FrameMetadataResponse, FrameMetadataType } from '../types'; -import { setFrameMetadataButtons } from './setFrameMetadataButtons'; - -/** - * This function generates the metadata for a Farcaster Frame. - */ -export const getFrameMetadata = ({ - accepts = {}, - buttons, - image, - input, - isOpenFrame = false, - postUrl, - post_url, - refreshPeriod, - refresh_period, - state, - // biome-ignore lint/complexity/noExcessiveCognitiveComplexity: TODO Refactor this component -}: FrameMetadataType): FrameMetadataResponse => { - const postUrlToUse = postUrl || post_url; - const refreshPeriodToUse = refreshPeriod || refresh_period; - - const metadata: Record = { - 'fc:frame': 'vNext', - }; - let imageSrc = ''; - if (typeof image === 'string') { - imageSrc = image; - } else { - imageSrc = image.src; - if (image.aspectRatio) { - metadata['fc:frame:image:aspect_ratio'] = image.aspectRatio; - } - } - metadata['fc:frame:image'] = imageSrc; - if (input) { - metadata['fc:frame:input:text'] = input.text; - } - if (buttons) { - setFrameMetadataButtons(metadata, buttons); - } - if (postUrlToUse) { - metadata['fc:frame:post_url'] = postUrlToUse; - } - if (refreshPeriodToUse) { - metadata['fc:frame:refresh_period'] = refreshPeriodToUse.toString(); - } - if (state) { - metadata['fc:frame:state'] = encodeURIComponent(JSON.stringify(state)); - } - if (isOpenFrame) { - metadata['of:version'] = 'vNext'; - if (accepts) { - /* biome-ignore lint: code needs to be refactored */ - Object.keys(accepts).forEach((protocolIdentifier) => { - metadata[`of:accepts:${protocolIdentifier}`] = - accepts[protocolIdentifier]; - }); - } - metadata['of:image'] = imageSrc; - } - return metadata; -}; diff --git a/src/frame/utils/getMockFrameRequest.ts b/src/frame/utils/getMockFrameRequest.ts deleted file mode 100644 index c27c55109b..0000000000 --- a/src/frame/utils/getMockFrameRequest.ts +++ /dev/null @@ -1,51 +0,0 @@ -import type { - FrameRequest, - MockFrameRequest, - MockFrameRequestOptions, -} from '../types'; - -/** - * Modify a standard frame request to include simulated values (e.g., indicate the viewer - * follows the cast author) for development/debugging purposes. - * @param request A standard frame request. - * @param options An object containing values we will pretend are real for the purposes of debugging. - * @returns - */ -function getMockFrameRequest( - request: FrameRequest, - options?: MockFrameRequestOptions, -): MockFrameRequest { - return { - ...request, - mockFrameData: { - address: null, - button: request.untrustedData.buttonIndex, - following: !!options?.following, - input: request.untrustedData.inputText, - interactor: { - fid: options?.interactor?.fid || 0, - custody_address: - options?.interactor?.custody_address || '0xnotarealaddress', - verified_accounts: options?.interactor?.verified_accounts || [], - verified_addresses: { - eth_addresses: null, - sol_addresses: null, - }, - }, - liked: !!options?.liked, - recasted: !!options?.recasted, - state: { - serialized: request.untrustedData.state || '', - }, - transaction: null, - valid: true, - raw: { - valid: true, - /* biome-ignore lint: code needs to be refactored */ - action: {} as any, - }, - }, - }; -} - -export { getMockFrameRequest }; diff --git a/src/frame/utils/setFrameHtmlButtons.test.ts b/src/frame/utils/setFrameHtmlButtons.test.ts deleted file mode 100644 index a726282ebe..0000000000 --- a/src/frame/utils/setFrameHtmlButtons.test.ts +++ /dev/null @@ -1,125 +0,0 @@ -import { describe, expect, it } from 'vitest'; -import { setFrameHtmlButtons } from './setFrameHtmlButtons'; - -describe('setFrameHtmlButtons', () => { - it('should return no button HTML', () => { - const testButtonsHtml = setFrameHtmlButtons(undefined); - - expect(testButtonsHtml).toEqual(''); - }); - - it('should return the correct HTML', () => { - const testButtonsHtml = setFrameHtmlButtons([ - { label: 'button1', action: 'post' }, - { label: 'button2', action: 'mint', target: 'https://example.com' }, - { label: 'button3', action: 'post_redirect' }, - { label: 'button4' }, - ]); - - expect(testButtonsHtml).toEqual( - ` \n` + - ` \n` + - ` \n` + - ` \n` + - ` \n` + - ` \n` + - ` \n` + - ` \n`, - ); - }); - - it('should return the correct HTML for button with action mint and target', () => { - const testButtonsHtml = setFrameHtmlButtons([ - { - label: 'Mint', - action: 'mint', - target: 'https://zizzamia.xyz/api/frame/mint', - }, - ]); - - expect(testButtonsHtml).toEqual( - ` \n` + - ` \n` + - ` \n`, - ); - }); - - it('should return the correct HTML for button with action tx and target', () => { - const testButtonsHtml = setFrameHtmlButtons([ - { - label: 'Tx', - action: 'tx', - target: 'https://zizzamia.xyz/api/frame/tx', - }, - ]); - - expect(testButtonsHtml).toEqual( - ` \n` + - ` \n` + - ` \n`, - ); - }); - - it('should return the correct metadata for button with action post and post_url', () => { - const testButtonsHtml = setFrameHtmlButtons([ - { - label: 'Button1', - action: 'post', - postUrl: 'https://zizzamia.xyz/api/frame/post_url', - }, - ]); - - expect(testButtonsHtml).toEqual( - ` \n` + - ` \n` + - ` \n`, - ); - }); - - it('should return the correct metadata for buttons with action tx and custom targets', () => { - const testButtonsHtml = setFrameHtmlButtons([ - { - label: 'Button1', - action: 'tx', - target: 'https://zizzamia.xyz/api/frame/tx?queryParam=XXX', - }, - { - label: 'Button2', - action: 'tx', - target: 'https://zizzamia.xyz/api/frame/tx?queryParam=YYY', - }, - ]); - - expect(testButtonsHtml).toEqual( - ` \n` + - ` \n` + - ` \n` + - ` \n` + - ` \n` + - ` \n`, - ); - }); - - it('should return the correct metadata for buttons with action post and custom post_urls', () => { - const testButtonsHtml = setFrameHtmlButtons([ - { - label: 'Button1', - action: 'post', - postUrl: 'https://zizzamia.xyz/api/frame/post-url?queryParam=XXX', - }, - { - label: 'Button2', - action: 'post', - postUrl: 'https://zizzamia.xyz/api/frame/post-url?queryParam=YYY', - }, - ]); - expect(testButtonsHtml).toEqual( - ` \n` + - ` \n` + - ` \n` + - ` \n` + - ` \n` + - ` \n`, - ); - }); -}); diff --git a/src/frame/utils/setFrameHtmlButtons.ts b/src/frame/utils/setFrameHtmlButtons.ts deleted file mode 100644 index 69317d9b50..0000000000 --- a/src/frame/utils/setFrameHtmlButtons.ts +++ /dev/null @@ -1,35 +0,0 @@ -import type { FrameMetadataType } from '../types'; - -export function setFrameHtmlButtons(buttons: FrameMetadataType['buttons']) { - if (!buttons) { - return ''; - } - - return buttons - .map((button, index) => { - let buttonHtml = ` \n`; - if (button.action) { - buttonHtml += ` \n`; - } - if (button.target) { - buttonHtml += ` \n`; - } - if ( - button.action && - (button.action === 'tx' || button.action === 'post') && - button.postUrl - ) { - buttonHtml += ` \n`; - } - return buttonHtml; - }) - .join(''); -} diff --git a/src/frame/utils/setFrameMetadataButtons.test.ts b/src/frame/utils/setFrameMetadataButtons.test.ts deleted file mode 100644 index a77ac62b47..0000000000 --- a/src/frame/utils/setFrameMetadataButtons.test.ts +++ /dev/null @@ -1,126 +0,0 @@ -import { describe, expect, it } from 'vitest'; -import { setFrameMetadataButtons } from './setFrameMetadataButtons'; - -describe('setFrameMetadataButtons', () => { - it('should return no button metadata', () => { - const testMetadata = { - 'fc:frame': 'vNext', - }; - setFrameMetadataButtons(testMetadata, undefined); - - expect(testMetadata).toEqual({ - 'fc:frame': 'vNext', - }); - }); - - it('should return the correct metadata', () => { - const testMetadata = { - 'fc:frame': 'vNext', - }; - setFrameMetadataButtons(testMetadata, [ - { label: 'button1', action: 'post' }, - { label: 'button2', action: 'post_redirect' }, - { label: 'button3' }, - ]); - - expect(testMetadata).toEqual({ - 'fc:frame': 'vNext', - 'fc:frame:button:1': 'button1', - 'fc:frame:button:1:action': 'post', - 'fc:frame:button:2': 'button2', - 'fc:frame:button:2:action': 'post_redirect', - 'fc:frame:button:3': 'button3', - }); - }); - - it('should return the correct metadata for button with action tx and target', () => { - const testMetadata = { 'fc:frame': 'vNext' }; - setFrameMetadataButtons(testMetadata, [ - { - label: 'Button1', - action: 'tx', - target: 'https://zizzamia.xyz/api/frame/tx', - }, - ]); - - expect(testMetadata).toEqual({ - 'fc:frame': 'vNext', - 'fc:frame:button:1': 'Button1', - 'fc:frame:button:1:action': 'tx', - 'fc:frame:button:1:target': 'https://zizzamia.xyz/api/frame/tx', - }); - }); - - it('should return the correct metadata for button with action post and post_url', () => { - const testMetadata = { 'fc:frame': 'vNext' }; - setFrameMetadataButtons(testMetadata, [ - { - label: 'Button1', - action: 'post', - postUrl: 'https://zizzamia.xyz/api/frame/post_url', - }, - ]); - - expect(testMetadata).toEqual({ - 'fc:frame': 'vNext', - 'fc:frame:button:1': 'Button1', - 'fc:frame:button:1:action': 'post', - 'fc:frame:button:1:post_url': 'https://zizzamia.xyz/api/frame/post_url', - }); - }); - - it('should return the correct metadata for buttons with action tx and custom targets', () => { - const testMetadata = { 'fc:frame': 'vNext' }; - setFrameMetadataButtons(testMetadata, [ - { - label: 'Button1', - action: 'tx', - target: 'https://zizzamia.xyz/api/frame/tx?queryParam=XXX', - }, - { - label: 'Button2', - action: 'tx', - target: 'https://zizzamia.xyz/api/frame/tx?queryParam=YYY', - }, - ]); - - expect(testMetadata).toEqual({ - 'fc:frame': 'vNext', - 'fc:frame:button:1': 'Button1', - 'fc:frame:button:1:action': 'tx', - 'fc:frame:button:1:target': - 'https://zizzamia.xyz/api/frame/tx?queryParam=XXX', - 'fc:frame:button:2': 'Button2', - 'fc:frame:button:2:action': 'tx', - 'fc:frame:button:2:target': - 'https://zizzamia.xyz/api/frame/tx?queryParam=YYY', - }); - }); - - it('should return the correct metadata for buttons with action post and custom post_urls', () => { - const testMetadata = { 'fc:frame': 'vNext' }; - setFrameMetadataButtons(testMetadata, [ - { - label: 'Button1', - action: 'post', - postUrl: 'https://zizzamia.xyz/api/frame/post-url?queryParam=XXX', - }, - { - label: 'Button2', - action: 'post', - postUrl: 'https://zizzamia.xyz/api/frame/post-url?queryParam=YYY', - }, - ]); - expect(testMetadata).toEqual({ - 'fc:frame': 'vNext', - 'fc:frame:button:1': 'Button1', - 'fc:frame:button:1:action': 'post', - 'fc:frame:button:1:post_url': - 'https://zizzamia.xyz/api/frame/post-url?queryParam=XXX', - 'fc:frame:button:2': 'Button2', - 'fc:frame:button:2:action': 'post', - 'fc:frame:button:2:post_url': - 'https://zizzamia.xyz/api/frame/post-url?queryParam=YYY', - }); - }); -}); diff --git a/src/frame/utils/setFrameMetadataButtons.ts b/src/frame/utils/setFrameMetadataButtons.ts deleted file mode 100644 index d5a375931b..0000000000 --- a/src/frame/utils/setFrameMetadataButtons.ts +++ /dev/null @@ -1,27 +0,0 @@ -import type { FrameMetadataType } from '../types'; - -export function setFrameMetadataButtons( - metadata: Record, - buttons: FrameMetadataType['buttons'], -) { - if (!buttons) { - return; - } - - buttons.forEach((button, index) => { - metadata[`fc:frame:button:${index + 1}`] = button.label; - if (button.action) { - metadata[`fc:frame:button:${index + 1}:action`] = button.action; - } - if (button.target) { - metadata[`fc:frame:button:${index + 1}:target`] = button.target; - } - if ( - button.action && - (button.action === 'tx' || button.action === 'post') && - button.postUrl - ) { - metadata[`fc:frame:button:${index + 1}:post_url`] = button.postUrl; - } - }); -} diff --git a/src/network/neynar/FetchError.ts b/src/network/neynar/FetchError.ts deleted file mode 100644 index 3a3af7f9e4..0000000000 --- a/src/network/neynar/FetchError.ts +++ /dev/null @@ -1,6 +0,0 @@ -export class FetchError extends Error { - constructor(message: string) { - super(message); - this.name = 'FetchError'; - } -} diff --git a/src/network/neynar/convertToNeynarResponseModel.test.ts b/src/network/neynar/convertToNeynarResponseModel.test.ts deleted file mode 100644 index 426c63eaf2..0000000000 --- a/src/network/neynar/convertToNeynarResponseModel.test.ts +++ /dev/null @@ -1,66 +0,0 @@ -import { describe, expect, it } from 'vitest'; -import { convertToNeynarResponseModel } from './convertToNeynarResponseModel'; - -describe('convertToNeynarResponseModel', () => { - it('should return undefined when no data is provided', () => { - const result = convertToNeynarResponseModel(undefined); - expect(result).toBeUndefined(); - }); - - it('should convert data correctly when provided', () => { - const mockData = { - valid: true, - action: { - address: '0x123', - tapped_button: { index: 1 }, - interactor: { - viewer_context: { - following: true, - }, - fid: 123, - custody_address: '0x456', - verifications: ['0x789'], - verified_addresses: { - eth_addresses: ['0xethAddress'], - sol_addresses: ['0xsolAddress'], - }, - }, - input: { text: 'test input' }, - cast: { - viewer_context: { - liked: true, - recasted: false, - }, - }, - state: { serialized: 'test serialized state' }, - transaction: 'test transaction data', - }, - }; - - const result = convertToNeynarResponseModel(mockData); - - expect(result).toEqual({ - address: '0x123', - button: 1, - following: true, - input: 'test input', - interactor: { - fid: 123, - custody_address: '0x456', - verified_accounts: ['0x789'], - verified_addresses: { - eth_addresses: ['0xethAddress'], - sol_addresses: ['0xsolAddress'], - }, - }, - liked: true, - raw: mockData, - recasted: false, - state: { - serialized: 'test serialized state', - }, - transaction: 'test transaction data', - valid: true, - }); - }); -}); diff --git a/src/network/neynar/convertToNeynarResponseModel.ts b/src/network/neynar/convertToNeynarResponseModel.ts deleted file mode 100644 index 4047857b74..0000000000 --- a/src/network/neynar/convertToNeynarResponseModel.ts +++ /dev/null @@ -1,47 +0,0 @@ -import type { FrameValidationData } from '../../frame/types'; -import type { NeynarFrameValidationInternalModel } from './types'; - -export function convertToNeynarResponseModel( - /* biome-ignore lint: code needs to be deprecated */ - data: any, -): FrameValidationData | undefined { - if (!data) { - return; - } - - /** - * Note: This is not a type-safe conversion, however, balancing that risk with an additional import - * to include a library like AJV which can accomplish that. Alternatively, we could write conversions - * for each type, but that seemed overkill. - */ - const neynarResponse = data as NeynarFrameValidationInternalModel; - - // Shorten paths - const action = neynarResponse.action; - const cast = action?.cast; - const interactor = action?.interactor; - - return { - address: action?.address || null, - button: action?.tapped_button?.index, - following: action?.interactor?.viewer_context?.following, - input: action?.input?.text, - interactor: { - fid: interactor?.fid, - custody_address: interactor?.custody_address, - verified_accounts: interactor?.verifications, - verified_addresses: { - eth_addresses: interactor?.verified_addresses?.eth_addresses, - sol_addresses: interactor?.verified_addresses?.sol_addresses, - }, - }, - liked: cast?.viewer_context?.liked, - raw: neynarResponse, - recasted: cast?.viewer_context?.recasted, - state: { - serialized: action?.state?.serialized || '', - }, - transaction: action?.transaction || null, - valid: neynarResponse.valid, - }; -} diff --git a/src/network/neynar/convertToNeynarUserModel.test.ts b/src/network/neynar/convertToNeynarUserModel.test.ts deleted file mode 100644 index 927b488aef..0000000000 --- a/src/network/neynar/convertToNeynarUserModel.test.ts +++ /dev/null @@ -1,57 +0,0 @@ -import { describe, expect, it } from 'vitest'; -import { convertToNeynarUserModel } from './convertToNeynarUserModel'; - -describe('convertToNeynarUserModel', () => { - it('should covert the model correctly', async () => { - const resp = convertToNeynarUserModel({ - fid: 1234, - custody_address: '0x00123', - username: 'coolUsername', - display_name: 'cool name', - pfp_url: 'pfp_url', - profile: { - bio: { - text: 'text', - }, - }, - follower_count: 42, - verifications: ['0x00123'], - }); - - expect(resp?.fid).toEqual(1234); - expect(resp?.custody_address).toEqual('0x00123'); - expect(resp?.username).toEqual('coolUsername'); - expect(resp?.display_name).toEqual('cool name'); - expect(resp?.pfp_url).toEqual('pfp_url'); - expect(resp?.profile).toEqual({ - bio: { - text: 'text', - }, - }); - expect(resp?.follower_count).toEqual(42); - expect(resp?.verifications).toEqual(['0x00123']); - }); - - it('should return undefined when data is empty', async () => { - const resp = convertToNeynarUserModel(undefined); - expect(resp).toEqual(undefined); - }); - - it('should return fid 0 when fid empty', async () => { - const resp = convertToNeynarUserModel({ - fid: undefined, - custody_address: '0x00123', - username: 'coolUsername', - display_name: 'cool name', - pfp_url: 'pfp_url', - profile: { - bio: { - text: 'text', - }, - }, - follower_count: 42, - verifications: ['0x00123'], - }); - expect(resp?.fid).toEqual(0); - }); -}); diff --git a/src/network/neynar/convertToNeynarUserModel.ts b/src/network/neynar/convertToNeynarUserModel.ts deleted file mode 100644 index e4c949cd0b..0000000000 --- a/src/network/neynar/convertToNeynarUserModel.ts +++ /dev/null @@ -1,24 +0,0 @@ -import type { NeynarUserModel } from './types'; - -export function convertToNeynarUserModel( - /* biome-ignore lint: code needs to be deprecated */ - data: any, -): NeynarUserModel | undefined { - if (!data) { - return; - } - return { - fid: data.fid ?? 0, - custody_address: data.custody_address ?? '', - username: data.username ?? '', - display_name: data.display_name ?? '', - pfp_url: data.pfp_url ?? '', - profile: { - bio: { - text: data.profile?.bio?.text ?? '', - }, - }, - follower_count: data.follower_count ?? 0, - verifications: Array.isArray(data.verifications) ? data.verifications : [], - }; -} diff --git a/src/network/neynar/convertToNeynarUserResponseModel.test.ts b/src/network/neynar/convertToNeynarUserResponseModel.test.ts deleted file mode 100644 index bdcdeb68ce..0000000000 --- a/src/network/neynar/convertToNeynarUserResponseModel.test.ts +++ /dev/null @@ -1,32 +0,0 @@ -import { describe, expect, it } from 'vitest'; -import { convertToNeynarUserResponseModel } from './convertToNeynarUserResponseModel'; - -describe('convertToNeynarUserResponseModel', () => { - const mockData = { - fid: 1234, - custody_address: '0x00123', - username: 'coolUsername', - display_name: 'cool name', - pfp_url: 'pfp_url', - profile: { - bio: { - text: 'text', - }, - }, - follower_count: 42, - verifications: ['0x00123'], - }; - - it('should covert the model correctly', async () => { - const mockUsersData = { - users: [mockData], - }; - const resp = convertToNeynarUserResponseModel(mockUsersData); - expect(resp).toEqual(mockUsersData); - }); - - it('should return undefined when data is empty', async () => { - const resp = convertToNeynarUserResponseModel(undefined); - expect(resp).toEqual(undefined); - }); -}); diff --git a/src/network/neynar/convertToNeynarUserResponseModel.ts b/src/network/neynar/convertToNeynarUserResponseModel.ts deleted file mode 100644 index 66fb63f08b..0000000000 --- a/src/network/neynar/convertToNeynarUserResponseModel.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { convertToNeynarUserModel } from './convertToNeynarUserModel'; -import type { NeynarBulkUserLookupModel } from './types'; - -export function convertToNeynarUserResponseModel( - /* biome-ignore lint: code needs to be deprecated */ - data: any, -): NeynarBulkUserLookupModel | undefined { - if (!data) { - return; - } - const response: NeynarBulkUserLookupModel = { - users: [], - }; - for (const user of data.users) { - const formattedUser = convertToNeynarUserModel(user); - if (formattedUser) { - response.users.push(formattedUser); - } - } - return response; -} diff --git a/src/network/neynar/getCustodyAddressForFidNeynar.test.ts b/src/network/neynar/getCustodyAddressForFidNeynar.test.ts deleted file mode 100644 index 90ab9cad46..0000000000 --- a/src/network/neynar/getCustodyAddressForFidNeynar.test.ts +++ /dev/null @@ -1,67 +0,0 @@ -import { type Mock, beforeEach, describe, expect, it, vi } from 'vitest'; -import { getCustodyAddressForFidNeynar } from './getCustodyAddressForFidNeynar'; - -describe('getCustodyAddressForFidNeynar', () => { - const fetchMock = vi.fn(); - let status = 200; - - beforeEach(() => { - status = 200; - global.fetch = vi.fn(() => - Promise.resolve({ - status, - json: fetchMock, - }), - ) as Mock; - }); - - it('should return mocked response correctly', async () => { - const mockedResponse = { - users: [ - { - custody_address: '0x00123', - }, - ], - }; - fetchMock.mockResolvedValue(mockedResponse); - const resp = await getCustodyAddressForFidNeynar(42); - expect(resp).toEqual('0x00123'); - }); - - it('throw an error on a bad result', async () => { - const mockedResponse = { - badResult: [ - { - custody_address: '0x00123', - }, - ], - }; - fetchMock.mockResolvedValue(mockedResponse); - expect.assertions(1); - await expect(getCustodyAddressForFidNeynar(42)).rejects.toEqual( - new Error('No custody address found for FID 42'), - ); - }); - - it('throw an error on missing user', async () => { - const mockedResponse = { - users: [], - }; - fetchMock.mockResolvedValue(mockedResponse); - expect.assertions(1); - await expect(getCustodyAddressForFidNeynar(42)).rejects.toEqual( - new Error('No custody address found for FID 42'), - ); - }); - - it('throw an error on missing custodyAddress', async () => { - const mockedResponse = { - users: [{}], - }; - fetchMock.mockResolvedValue(mockedResponse); - expect.assertions(1); - await expect(getCustodyAddressForFidNeynar(42)).rejects.toEqual( - new Error('No custody address found for FID 42'), - ); - }); -}); diff --git a/src/network/neynar/getCustodyAddressForFidNeynar.ts b/src/network/neynar/getCustodyAddressForFidNeynar.ts deleted file mode 100644 index 91644271b9..0000000000 --- a/src/network/neynar/getCustodyAddressForFidNeynar.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { getDataFromNeynar } from './getDataFromNeynar'; -import { NEYNAR_DEFAULT_API_KEY } from './neynarFrameValidation'; - -export async function getCustodyAddressForFidNeynar( - fid: number, - apiKey: string = NEYNAR_DEFAULT_API_KEY, -): Promise { - const url = `https://api.neynar.com/v2/farcaster/user/bulk?fids=${fid}`; - const responseBody = await getDataFromNeynar(url, apiKey); - if (!responseBody?.users?.[0]?.custody_address) { - throw new Error(`No custody address found for FID ${fid}`); - } - return responseBody.users[0].custody_address; -} diff --git a/src/network/neynar/getDataFromNeynar.test.ts b/src/network/neynar/getDataFromNeynar.test.ts deleted file mode 100644 index 85a356d99e..0000000000 --- a/src/network/neynar/getDataFromNeynar.test.ts +++ /dev/null @@ -1,34 +0,0 @@ -import { type Mock, beforeEach, describe, expect, it, vi } from 'vitest'; -import { version } from '../../version'; -import { getDataFromNeynar } from './getDataFromNeynar'; -import { NEYNAR_DEFAULT_API_KEY } from './neynarFrameValidation'; - -describe('getDataFromNeynar', () => { - const fetchMock = vi.fn(); - let status = 200; - - beforeEach(() => { - status = 200; - global.fetch = vi.fn(() => - Promise.resolve({ - status, - json: fetchMock, - }), - ) as Mock; - }); - - it('should call fetch correctly', async () => { - const apiUrlMock = 'https://api.neynar.com/v2/amazing-api'; - await getDataFromNeynar(apiUrlMock); - expect(global.fetch).toHaveBeenCalledWith(apiUrlMock, { - method: 'GET', - url: apiUrlMock, - headers: { - accept: 'application/json', - api_key: NEYNAR_DEFAULT_API_KEY, - 'content-type': 'application/json', - onchainkit_version: version, - }, - }); - }); -}); diff --git a/src/network/neynar/getDataFromNeynar.ts b/src/network/neynar/getDataFromNeynar.ts deleted file mode 100644 index 8bc765789e..0000000000 --- a/src/network/neynar/getDataFromNeynar.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { version } from '../../version'; -import { FetchError } from './FetchError'; -import { NEYNAR_DEFAULT_API_KEY } from './neynarFrameValidation'; - -export async function getDataFromNeynar( - url: string, - apiKey: string = NEYNAR_DEFAULT_API_KEY, -) { - const options = { - method: 'GET', - url: url, - headers: { - accept: 'application/json', - api_key: apiKey, - 'content-type': 'application/json', - onchainkit_version: version, - }, - }; - const resp = await fetch(options.url, options); - if (resp.status !== 200) { - throw new FetchError( - `non-200 status returned from neynar : ${resp.status}`, - ); - } - return await resp.json(); -} diff --git a/src/network/neynar/getVerifiedAddressesForFidNeynar.test.ts b/src/network/neynar/getVerifiedAddressesForFidNeynar.test.ts deleted file mode 100644 index c1dac10f86..0000000000 --- a/src/network/neynar/getVerifiedAddressesForFidNeynar.test.ts +++ /dev/null @@ -1,67 +0,0 @@ -import { type Mock, beforeEach, describe, expect, it, vi } from 'vitest'; -import { getVerifiedAddressesForFidNeynar } from './getVerifiedAddressesForFidNeynar'; - -describe('getVerifiedAddressesForFidNeynar', () => { - const fetchMock = vi.fn(); - let status = 200; - - beforeEach(() => { - status = 200; - global.fetch = vi.fn(() => - Promise.resolve({ - status, - json: fetchMock, - }), - ) as Mock; - }); - - it('should return mocked response correctly', async () => { - const mockedResponse = { - users: [ - { - verifications: ['0x00123'], - }, - ], - }; - fetchMock.mockResolvedValue(mockedResponse); - const resp = await getVerifiedAddressesForFidNeynar(42); - expect(resp[0]).toEqual('0x00123'); - }); - - it('throw an error on a bad result', async () => { - const mockedResponse = { - badResult: [ - { - verifications: ['0x00123'], - }, - ], - }; - fetchMock.mockResolvedValue(mockedResponse); - expect.assertions(1); - await expect(getVerifiedAddressesForFidNeynar(42)).rejects.toEqual( - new Error('No verified addresses found for FID 42'), - ); - }); - - it('throw an error on missing user', async () => { - const mockedResponse = { - users: [], - }; - fetchMock.mockResolvedValue(mockedResponse); - expect.assertions(1); - await expect(getVerifiedAddressesForFidNeynar(42)).rejects.toEqual( - new Error('No verified addresses found for FID 42'), - ); - }); - - it('throw an error on missing verifications', async () => { - const mockedResponse = { - users: [{}], - }; - fetchMock.mockResolvedValue(mockedResponse); - expect.assertions(1); - await expect(getVerifiedAddressesForFidNeynar(42)).rejects.toEqual( - new Error('No verified addresses found for FID 42'), - ); - }); -}); diff --git a/src/network/neynar/getVerifiedAddressesForFidNeynar.ts b/src/network/neynar/getVerifiedAddressesForFidNeynar.ts deleted file mode 100644 index 3b2eb12e4b..0000000000 --- a/src/network/neynar/getVerifiedAddressesForFidNeynar.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { getDataFromNeynar } from './getDataFromNeynar'; -import { NEYNAR_DEFAULT_API_KEY } from './neynarFrameValidation'; - -export async function getVerifiedAddressesForFidNeynar( - fid: number, - apiKey: string = NEYNAR_DEFAULT_API_KEY, -): Promise { - const url = `https://api.neynar.com/v2/farcaster/user/bulk?fids=${fid}`; - const responseBody = await getDataFromNeynar(url, apiKey); - if (!responseBody?.users?.[0]?.verifications?.length) { - throw new Error(`No verified addresses found for FID ${fid}`); - } - return responseBody.users[0].verifications; -} diff --git a/src/network/neynar/neynarBulkUserLookup.test.ts b/src/network/neynar/neynarBulkUserLookup.test.ts deleted file mode 100644 index 59474289ed..0000000000 --- a/src/network/neynar/neynarBulkUserLookup.test.ts +++ /dev/null @@ -1,33 +0,0 @@ -import { type Mock, beforeEach, describe, expect, it, vi } from 'vitest'; -import { FetchError } from './FetchError'; -import { neynarBulkUserLookup } from './neynarBulkUserLookup'; - -describe('neynar user functions', () => { - const fetchMock = vi.fn(); - let status = 200; - - beforeEach(() => { - status = 200; - global.fetch = vi.fn(() => - Promise.resolve({ - status, - json: fetchMock, - }), - ) as Mock; - }); - - it('should return fetch response correctly', async () => { - fetchMock.mockResolvedValue({ - users: [{ fid: 1 }], - }); - - const resp = await neynarBulkUserLookup([1]); - expect(resp?.users[0]?.fid).toEqual(1); - }); - - it('fails on a non-200', async () => { - status = 401; - const resp = neynarBulkUserLookup([1]); - await expect(resp).rejects.toThrow(FetchError); - }); -}); diff --git a/src/network/neynar/neynarBulkUserLookup.ts b/src/network/neynar/neynarBulkUserLookup.ts deleted file mode 100644 index 766b07f989..0000000000 --- a/src/network/neynar/neynarBulkUserLookup.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { convertToNeynarUserResponseModel } from './convertToNeynarUserResponseModel'; -import { getDataFromNeynar } from './getDataFromNeynar'; -import type { NeynarBulkUserLookupModel } from './types'; - -export const NEYNAR_DEFAULT_API_KEY = 'NEYNAR_ONCHAIN_KIT'; - -export async function neynarBulkUserLookup( - farcasterIDs: number[], - apiKey: string = NEYNAR_DEFAULT_API_KEY, -): Promise { - const url = `https://api.neynar.com/v2/farcaster/user/bulk?fids=${farcasterIDs.join(',')}`; - const responseBody = await getDataFromNeynar(url, apiKey); - return convertToNeynarUserResponseModel(responseBody); -} diff --git a/src/network/neynar/neynarFrameValidation.test.ts b/src/network/neynar/neynarFrameValidation.test.ts deleted file mode 100644 index c9b2815674..0000000000 --- a/src/network/neynar/neynarFrameValidation.test.ts +++ /dev/null @@ -1,74 +0,0 @@ -import { type Mock, beforeEach, describe, expect, it, vi } from 'vitest'; -import { FetchError } from './FetchError'; -import { neynarFrameValidation } from './neynarFrameValidation'; - -describe('neynar frame functions', () => { - const fetchMock = vi.fn(); - let status = 200; - - beforeEach(() => { - status = 200; - global.fetch = vi.fn(() => - Promise.resolve({ - status, - json: fetchMock, - }), - ) as Mock; - }); - - it('should return fetch response correctly', async () => { - const mockedResponse = { - valid: true, - action: { - tapped_button: { - index: 1, - }, - cast: { - viewer_context: { - recasted: true, - }, - }, - input: { - text: 'test', - }, - interactor: { - fid: 1234, - verifications: ['0x00123'], - viewer_context: { - following: true, - followed_by: true, - }, - }, - }, - }; - fetchMock.mockResolvedValue(mockedResponse); - const message = '0x00'; - const resp = await neynarFrameValidation(message); - - expect(resp?.valid).toEqual(true); - expect(resp?.recasted).toEqual( - mockedResponse.action.cast.viewer_context.recasted, - ); - expect(resp?.button).toEqual(mockedResponse.action.tapped_button.index); - expect(resp?.input).toEqual(mockedResponse.action.input.text); - expect(resp?.interactor?.fid).toEqual(mockedResponse.action.interactor.fid); - expect(resp?.interactor?.verified_accounts).toEqual( - mockedResponse.action.interactor.verifications, - ); - expect(resp?.following).toEqual( - mockedResponse.action.interactor.viewer_context.following, - ); - }); - - it('fails on a non-200', async () => { - status = 401; - const resp = neynarFrameValidation('0x00'); - await expect(resp).rejects.toThrow(FetchError); - }); - - it('should return undefined on empty response', async () => { - fetchMock.mockResolvedValue(undefined); - const resp = await neynarFrameValidation('0x00'); - expect(resp).toBeUndefined(); - }); -}); diff --git a/src/network/neynar/neynarFrameValidation.ts b/src/network/neynar/neynarFrameValidation.ts deleted file mode 100644 index e2b8f60324..0000000000 --- a/src/network/neynar/neynarFrameValidation.ts +++ /dev/null @@ -1,21 +0,0 @@ -import type { FrameValidationData } from '../../frame/types'; -import { convertToNeynarResponseModel } from './convertToNeynarResponseModel'; -import { postDataToNeynar } from './postDataToNeynar'; - -export const NEYNAR_DEFAULT_API_KEY = 'NEYNAR_ONCHAIN_KIT'; - -export async function neynarFrameValidation( - messageBytes: string, - apiKey: string = NEYNAR_DEFAULT_API_KEY, - castReactionContext = true, - followContext = true, -): Promise { - const url = 'https://api.neynar.com/v2/farcaster/frame/validate'; - - const responseBody = await postDataToNeynar(url, apiKey, { - message_bytes_in_hex: messageBytes, - cast_reaction_context: castReactionContext, // Returns if the user has liked/recasted - follow_context: followContext, // Returns if the user is Following - }); - return convertToNeynarResponseModel(responseBody); -} diff --git a/src/network/neynar/postDataToNeynar.test.ts b/src/network/neynar/postDataToNeynar.test.ts deleted file mode 100644 index 88671208cb..0000000000 --- a/src/network/neynar/postDataToNeynar.test.ts +++ /dev/null @@ -1,36 +0,0 @@ -import { type Mock, beforeEach, describe, expect, it, vi } from 'vitest'; -import { version } from '../../version'; -import { NEYNAR_DEFAULT_API_KEY } from './neynarFrameValidation'; -import { postDataToNeynar } from './postDataToNeynar'; - -describe('postDataToNeynar', () => { - const fetchMock = vi.fn(); - let status = 200; - - beforeEach(() => { - status = 200; - global.fetch = vi.fn(() => - Promise.resolve({ - status, - json: fetchMock, - }), - ) as Mock; - }); - - it('should call fetch correctly', async () => { - const mockUrl = 'https://api.neynar.com/v2/amazing-api'; - const mockData = {}; - await postDataToNeynar(mockUrl, NEYNAR_DEFAULT_API_KEY, mockData); - expect(global.fetch).toHaveBeenCalledWith(mockUrl, { - method: 'POST', - url: mockUrl, - headers: { - accept: 'application/json', - api_key: NEYNAR_DEFAULT_API_KEY, - 'content-type': 'application/json', - onchainkit_version: version, - }, - body: JSON.stringify(mockData), - }); - }); -}); diff --git a/src/network/neynar/postDataToNeynar.ts b/src/network/neynar/postDataToNeynar.ts deleted file mode 100644 index 3a148bac91..0000000000 --- a/src/network/neynar/postDataToNeynar.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { version } from '../../version'; -import { FetchError } from './FetchError'; - -/* biome-ignore lint: code needs to be deprecated */ -export async function postDataToNeynar(url: string, apiKey: string, data: any) { - const options = { - method: 'POST', - url: url, - headers: { - accept: 'application/json', - api_key: apiKey, - 'content-type': 'application/json', - onchainkit_version: version, - }, - body: JSON.stringify(data), - }; - const resp = await fetch(options.url, options); - if (resp.status !== 200) { - throw new FetchError( - `non-200 status returned from neynar : ${resp.status}`, - ); - } - return await resp.json(); -} diff --git a/src/network/neynar/types.ts b/src/network/neynar/types.ts deleted file mode 100644 index e5a32614ec..0000000000 --- a/src/network/neynar/types.ts +++ /dev/null @@ -1,167 +0,0 @@ -export interface NeynarUserModel { - fid: number; - custody_address: string; - username: string; - display_name: string; - pfp_url: string; - profile: { - bio: { - text: string; - }; - }; - follower_count: number; - verifications: string[]; -} - -export interface NeynarBulkUserLookupModel { - users: NeynarUserModel[]; -} - -/** - * Raw Response from Neynar - */ -export interface NeynarFrameValidationInternalModel { - valid: boolean; - action: { - address?: string; - object: string; - interactor: { - object: string; - fid: number; - custody_address: string; - username: null | string; - display_name: string; - pfp_url: string; - profile: { - bio: { - text: string; - /* biome-ignore lint: code needs to be deprecated */ - mentioned_profiles?: any[]; - }; - }; - follower_count: number; - following_count: number; - /* biome-ignore lint: code needs to be deprecated */ - verifications: any[]; - verified_addresses: { - eth_addresses: string[] | null; - sol_addresses: string[] | null; - }; - active_status: string; - viewer_context: { - following: boolean; - followed_by: boolean; - }; - }; - tapped_button: { - index: number; - }; - input: { - text: string; - }; - url: string; - state: { - serialized: string; - }; - cast: { - object: string; - hash: string; - thread_hash: string; - parent_hash: null | string; - parent_url: string; - root_parent_url: string; - parent_author: { - fid: null | number; - }; - author: { - object: string; - fid: number; - custody_address: string; - username: string; - display_name: string; - pfp_url: string; - profile: { - bio: { - text: string; - /* biome-ignore lint: code needs to be deprecated */ - mentioned_profiles?: any[]; - }; - }; - follower_count: number; - following_count: number; - /* biome-ignore lint: code needs to be deprecated */ - verifications: any[]; - active_status: string; - viewer_context: { - liked: boolean; - recasted: boolean; - }; - }; - text: string; - timestamp: string; - embeds: { - url: string; - }[]; - frames: { - version: string; - title: string; - image: string; - image_aspect_ratio: string; - buttons: { - index: number; - title: string; - action_type: string; - }[]; - input: { - text?: string; - }; - state: { - serialized?: string; - }; - post_url: string; - frames_url: string; - }[]; - reactions: { - likes: { - fid: number; - fname: string; - }[]; - recasts: { - fid: number; - fname: string; - }[]; - }; - replies: { - count: number; - }; - mentioned_profiles: { - object: string; - fid: number; - custody_address: string; - username: string; - display_name: string; - pfp_url: string; - profile: { - bio: { - text: string; - /* biome-ignore lint: code needs to be deprecated */ - mentioned_profiles?: any[]; - }; - }; - follower_count: number; - following_count: number; - /* biome-ignore lint: code needs to be deprecated */ - verifications: any[]; - active_status: string; - }[]; - viewer_context: { - liked: boolean; - recasted: boolean; - }; - }; - timestamp: string; - transaction?: { - hash: string; - }; - }; -} diff --git a/src/xmtp/getXmtpFrameMessage.test.ts b/src/xmtp/getXmtpFrameMessage.test.ts deleted file mode 100644 index 80e6043d08..0000000000 --- a/src/xmtp/getXmtpFrameMessage.test.ts +++ /dev/null @@ -1,103 +0,0 @@ -import type { XmtpOpenFramesRequest } from '@xmtp/frames-validator'; -import { getXmtpFrameMessage } from './getXmtpFrameMessage'; - -describe('getXmtpFrameMessage', () => { - const validFrameMessage = { - clientProtocol: 'xmtp@2024-02-09', - untrustedData: { - buttonIndex: 1, - opaqueConversationIdentifier: - '8Yo5DAFCnhCA0DYjsnqMr5L2iRaXLyhUe+gSGDiEvVw=', - walletAddress: '0x3AB6F6426210b5F52B780a0508ff6543d80cF317', - url: 'https://fc-polls-five.vercel.app/polls/01032f47-e976-42ee-9e3d-3aac1324f4b8', - timestamp: 1708107878809, - unixTimestamp: 1708107878809, - }, - trustedData: { - messageBytes: - 'CkQKQgpAsecClMzkylY10ZxuNAa1QpwGJ2ilL99DEhnEkw1TUP06PhdbPERyfnhV/Edaxf785f5X5xtU5njJbECW8LH1jBKwAgqUAQpMCK2Wp5nbMRpDCkEERqraouBXv1AuTA7CI248VIFQnUwD4/U3aYObQkzJKWip8GK/jIIBih4/U0EaMLqT4IwsfXQqSqMMW97GhALV3BJEEkIKQFzWJg8ivoz96M2zxZMyqS2dlacbYyIr5CJbpNHded56T4BlHxIIT7ONYOfIxUhGIB5QHjmRO7ONZH98YddqZHkSlgEKTAivlqeZ2zEaQwpBBB9ZXGPtR76HcdNPQOLZJgQVLNzJobjnKxpoOUDfvO7gYRXEB7jXO2pI03t1/tNdx2vvNJPM1GMKvYeOB2NPFuISRgpECkCs8/ba8awuLdwhqTNYEmwEDf+IKEs4/GNcFATDmNvsjSDpBYnJHBCYzLsP+nq4AExzv/nT0ib8jAv/R/w2GvtHEAEahAEKS2h0dHBzOi8vZmMtcG9sbHMtZml2ZS52ZXJjZWwuYXBwL3BvbGxzLzAxMDMyZjQ3LWU5NzYtNDJlZS05ZTNkLTNhYWMxMzI0ZjRiOBABGJmjp5nbMSIsOFlvNURBRkNuaENBMERZanNucU1yNUwyaVJhWEx5aFVlK2dTR0RpRXZWdz0=', - }, - } as XmtpOpenFramesRequest; - - const invalidFrameMessage = { - clientProtocol: 'xmtp@2024-02-09', - untrustedData: { - buttonIndex: 1, - opaqueConversationIdentifier: - '8Yo5DAFCnhCA0DYjsnqMr5L2iRaXLyhUe+gSGDiEvVw=', - walletAddress: 'foo', - url: 'https://fc-polls-five.vercel.app/polls/01032f47-e976-42ee-9e3d-3aac1324f4b8', - timestamp: 1708107878809, - unixTimestamp: 1708107878809, - }, - trustedData: { - messageBytes: - 'CkQKQgpAsecClMzkylY10ZxuNAa1QpwGJ2ilL99DEhnEkw1TUP06PhdbPERyfnhV/Edaxf785f5X5xtU5njJbECW8LH1jBKwAgqUAQpMCK2Wp5nbMRpDCkEERqraouBXv1AuTA7CI248VIFQnUwD4/U3aYObQkzJKWip8GK/jIIBih4/U0EaMLqT4IwsfXQqSqMMW97GhALV3BJEEkIKQFzWJg8ivoz96M2zxZMyqS2dlacbYyIr5CJbpNHded56T4BlHxIIT7ONYOfIxUhGIB5QHjmRO7ONZH98YddqZHkSlgEKTAivlqeZ2zEaQwpBBB9ZXGPtR76HcdNPQOLZJgQVLNzJobjnKxpoOUDfvO7gYRXEB7jXO2pI03t1/tNdx2vvNJPM1GMKvYeOB2NPFuISRgpECkCs8/ba8awuLdwhqTNYEmwEDf+IKEs4/GNcFATDmNvsjSDpBYnJHBCYzLsP+nq4AExzv/nT0ib8jAv/R/w2GvtHEAEahAEKS2h0dHBzOi8vZmMtcG9sbHMtZml2ZS52ZXJjZWwuYXBwL3BvbGxzLzAxMDMyZjQ3LWU5NzYtNDJlZS05ZTNkLTNhYWMxMzI0ZjRiOBABGJmjp5nbMSIsOFlvNURBRkNuaENBMERZanNucU1yNUwyaVJhWEx5aFVlK2dTR0RpRXZWdz0=', - }, - } as XmtpOpenFramesRequest; - - it('should correctly handle valid frames posts', async () => { - const result = await getXmtpFrameMessage(validFrameMessage); - expect(result.isValid).toBe(true); - - const { buttonIndex, opaqueConversationIdentifier, url, walletAddress } = - validFrameMessage.untrustedData; - - expect(result.message).toEqual( - expect.objectContaining({ - verifiedWalletAddress: walletAddress, - identifier: walletAddress, - frameUrl: url, - buttonIndex, - opaqueConversationIdentifier, - }), - ); - }); - - it('should fail validation on invalid posts', async () => { - const invalidResult = await getXmtpFrameMessage(invalidFrameMessage); - expect(invalidResult.isValid).toBe(false); - expect(invalidResult.message).toBeUndefined(); - }); - - it('should fail validation on missing clientProtocol', async () => { - const invalidResult = await getXmtpFrameMessage({ - untrustedData: { - buttonIndex: 1, - opaqueConversationIdentifier: - '8Yo5DAFCnhCA0DYjsnqMr5L2iRaXLyhUe+gSGDiEvVw=', - walletAddress: 'foo', - url: 'https://fc-polls-five.vercel.app/polls/01032f47-e976-42ee-9e3d-3aac1324f4b8', - timestamp: 1708107878809, - unixTimestamp: 1708107878809, - }, - trustedData: { - messageBytes: - 'CkQKQgpAsecClMzkylY10ZxuNAa1QpwGJ2ilL99DEhnEkw1TUP06PhdbPERyfnhV/Edaxf785f5X5xtU5njJbECW8LH1jBKwAgqUAQpMCK2Wp5nbMRpDCkEERqraouBXv1AuTA7CI248VIFQnUwD4/U3aYObQkzJKWip8GK/jIIBih4/U0EaMLqT4IwsfXQqSqMMW97GhALV3BJEEkIKQFzWJg8ivoz96M2zxZMyqS2dlacbYyIr5CJbpNHded56T4BlHxIIT7ONYOfIxUhGIB5QHjmRO7ONZH98YddqZHkSlgEKTAivlqeZ2zEaQwpBBB9ZXGPtR76HcdNPQOLZJgQVLNzJobjnKxpoOUDfvO7gYRXEB7jXO2pI03t1/tNdx2vvNJPM1GMKvYeOB2NPFuISRgpECkCs8/ba8awuLdwhqTNYEmwEDf+IKEs4/GNcFATDmNvsjSDpBYnJHBCYzLsP+nq4AExzv/nT0ib8jAv/R/w2GvtHEAEahAEKS2h0dHBzOi8vZmMtcG9sbHMtZml2ZS52ZXJjZWwuYXBwL3BvbGxzLzAxMDMyZjQ3LWU5NzYtNDJlZS05ZTNkLTNhYWMxMzI0ZjRiOBABGJmjp5nbMSIsOFlvNURBRkNuaENBMERZanNucU1yNUwyaVJhWEx5aFVlK2dTR0RpRXZWdz0=', - }, - } as XmtpOpenFramesRequest); - expect(invalidResult.isValid).toBe(false); - expect(invalidResult.message).toBeUndefined(); - }); - - it('should fail validation on invalid clientProtocol', async () => { - const invalidResult = await getXmtpFrameMessage({ - clientProtocol: 'potato@2024-02-09', - untrustedData: { - buttonIndex: 1, - opaqueConversationIdentifier: - '8Yo5DAFCnhCA0DYjsnqMr5L2iRaXLyhUe+gSGDiEvVw=', - walletAddress: 'foo', - url: 'https://fc-polls-five.vercel.app/polls/01032f47-e976-42ee-9e3d-3aac1324f4b8', - timestamp: 1708107878809, - unixTimestamp: 1708107878809, - }, - trustedData: { - messageBytes: - 'CkQKQgpAsecClMzkylY10ZxuNAa1QpwGJ2ilL99DEhnEkw1TUP06PhdbPERyfnhV/Edaxf785f5X5xtU5njJbECW8LH1jBKwAgqUAQpMCK2Wp5nbMRpDCkEERqraouBXv1AuTA7CI248VIFQnUwD4/U3aYObQkzJKWip8GK/jIIBih4/U0EaMLqT4IwsfXQqSqMMW97GhALV3BJEEkIKQFzWJg8ivoz96M2zxZMyqS2dlacbYyIr5CJbpNHded56T4BlHxIIT7ONYOfIxUhGIB5QHjmRO7ONZH98YddqZHkSlgEKTAivlqeZ2zEaQwpBBB9ZXGPtR76HcdNPQOLZJgQVLNzJobjnKxpoOUDfvO7gYRXEB7jXO2pI03t1/tNdx2vvNJPM1GMKvYeOB2NPFuISRgpECkCs8/ba8awuLdwhqTNYEmwEDf+IKEs4/GNcFATDmNvsjSDpBYnJHBCYzLsP+nq4AExzv/nT0ib8jAv/R/w2GvtHEAEahAEKS2h0dHBzOi8vZmMtcG9sbHMtZml2ZS52ZXJjZWwuYXBwL3BvbGxzLzAxMDMyZjQ3LWU5NzYtNDJlZS05ZTNkLTNhYWMxMzI0ZjRiOBABGJmjp5nbMSIsOFlvNURBRkNuaENBMERZanNucU1yNUwyaVJhWEx5aFVlK2dTR0RpRXZWdz0=', - }, - } as unknown as XmtpOpenFramesRequest); - expect(invalidResult.isValid).toBe(false); - expect(invalidResult.message).toBeUndefined(); - }); -}); diff --git a/src/xmtp/getXmtpFrameMessage.ts b/src/xmtp/getXmtpFrameMessage.ts deleted file mode 100644 index bb613bc8a8..0000000000 --- a/src/xmtp/getXmtpFrameMessage.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { validateFramesPost } from '@xmtp/frames-validator'; -import type { XmtpOpenFramesRequest } from '@xmtp/frames-validator'; - -export async function getXmtpFrameMessage(payload: XmtpOpenFramesRequest) { - if (!payload.clientProtocol || !payload.clientProtocol.startsWith('xmtp@')) { - return { - isValid: false, - message: undefined, - }; - } - try { - const { actionBody, verifiedWalletAddress } = - await validateFramesPost(payload); - return { - isValid: true, - message: { - ...actionBody, - timestamp: actionBody.timestamp.toNumber(), - verifiedWalletAddress, - identifier: verifiedWalletAddress, - }, - }; - } catch (_e) { - return { - isValid: false, - message: undefined, - }; - } -} diff --git a/src/xmtp/index.ts b/src/xmtp/index.ts deleted file mode 100644 index 316a58e555..0000000000 --- a/src/xmtp/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export { getXmtpFrameMessage } from './getXmtpFrameMessage'; -export { isXmtpFrameRequest } from './isXmtpFrameRequest'; diff --git a/src/xmtp/isXmtpFrameRequest.test.ts b/src/xmtp/isXmtpFrameRequest.test.ts deleted file mode 100644 index e5c973f011..0000000000 --- a/src/xmtp/isXmtpFrameRequest.test.ts +++ /dev/null @@ -1,40 +0,0 @@ -import { isXmtpFrameRequest } from './isXmtpFrameRequest'; - -describe('isXmtpFrameRequest', () => { - it('should return true for requests with the correct client protocol', () => { - expect( - isXmtpFrameRequest({ - clientProtocol: 'xmtp@2024-02-09', - untrustedData: {}, - trustedData: {}, - }), - ).toBe(true); - }); - - it('should return false for farcaster requests', () => { - expect( - isXmtpFrameRequest({ - untrustedData: {}, - trustedData: {}, - }), - ).toBe(false); - }); - - it('should return false for other client protocols', () => { - expect( - isXmtpFrameRequest({ - clientProtocol: 'lens@v1', - untrustedData: {}, - trustedData: {}, - }), - ); - }); - - it('should return false for malformed requests', () => { - expect( - isXmtpFrameRequest({ - clientProtocol: 'xmtp@2024-02-09', - }), - ).toBe(false); - }); -}); diff --git a/src/xmtp/isXmtpFrameRequest.ts b/src/xmtp/isXmtpFrameRequest.ts deleted file mode 100644 index 14aad71544..0000000000 --- a/src/xmtp/isXmtpFrameRequest.ts +++ /dev/null @@ -1,13 +0,0 @@ -import type { XmtpOpenFramesRequest } from '@xmtp/frames-validator'; - -export function isXmtpFrameRequest( - /* biome-ignore lint: code needs to be refactored */ - payload: any, -): payload is XmtpOpenFramesRequest { - return ( - !!payload && - !!payload.untrustedData && - !!payload.trustedData && - !!payload.clientProtocol?.startsWith('xmtp@') - ); -} diff --git a/src/xmtp/types.ts b/src/xmtp/types.ts deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/vitest.config.ts b/vitest.config.ts index 06e7870493..c977128442 100644 --- a/vitest.config.ts +++ b/vitest.config.ts @@ -10,7 +10,6 @@ export default defineConfig({ '**.js', '**.ts', '**/**.stories.**', - '**/getMockFrameRequest.ts', '**/index.ts', '**/mocks.tsx', '**/*Svg.tsx', @@ -18,7 +17,6 @@ export default defineConfig({ '.storybook/**', '.yarn/**', 'esm/**', - 'framegear/**', 'node_modules/**', 'onchainkit/esm/**', 'playground/**', @@ -36,7 +34,6 @@ export default defineConfig({ environment: 'jsdom', exclude: [ '**/node_modules/**', - 'framegear/**', 'playground/**', 'site/**', 'create-onchain/**', diff --git a/yarn.lock b/yarn.lock index 85c5c41a0b..5d087da507 100644 --- a/yarn.lock +++ b/yarn.lock @@ -12,13 +12,6 @@ __metadata: languageName: node linkType: hard -"@adraffy/ens-normalize@npm:1.10.0": - version: 1.10.0 - resolution: "@adraffy/ens-normalize@npm:1.10.0" - checksum: 78ae700847a2516d5a0ae12c4e23d09392a40c67e73b137eb7189f51afb1601c8d18784aeda2ed288a278997824dc924d1f398852c21d41ee2c4c564f2fb4d26 - languageName: node - linkType: hard - "@adraffy/ens-normalize@npm:1.11.0": version: 1.11.0 resolution: "@adraffy/ens-normalize@npm:1.11.0" @@ -2156,7 +2149,6 @@ __metadata: "@types/react-dom": "npm:^18" "@vitest/coverage-v8": "npm:^2.0.5" "@vitest/ui": "npm:^2.0.5" - "@xmtp/frames-validator": "npm:^0.6.0" autoprefixer: "npm:^10.4.19" clsx: "npm:^2.1.1" concurrently: "npm:^8.0.0" @@ -2178,7 +2170,6 @@ __metadata: wagmi: "npm:^2.12.24" peerDependencies: "@types/react": ^18 - "@xmtp/frames-validator": ^0.6.0 react: ^18 react-dom: ^18 languageName: unknown @@ -2576,13 +2567,6 @@ __metadata: languageName: node linkType: hard -"@fastify/busboy@npm:^2.0.0": - version: 2.1.1 - resolution: "@fastify/busboy@npm:2.1.1" - checksum: 6f8027a8cba7f8f7b736718b013f5a38c0476eea67034c94a0d3c375e2b114366ad4419e6a6fa7ffc2ef9c6d3e0435d76dd584a7a1cbac23962fda7650b579e3 - languageName: node - linkType: hard - "@graphql-typed-document-node/core@npm:^3.2.0": version: 3.2.0 resolution: "@graphql-typed-document-node/core@npm:3.2.0" @@ -3332,16 +3316,7 @@ __metadata: languageName: node linkType: hard -"@noble/curves@npm:1.4.0": - version: 1.4.0 - resolution: "@noble/curves@npm:1.4.0" - dependencies: - "@noble/hashes": "npm:1.4.0" - checksum: 31fbc370df91bcc5a920ca3f2ce69c8cf26dc94775a36124ed8a5a3faf0453badafd2ee4337061ffea1b43c623a90ee8b286a5a81604aaf9563bdad7ff795d18 - languageName: node - linkType: hard - -"@noble/curves@npm:1.4.2, @noble/curves@npm:^1.3.0, @noble/curves@npm:~1.4.0": +"@noble/curves@npm:1.4.2, @noble/curves@npm:~1.4.0": version: 1.4.2 resolution: "@noble/curves@npm:1.4.2" dependencies: @@ -3581,79 +3556,6 @@ __metadata: languageName: node linkType: hard -"@protobufjs/aspromise@npm:^1.1.1, @protobufjs/aspromise@npm:^1.1.2": - version: 1.1.2 - resolution: "@protobufjs/aspromise@npm:1.1.2" - checksum: a83343a468ff5b5ec6bff36fd788a64c839e48a07ff9f4f813564f58caf44d011cd6504ed2147bf34835bd7a7dd2107052af755961c6b098fd8902b4f6500d0f - languageName: node - linkType: hard - -"@protobufjs/base64@npm:^1.1.2": - version: 1.1.2 - resolution: "@protobufjs/base64@npm:1.1.2" - checksum: eec925e681081af190b8ee231f9bad3101e189abbc182ff279da6b531e7dbd2a56f1f306f37a80b1be9e00aa2d271690d08dcc5f326f71c9eed8546675c8caf6 - languageName: node - linkType: hard - -"@protobufjs/codegen@npm:^2.0.4": - version: 2.0.4 - resolution: "@protobufjs/codegen@npm:2.0.4" - checksum: 26ae337c5659e41f091606d16465bbcc1df1f37cc1ed462438b1f67be0c1e28dfb2ca9f294f39100c52161aef82edf758c95d6d75650a1ddf31f7ddee1440b43 - languageName: node - linkType: hard - -"@protobufjs/eventemitter@npm:^1.1.0": - version: 1.1.0 - resolution: "@protobufjs/eventemitter@npm:1.1.0" - checksum: 1eb0a75180e5206d1033e4138212a8c7089a3d418c6dfa5a6ce42e593a4ae2e5892c4ef7421f38092badba4040ea6a45f0928869989411001d8c1018ea9a6e70 - languageName: node - linkType: hard - -"@protobufjs/fetch@npm:^1.1.0": - version: 1.1.0 - resolution: "@protobufjs/fetch@npm:1.1.0" - dependencies: - "@protobufjs/aspromise": "npm:^1.1.1" - "@protobufjs/inquire": "npm:^1.1.0" - checksum: cda6a3dc2d50a182c5865b160f72077aac197046600091dbb005dd0a66db9cce3c5eaed6d470ac8ed49d7bcbeef6ee5f0bc288db5ff9a70cbd003e5909065233 - languageName: node - linkType: hard - -"@protobufjs/float@npm:^1.0.2": - version: 1.0.2 - resolution: "@protobufjs/float@npm:1.0.2" - checksum: 18f2bdede76ffcf0170708af15c9c9db6259b771e6b84c51b06df34a9c339dbbeec267d14ce0bddd20acc142b1d980d983d31434398df7f98eb0c94a0eb79069 - languageName: node - linkType: hard - -"@protobufjs/inquire@npm:^1.1.0": - version: 1.1.0 - resolution: "@protobufjs/inquire@npm:1.1.0" - checksum: 64372482efcba1fb4d166a2664a6395fa978b557803857c9c03500e0ac1013eb4b1aacc9ed851dd5fc22f81583670b4f4431bae186f3373fedcfde863ef5921a - languageName: node - linkType: hard - -"@protobufjs/path@npm:^1.1.2": - version: 1.1.2 - resolution: "@protobufjs/path@npm:1.1.2" - checksum: cece0a938e7f5dfd2fa03f8c14f2f1cf8b0d6e13ac7326ff4c96ea311effd5fb7ae0bba754fbf505312af2e38500250c90e68506b97c02360a43793d88a0d8b4 - languageName: node - linkType: hard - -"@protobufjs/pool@npm:^1.1.0": - version: 1.1.0 - resolution: "@protobufjs/pool@npm:1.1.0" - checksum: eda2718b7f222ac6e6ad36f758a92ef90d26526026a19f4f17f668f45e0306a5bd734def3f48f51f8134ae0978b6262a5c517c08b115a551756d1a3aadfcf038 - languageName: node - linkType: hard - -"@protobufjs/utf8@npm:^1.1.0": - version: 1.1.0 - resolution: "@protobufjs/utf8@npm:1.1.0" - checksum: a3fe31fe3fa29aa3349e2e04ee13dc170cc6af7c23d92ad49e3eeaf79b9766264544d3da824dba93b7855bd6a2982fb40032ef40693da98a136d835752beb487 - languageName: node - linkType: hard - "@rollup/plugin-babel@npm:^6.0.4": version: 6.0.4 resolution: "@rollup/plugin-babel@npm:6.0.4" @@ -5373,7 +5275,7 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:*, @types/node@npm:>=13.7.0": +"@types/node@npm:*": version: 20.14.10 resolution: "@types/node@npm:20.14.10" dependencies: @@ -6039,30 +5941,6 @@ __metadata: languageName: node linkType: hard -"@xmtp/frames-validator@npm:^0.6.0": - version: 0.6.2 - resolution: "@xmtp/frames-validator@npm:0.6.2" - dependencies: - "@noble/curves": "npm:^1.3.0" - "@noble/hashes": "npm:^1.4.0" - "@xmtp/proto": "npm:3.61.1" - viem: "npm:^2.16.5" - checksum: 526ba9534002b048ec949b92bef45513d026c653714b0a006b0514bcc80b03a7548eeca29d71ee8fb8d9a9641955d247d2f42b7057c3a2c0755b68d7682047aa - languageName: node - linkType: hard - -"@xmtp/proto@npm:3.61.1": - version: 3.61.1 - resolution: "@xmtp/proto@npm:3.61.1" - dependencies: - long: "npm:^5.2.0" - protobufjs: "npm:^7.0.0" - rxjs: "npm:^7.8.0" - undici: "npm:^5.8.1" - checksum: 6cef4c0868ab4f0ee3c8670ae3a8bfb7576fa1304e66add1508251f9fa8a87c4e140296389f5789c97cb8ce8cda0c46eca7c4ea5a3a46e4b9e4f11ee5a882502 - languageName: node - linkType: hard - "@yarnpkg/fslib@npm:2.10.3": version: 2.10.3 resolution: "@yarnpkg/fslib@npm:2.10.3" @@ -6090,21 +5968,6 @@ __metadata: languageName: node linkType: hard -"abitype@npm:1.0.5": - version: 1.0.5 - resolution: "abitype@npm:1.0.5" - peerDependencies: - typescript: ">=5.0.4" - zod: ^3 >=3.22.0 - peerDependenciesMeta: - typescript: - optional: true - zod: - optional: true - checksum: dc954877fba19e2b7a70f1025807d69fa5aabec8bd58ce94e68d1a5ec1697fff3fe5214b4392508db7191762150f19a2396cf66ffb1d3ba8c1f37a89fd25e598 - languageName: node - linkType: hard - "abitype@npm:1.0.6": version: 1.0.6 resolution: "abitype@npm:1.0.6" @@ -10312,15 +10175,6 @@ __metadata: languageName: node linkType: hard -"isows@npm:1.0.4": - version: 1.0.4 - resolution: "isows@npm:1.0.4" - peerDependencies: - ws: "*" - checksum: 46f43b07edcf148acba735ddfc6ed985e1e124446043ea32b71023e67671e46619c8818eda8c34a9ac91cb37c475af12a3aeeee676a88a0aceb5d67a3082313f - languageName: node - linkType: hard - "isows@npm:1.0.6": version: 1.0.6 resolution: "isows@npm:1.0.6" @@ -11408,13 +11262,6 @@ __metadata: languageName: node linkType: hard -"long@npm:^5.0.0, long@npm:^5.2.0": - version: 5.2.3 - resolution: "long@npm:5.2.3" - checksum: 6a0da658f5ef683b90330b1af76f06790c623e148222da9d75b60e266bbf88f803232dd21464575681638894a84091616e7f89557aa087fd14116c0f4e0e43d9 - languageName: node - linkType: hard - "loose-envify@npm:^1.0.0, loose-envify@npm:^1.1.0, loose-envify@npm:^1.4.0": version: 1.4.0 resolution: "loose-envify@npm:1.4.0" @@ -13108,26 +12955,6 @@ __metadata: languageName: node linkType: hard -"protobufjs@npm:^7.0.0": - version: 7.3.2 - resolution: "protobufjs@npm:7.3.2" - dependencies: - "@protobufjs/aspromise": "npm:^1.1.2" - "@protobufjs/base64": "npm:^1.1.2" - "@protobufjs/codegen": "npm:^2.0.4" - "@protobufjs/eventemitter": "npm:^1.1.0" - "@protobufjs/fetch": "npm:^1.1.0" - "@protobufjs/float": "npm:^1.0.2" - "@protobufjs/inquire": "npm:^1.1.0" - "@protobufjs/path": "npm:^1.1.2" - "@protobufjs/pool": "npm:^1.1.0" - "@protobufjs/utf8": "npm:^1.1.0" - "@types/node": "npm:>=13.7.0" - long: "npm:^5.0.0" - checksum: b87e38fffc989793099010439a7ff45a0a57ef5b8f44b5209f06bfa5085ac96a365aa37eb3c79bd6954d6ef1b50fc69da37dae8ea2a31d90b7bc8fb2fa0e3955 - languageName: node - linkType: hard - "proxy-addr@npm:~2.0.7": version: 2.0.7 resolution: "proxy-addr@npm:2.0.7" @@ -13969,7 +13796,7 @@ __metadata: languageName: node linkType: hard -"rxjs@npm:^7.8.0, rxjs@npm:^7.8.1": +"rxjs@npm:^7.8.1": version: 7.8.1 resolution: "rxjs@npm:7.8.1" dependencies: @@ -15310,15 +15137,6 @@ __metadata: languageName: node linkType: hard -"undici@npm:^5.8.1": - version: 5.28.4 - resolution: "undici@npm:5.28.4" - dependencies: - "@fastify/busboy": "npm:^2.0.0" - checksum: 08d0f2596553aa0a54ca6e8e9c7f45aef7d042c60918564e3a142d449eda165a80196f6ef19ea2ef2e6446959e293095d8e40af1236f0d67223b06afac5ecad7 - languageName: node - linkType: hard - "unenv@npm:^1.9.0": version: 1.9.0 resolution: "unenv@npm:1.9.0" @@ -15699,27 +15517,6 @@ __metadata: languageName: node linkType: hard -"viem@npm:^2.16.5": - version: 2.17.3 - resolution: "viem@npm:2.17.3" - dependencies: - "@adraffy/ens-normalize": "npm:1.10.0" - "@noble/curves": "npm:1.4.0" - "@noble/hashes": "npm:1.4.0" - "@scure/bip32": "npm:1.4.0" - "@scure/bip39": "npm:1.3.0" - abitype: "npm:1.0.5" - isows: "npm:1.0.4" - ws: "npm:8.17.1" - peerDependencies: - typescript: ">=5.0.4" - peerDependenciesMeta: - typescript: - optional: true - checksum: 0881f4cb04353c3f801777f4d225228fe5dac62359d603ff932cd0645c3d623710381cd85a3b659657311a55dd87a12f646854b4ac6dfdac7493bfcdec2185a2 - languageName: node - linkType: hard - "vite-node@npm:2.0.5": version: 2.0.5 resolution: "vite-node@npm:2.0.5" @@ -16183,9 +15980,9 @@ __metadata: languageName: node linkType: hard -"ws@npm:8.17.1, ws@npm:~8.17.1": - version: 8.17.1 - resolution: "ws@npm:8.17.1" +"ws@npm:8.18.0, ws@npm:^8.17.0, ws@npm:^8.2.3": + version: 8.18.0 + resolution: "ws@npm:8.18.0" peerDependencies: bufferutil: ^4.0.1 utf-8-validate: ">=5.0.2" @@ -16194,37 +15991,37 @@ __metadata: optional: true utf-8-validate: optional: true - checksum: f4a49064afae4500be772abdc2211c8518f39e1c959640457dcee15d4488628620625c783902a52af2dd02f68558da2868fd06e6fd0e67ebcd09e6881b1b5bfe + checksum: 25eb33aff17edcb90721ed6b0eb250976328533ad3cd1a28a274bd263682e7296a6591ff1436d6cbc50fa67463158b062f9d1122013b361cec99a05f84680e06 languageName: node linkType: hard -"ws@npm:8.18.0, ws@npm:^8.17.0, ws@npm:^8.2.3": - version: 8.18.0 - resolution: "ws@npm:8.18.0" +"ws@npm:^7, ws@npm:^7.5.1, ws@npm:^7.5.5": + version: 7.5.10 + resolution: "ws@npm:7.5.10" peerDependencies: bufferutil: ^4.0.1 - utf-8-validate: ">=5.0.2" + utf-8-validate: ^5.0.2 peerDependenciesMeta: bufferutil: optional: true utf-8-validate: optional: true - checksum: 25eb33aff17edcb90721ed6b0eb250976328533ad3cd1a28a274bd263682e7296a6591ff1436d6cbc50fa67463158b062f9d1122013b361cec99a05f84680e06 + checksum: bd7d5f4aaf04fae7960c23dcb6c6375d525e00f795dd20b9385902bd008c40a94d3db3ce97d878acc7573df852056ca546328b27b39f47609f80fb22a0a9b61d languageName: node linkType: hard -"ws@npm:^7, ws@npm:^7.5.1, ws@npm:^7.5.5": - version: 7.5.10 - resolution: "ws@npm:7.5.10" +"ws@npm:~8.17.1": + version: 8.17.1 + resolution: "ws@npm:8.17.1" peerDependencies: bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 + utf-8-validate: ">=5.0.2" peerDependenciesMeta: bufferutil: optional: true utf-8-validate: optional: true - checksum: bd7d5f4aaf04fae7960c23dcb6c6375d525e00f795dd20b9385902bd008c40a94d3db3ce97d878acc7573df852056ca546328b27b39f47609f80fb22a0a9b61d + checksum: f4a49064afae4500be772abdc2211c8518f39e1c959640457dcee15d4488628620625c783902a52af2dd02f68558da2868fd06e6fd0e67ebcd09e6881b1b5bfe languageName: node linkType: hard