├── .gitignore
├── BOUNTY.md
├── LICENSE
├── README.md
├── START.md
├── app
├── api
│ └── prs
│ │ └── route.ts
├── config.ts
├── layout.tsx
└── page.tsx
├── next-env.d.ts
├── package.json
├── prettier.config.js
├── public
├── devcall.png
├── fonts
│ └── Inter-Regular.ttf
├── picture.png
├── satori-1711026528508.png
├── satori-1711026552290.png
├── satori-1711026649962.png
├── satori-1711026667391.png
├── satori-1711026919993.png
├── satori-1711026938607.png
├── satori-1711026981417.png
├── satori-1711027044755.png
├── satori-1711027112185.png
├── satori-1711027170965.png
├── satori-1711027189291.png
├── satori-1711027205054.png
├── satori-1711027405224.png
├── satori-1711027818043.png
└── satori-1711027952606.png
├── tsconfig.json
└── yarn.lock
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | .DS_STORE
3 | .next/
--------------------------------------------------------------------------------
/BOUNTY.md:
--------------------------------------------------------------------------------
1 | # Open Frames Bounty
2 |
3 | Welcome to the Open Frames Bounty Program! 🚀 If you're passionate about interoperability and eager to make your Frame a part of the ever-growing Open Frames ecosystem, you're in the right place. By following the steps you will enhance your Frame with the necessary metadata for Open Frames compatibility, according to this [standard](https://github.com/open-frames/standard). Let's dive in!
4 |
5 | > 💸 **Open Frames Bounty Program**
6 | >
7 | > We're offering a $100 bounty for developers who achieve 3 goals:
8 | >
9 | > 1. Make your Frame interoperable with the Open Frames standard.
10 | > 2. Add your Frame to the `Example Frames` section in this repo via a PR.
11 | > 3. Send your frame via a DM to `hi.xmtp.eth` through one of the `Applications` section.
12 | >
13 | > Dive deeper into the details of the bounty by visiting [this link](https://github.com/open-frames/awesome-open-frames/blob/main/BOUNTY.md). After submitting your Frame, wait for the funds to be received in USDC Base. We will notify you via DM.
14 |
15 | ### Step 1: Modify the Metadata in Your Frame
16 |
17 | First, you need to add the specified metadata to your Frame. Based on the provided context, it looks like you're working with a TypeScript file in a project. Here's how you can add the metadata depending on your environment:
18 |
19 | **HTML**
20 |
21 | ```html
22 |
23 | ```
24 |
25 | **OnChainKit**
26 |
27 | ```jsx
28 | export const metadata: Metadata = {
29 | title: /*Your frame metadata*/,
30 | description: /*Your frame metadata*/,
31 | openGraph: {/*Your frame metadata*/},
32 | other: {
33 | ...frameMetadata,
34 | 'of:accepts:xmtp': 'vNext', // Ensure this line is added or updated
35 | },
36 | };
37 | ```
38 |
39 | _For comprehensive guidance on integrating Open Frames with OnChainKit, refer to the official [documentation](https://onchainkit.xyz/xmtp/introduction)._
40 |
41 | **FramesJS**
42 |
43 | ```jsx
44 | const handleRequest = frames(async (ctx) => {
45 | return {
46 | // ...
47 | accepts: [
48 | {
49 | id: 'farcaster',
50 | version: 'vNext',
51 | },
52 | {
53 | id: 'xmtp',
54 | version: 'vNext',
55 | },
56 | ],
57 | };
58 | });
59 | ```
60 |
61 | _For comprehensive guidance on integrating Open Frames with Framesjs, refer to the official [documentation](https://framesjs.org/reference/js/xmtp)._
62 |
63 | **Frog**
64 |
65 | Currently, Frog does not officially support Open Frames. However, a temporary solution can be found in this [discussion](https://github.com/wevm/frog/discussions/51) regarding making Frog compatible.
66 |
67 | _Go here learn more about the Open Frames [specification](https://github.com/open-frames/standard)._
68 |
69 | ### Step 2: Add Your Frame to the Compatible Frames Section
70 |
71 | 1. **Fork the [Awesome-Open-Frames Repo](https://github.com/open-frames/awesome-open-frames)**: Navigate to the GitHub page of the Awesome-Open-Frames repository and click the "Fork" button.
72 |
73 | 2. **Clone Your Fork**: Clone the forked repository to your local machine.
74 |
75 | 3. **Modify the README.md**: Add your Frame to the `Compatible Frames` section. Follow the formatting used by other entries in the list.
76 |
77 | 4. **Commit and Push Your Changes**: Commit the changes to your fork and push them.
78 |
79 | 5. **Create a Pull Request**: Navigate to the original Awesome-Open-Frames repository on GitHub. You should see an option to create a pull request based on the changes you pushed to your fork. Fill out the necessary details and submit the PR.
80 |
81 | ### Step 3: Send Your Frame via DM
82 |
83 | 1. **Access XMTP**: Go to the any of the apps listed in the [Compatible Applications](https://github.com/open-frames/awesome-open-frames?tab=readme-ov-file#compatible-messaging-apps)
84 |
85 | 2. **Connect Your Wallet**: Follow the prompts to connect your Ethereum wallet. Make sure you're using the wallet address that you want to be contacted on for the bounty.
86 |
87 | 3. **Send a DM**: Compose a new message to `hi.xmtp.eth`. In the message, include a link to your Frame and mention that you've added it to the Compatible Frames section as per the bounty requirements.
88 |
89 | ### Step 4: Wait for Contact
90 |
91 | After completing the above steps, our team will contact you through the provided wallet address and send the payment in USDC through XMTP.
92 |
93 | > ⚠️ To be eligible for the bounty the Frame must render without errors.
94 |
95 | Make sure you've followed all the guidelines and requirements specified in the bounty to ensure eligibility.
96 | Good luck!
97 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2024 Leonardo Zizzamia
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Awesome Open Frames
2 |
3 | Open Frames is an interoperable [standard](https://github.com/open-frames/standard) extending the original Frames specification to support a broader range of applications and protocols. Getting started with Open Frames is very easy. You need to go through 2 steps:
4 |
5 | 1. **Update your frame's metadata**: Ensure it aligns with Open Frames standards and specifies protocol.
6 | 2. **Verifying requests**: Familiarize yourself with your framework's documentation to validate and ensure compatibility.
7 |
8 | - For a detailed guide, check out the [start](https://github.com/open-frames/awesome-open-frames/blob/main/START.md) document.
9 | - For more information go to the official [specification](https://github.com/open-frames/standard).
10 |
11 | ### Example frames
12 |
13 | Several Frames have already adopted the Open Frames standard, showcasing the versatility and broad applicability of this specification. These include:
14 |
15 | > 💰 Integrate your frame and earn $100. Check out the [open bounty program](https://github.com/open-frames/awesome-open-frames/blob/main/BOUNTY.md)
16 |
17 | - [Farguessr Frame](https://farguessr.vercel.app) - Guess the distance between 2 countries - daily or random game.
18 | - [Openframedl Frame](https://openframedl.vercel.app) - Wordle in a frame - daily or random game.
19 | - [2048 Game Frame](https://2048frame.netlify.app) - Play 2048 game on any open frame compatible platform.
20 | - [Zora Magic Machine Frame](https://paragraph.xyz/@zora/zora-magic-machine/) - Zora newsletter
21 | - [Rock Paper Scissors Frame](https://xmtp-frame-rock-paper-scissors.vercel.app/) - Rock paper scissors game.
22 | - [SlideFrame](https://slideframe.replit.app/) - Easily share presentation slides in a frame.
23 | - [Slot Machine Frame](https://slot-machine-frame.vercel.app/) - Simple slot machine game.
24 |
25 | **open-source**
26 |
27 | - [Farguessr](https://github.com/cryptods8/farguessr): Guess the distance between 2 countries - daily or random game.
28 | - [Openframedl](https://github.com/cryptods8/openframedl): Wordle in a frame - daily or random game.
29 | - [2048 Game Frame](https://github.com/Vamsieth/2048-frame) : Play 2048 game on any open frame compatible platform.
30 | - [rock-paper-scissors](https://github.com/Unshut-Labs/xmtp-frame-rock-paper-scissors): Rock paper scissors game.
31 | - [Purchase Custom Tees in a Frame](https://github.com/Luna-Music/LunaVibesTees): Learn and Purchase Custom Tees in a Frame + Base checkout.
32 | - [Interactive Polls](https://github.com/xmtp-labs/fc-polls): Engage your audience with real-time polls.
33 | - [Peace for colors](https://github.com/rtomas/peace-frame-farcaster): Peace for colors artwork.
34 | - [farcaster-gallery](https://github.com/Nith567/far): Gallery farcaster.
35 | - [Red Envelope](https://devfolio.co/projects/red-envelope-fe1a):A fast, gamified, and socially engaging onchain token gifting experience using Frames on XMTP.
36 | - [tvl_data_in_timeswap](https://github.com/HrithikSampson/TVL_History): View the Total Value locked in Timeswap Liquidity Pool.
37 | - [Mint-A-Cast](https://github.com/jamiechicago312/frameworks-ri-ja): Mint any cast into an NFT with this frame.
38 | - [meme-coin-snipe-frame](https://github.com/golryang/meme-coin-snipe-frame-frontend): Meme coin snipe on frame.
39 | - [Meme generator farcaster](https://github.com/ajaybutti/meme-farcaster-generator): Memes generate within farcaster frames
40 | - [Roll-the-dice](https://github.com/LeoFranklin015/XMTP-frames) : Rolling a dice app, where we roll the dice and if the number matches , we win or we lose
41 | - [clickcaster](https://github.com/IgorShadurin/warpcast-traffic): Traffic exchange platform between Frames.
42 | - [Uniframe](https://github.com/Mr94t3z/uniframe): Collection View Frame for Koda.
43 | - [Gitcoin grants explorer](https://github.com/koisose/frame): See gitcoin grants straight on frame
44 | - [adventure-farcaster-frame](https://github.com/Vamsieth/farcast) : Choose your own adventure in a Farcaster Frame.
45 | - [The Serendipity Engine](https://github.com/Envoy-VC/the-serendipity-engine): Profile discovery based on 6 Degrees of Separation.
46 | - [AI-Trivia](https://github.com/Tech-axis/ai-trivia) : Open Frame that allows users to play the 20 Questions game which are AI generated based
47 | - [Greeting Frame](https://github.com/Larhra/gm-frame): Greeting frame, Takes in any @username as input and returns Gm, @username!!!.
48 | - [Zurf-XMTP-OpenFrame](https://github.com/robertcedwards/Zurf-XMTP-OpenFrame/): Simple example of a XMTP compatible frame on Github Pages.
49 | - [Personal Link in Frame](https://github.com/robertcedwards/farcaster-frame-bio): Make your own Frame with your Bio info, includes a landing page
50 | - [Framer](https://github.com/alekcangp/framer): The Farcaster Frame to building the Frames.
51 | - [Onthis Frame](https://github.com/Mr94t3z/onthis-frame): The Farcaster Frame for Creating and Swapping Shortcuts.
52 | - [Slot Machine Frame](https://github.com/sonicsmith/slot-machine-frame): Simple slot machine game built using frames.js.
53 | ---
54 |
55 | ### Messaging apps
56 |
57 | Open Frames is designed to be universally compatible, with support from a wide range of applications. Notably, it is compatible with:
58 |
59 | - [Converse](https://getconverse.app/): Own your conversations.
60 | - [Converse Web](https://app.converse.xyz/): Own you conversations. On the web.
61 | - [xmtp.chat](https://xmtp.chat/): XMTP web app messaging client that renders Frames.
62 | - [dev-inbox](https://github.com/xmtp/dev-inbox/): Dev focused messaging client that renders Frames.
63 |
64 | ### Frameworks
65 |
66 | Given the interoperable nature of Open Frames, each protocol has its unique method for handling payloads, making these tools invaluable for integration:
67 |
68 | - [Frames.js](https://framesjs.org/reference/js/xmtp): Verify and sign XMTP payloads in XMTP with FramesJS
69 | - [OnChainKit](https://onchainkit.xyz/xmtp/introduction): Verify and sign XMTP payloads in XMTP with OnChainKit
70 |
71 | ### Protocols
72 |
73 | - [XMTP](https://xmtp.org/docs/build/frames): Verify and sign XMTP payloads in XMTP.
74 | - [Lens Protocol](https://github.com/defispartan/lens-frames/): Lens protocol Open Frame specification.
75 |
76 | ### No code tools
77 |
78 | - [Holder](https://www.holder.xyz/): Holder no-code builders allows to broadcast frames.
79 | - [Neynar](https://warpcast.com/rish/0x6ee0f33b): Neynar builder supports Open Frames
80 |
81 | ### Other integrations
82 |
83 | This dApps & protocols & tooling already support the Open Frames standard.
84 |
85 | - [Paragraph](https://paragraph.xyz): Paragraph newsletter can be displayed as Open Frames.
86 | - [Launchcaster](https://www.launchcaster.xyz): Launchcaster renders Open Frames in their launches.
87 |
88 | And others: [Outcasters](https://outcasters.xyz) | [Onchain Letters](https://onchainletters.xyz) | [UFO News](https://news.ufo.fm) | [RWX](https://rwx.mrjonkane.com) | [Power Law Systems](https://powerlaw.systems) | [Frameboard](https://www.frameboard.com) | [Solo Salon](https://solosalon.clinamenic.com) | [Derek Brown](https://derekbrown.xyz) | [Zine](https://zine.shamesoiree.com) | [Fabrica](https://blog.fabrica.land) | [ShortURL](https://shorturl.at) | [Wibtal](https://wibtal.com) | [Mark McClure](https://markmcclure.xyz) | [NextJS Boilerplate](https://nextjs-boilerplate-xi-two-79.vercel.app) | [Jared Hecht](https://jaredhecht.com) | [Luc.cx](https://luc.cx) | [0xPratik](https://0xpratik.com) | [Teji](blog.teji.io) | [Framify.xyz](https://framify.xyz)
89 |
90 | ---
91 |
92 | ### Media Mentions
93 |
94 | Here are some notable mentions:
95 |
96 | - [The state of frames + frames beyond Farcaster](https://mirror.xyz/albiverse.eth/8Uvsdgv9TTxnENFk90PRcIpiS20h_Av3_JkcVm7Yw2U)
97 |
98 | ---
99 |
100 | ### Ecosystem Partners
101 |
102 | - [Privy](https://privy.io/)
103 | - [Dynamic](https://www.dynamic.xyz/)
104 | - [Airstack](https://www.airstack.xyz/)
105 | - [Livepeer](https://livepeer.org/)
106 | - [Bountycaster](https://www.bountycaster.xyz/)
107 |
--------------------------------------------------------------------------------
/START.md:
--------------------------------------------------------------------------------
1 | # Get started with Open Frames
2 |
3 | By following the steps you will enhance your Frame with the necessary metadata for Open Frames compatibility, according to this [standard](https://github.com/open-frames/standard). Let's dive in!
4 |
5 | **HTML**
6 |
7 | ```html
8 |
9 | ```
10 |
11 | **OnChainKit**
12 |
13 | ```jsx
14 | export const metadata: Metadata = {
15 | title: /*Your frame metadata*/,
16 | description: /*Your frame metadata*/,
17 | openGraph: {/*Your frame metadata*/},
18 | other: {
19 | ...frameMetadata,
20 | 'of:accepts:xmtp': 'vNext', // Ensure this line is added or updated
21 | },
22 | };
23 | ```
24 |
25 | _For comprehensive guidance on integrating Open Frames with OnChainKit, refer to the official [documentation](https://onchainkit.xyz/xmtp/introduction)._
26 |
27 | **FramesJS**
28 |
29 | ```jsx
30 | const handleRequest = frames(async (ctx) => {
31 | return {
32 | // ...
33 | accepts: [
34 | {
35 | id: 'farcaster',
36 | version: 'vNext',
37 | },
38 | {
39 | id: 'xmtp',
40 | version: 'vNext',
41 | },
42 | ],
43 | };
44 | });
45 | ```
46 |
47 | _For comprehensive guidance on integrating Open Frames with Framesjs, refer to the official [documentation](https://framesjs.org/reference/js/xmtp)._
48 |
49 | **Frog**
50 |
51 | Currently, Frog does not officially support Open Frames. However, a temporary solution can be found in this [discussion](https://github.com/wevm/frog/discussions/51) regarding making Frog compatible.
52 |
53 | ### Next steps
54 |
55 | - To add your Frame to the Compatible Frames section, fork the [Awesome-Open-Frames Repo](https://github.com/open-frames/awesome-open-frames), clone it, update the README.md with your Frame, commit and push your changes, then submit a pull request.
56 | - To submit your Frame, access any XMTP app from the [Compatible Applications](https://github.com/open-frames/awesome-open-frames?tab=readme-ov-file#compatible-messaging-apps), connect your Ethereum wallet, and send a DM to `hi.xmtp.eth` with a link to your Frame, indicating its addition to the Compatible Frames section.
57 |
--------------------------------------------------------------------------------
/app/api/prs/route.ts:
--------------------------------------------------------------------------------
1 | import { getFrameHtmlResponse } from '@coinbase/onchainkit';
2 | import { NextRequest, NextResponse } from 'next/server';
3 | import { NEXT_PUBLIC_URL } from '../../config';
4 | import sharp from 'sharp';
5 | import fs from 'fs';
6 | import path from 'path';
7 |
8 | const fetchOpenPRCount = async () => {
9 | const repo = 'open-frames/awesome-open-frames';
10 | const url = `https://api.github.com/repos/${repo}/pulls?state=open`;
11 |
12 | try {
13 | const response = await fetch(url);
14 | if (!response.ok) {
15 | throw new Error(`HTTP error! status: ${response.status}`);
16 | }
17 | const data = await response.json();
18 | console.log(`Number of open PRs: ${data.length}`);
19 | return data.length;
20 | } catch (error) {
21 | console.error('Error fetching open PR count:', error);
22 | }
23 | };
24 | async function generateAndSavePNG(svgContent: string) {
25 | const fileName = `satori-${Date.now()}.png`;
26 | const filePath = path.join('/tmp', fileName); // Use /tmp for compatibility with read-only filesystems
27 | try {
28 | const pngBuffer = await sharp(Buffer.from(svgContent)).png().toBuffer();
29 | fs.writeFileSync(filePath, pngBuffer);
30 | return filePath; // Return the full path of the generated file for further use
31 | } catch (error) {
32 | console.error('Failed to convert SVG to PNG:', error);
33 | throw error;
34 | }
35 | }
36 | async function getResponse(req: NextRequest): Promise {
37 | const openPRCount = 10; //await fetchOpenPRCount();
38 |
39 | const svgContent = `
40 |
44 | `;
45 |
46 | const imageUrl = await generateAndSavePNG(svgContent);
47 |
48 | console.log(imageUrl);
49 | return new NextResponse(
50 | getFrameHtmlResponse({
51 | buttons: [
52 | {
53 | label: `Back to the main page`,
54 | },
55 | ],
56 | image: `${NEXT_PUBLIC_URL}/${imageUrl}`,
57 | postUrl: `${NEXT_PUBLIC_URL}/`,
58 | }),
59 | );
60 | }
61 |
62 | export async function GET(req: NextRequest): Promise {
63 | return getResponse(req);
64 | }
65 | export async function POST(req: NextRequest): Promise {
66 | return getResponse(req);
67 | }
68 |
--------------------------------------------------------------------------------
/app/config.ts:
--------------------------------------------------------------------------------
1 | export const NEXT_PUBLIC_URL =
2 | process.env.NODE_ENV == 'development'
3 | ? 'https://9918-50-174-20-202.ngrok-free.app'
4 | : 'https://awesome-open-frames.vercel.app';
5 |
--------------------------------------------------------------------------------
/app/layout.tsx:
--------------------------------------------------------------------------------
1 | export const viewport = {
2 | width: 'device-width',
3 | initialScale: 1.0,
4 | };
5 |
6 | export default function RootLayout({ children }: { children: React.ReactNode }) {
7 | return (
8 |
9 | {children}
10 |
11 | );
12 | }
13 |
--------------------------------------------------------------------------------
/app/page.tsx:
--------------------------------------------------------------------------------
1 | import { getFrameMetadata } from '@coinbase/onchainkit';
2 | import type { Metadata } from 'next';
3 | import { NEXT_PUBLIC_URL } from './config';
4 |
5 | const frameMetadata = getFrameMetadata({
6 | buttons: [
7 | {
8 | label: 'Add to calendar',
9 | action: 'link',
10 | target: `https://xmtp.org/dev-call`,
11 | },
12 | {
13 | label: 'Ask a question',
14 | action: 'link',
15 | target: `https://community.xmtp.org/t/tue-apr-9-2024-frames-o-rama-post-a-question-or-topic/629`,
16 | } /*
17 | {
18 | label: 'Speakers',
19 | action: 'link',
20 | target: `https://xmtplabs.notion.site/Frames-O-Rama-Agenda-0160dca2eb2943c1ac9d32a6c096a546?pvs=4`,
21 | },*/,
22 | /*,
23 | {
24 | label: 'Go to bounty',
25 | action: 'link',
26 | target: `https://github.com/open-frames/awesome-open-frames/blob/main/BOUNTY.md`,
27 | } /*
28 | {
29 | label: 'Bounty Status',
30 | action: 'post',
31 | },
32 |
33 | src: `${NEXT_PUBLIC_URL}/devcall.png`,*/
34 | ],
35 | image: {
36 | src: `${NEXT_PUBLIC_URL}/devcall.png`,
37 | },
38 | postUrl: `${NEXT_PUBLIC_URL}/api/prs`,
39 | });
40 |
41 | export const metadata: Metadata = {
42 | title: 'Awesome Open Frame',
43 | description: 'Interoperable Frames',
44 | openGraph: {
45 | title: 'Awesome Open Frame',
46 | description: 'Interoperable Frames',
47 | images: [`${NEXT_PUBLIC_URL}/devcall.png`],
48 | },
49 | other: {
50 | ...frameMetadata,
51 | 'of:accepts:xmtp': 'vNext',
52 | },
53 | };
54 |
55 | export default function Page() {
56 | return (
57 | <>
58 |
59 | >
60 | );
61 | }
62 |
--------------------------------------------------------------------------------
/next-env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 |
4 | // NOTE: This file should not be edited
5 | // see https://nextjs.org/docs/basic-features/typescript for more information.
6 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "a-frame-in-100-lines",
3 | "version": "0.1.1",
4 | "scripts": {
5 | "build": "rm -rf .next && next build",
6 | "dev": "next dev",
7 | "format": "prettier --log-level warn --write .",
8 | "start": "next start",
9 | "test": "echo \"Error: no test specified\" && exit 1"
10 | },
11 | "keywords": [],
12 | "author": "@zizzamia",
13 | "license": "MIT",
14 | "dependencies": {
15 | "@coinbase/onchainkit": "^0.11.0",
16 | "@tanstack/react-query": "^5.28.4",
17 | "bufferutil": "^4.0.8",
18 | "next": "13.5.6",
19 | "react": "^18.2.0",
20 | "react-dom": "^18.2.0",
21 | "sharp": "^0.32.6",
22 | "utf-8-validate": "^6.0.3",
23 | "viem": "^2.8.11"
24 | },
25 | "devDependencies": {
26 | "@types/node": "^20.11.8",
27 | "@types/react": "18.2.48",
28 | "prettier": "^3.2.4",
29 | "typescript": "^5.3.3"
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/prettier.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | arrowParens: 'always',
3 | bracketSameLine: false,
4 | jsxSingleQuote: false,
5 | plugins: [],
6 | printWidth: 100,
7 | semi: true,
8 | singleQuote: true,
9 | tabWidth: 2,
10 | trailingComma: 'all',
11 | useTabs: false,
12 | };
13 |
--------------------------------------------------------------------------------
/public/devcall.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/open-frames/awesome-open-frames/a69d36b6c0b30cca84927cf6adb44a96b6e9add5/public/devcall.png
--------------------------------------------------------------------------------
/public/fonts/Inter-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/open-frames/awesome-open-frames/a69d36b6c0b30cca84927cf6adb44a96b6e9add5/public/fonts/Inter-Regular.ttf
--------------------------------------------------------------------------------
/public/picture.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/open-frames/awesome-open-frames/a69d36b6c0b30cca84927cf6adb44a96b6e9add5/public/picture.png
--------------------------------------------------------------------------------
/public/satori-1711026528508.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/open-frames/awesome-open-frames/a69d36b6c0b30cca84927cf6adb44a96b6e9add5/public/satori-1711026528508.png
--------------------------------------------------------------------------------
/public/satori-1711026552290.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/open-frames/awesome-open-frames/a69d36b6c0b30cca84927cf6adb44a96b6e9add5/public/satori-1711026552290.png
--------------------------------------------------------------------------------
/public/satori-1711026649962.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/open-frames/awesome-open-frames/a69d36b6c0b30cca84927cf6adb44a96b6e9add5/public/satori-1711026649962.png
--------------------------------------------------------------------------------
/public/satori-1711026667391.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/open-frames/awesome-open-frames/a69d36b6c0b30cca84927cf6adb44a96b6e9add5/public/satori-1711026667391.png
--------------------------------------------------------------------------------
/public/satori-1711026919993.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/open-frames/awesome-open-frames/a69d36b6c0b30cca84927cf6adb44a96b6e9add5/public/satori-1711026919993.png
--------------------------------------------------------------------------------
/public/satori-1711026938607.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/open-frames/awesome-open-frames/a69d36b6c0b30cca84927cf6adb44a96b6e9add5/public/satori-1711026938607.png
--------------------------------------------------------------------------------
/public/satori-1711026981417.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/open-frames/awesome-open-frames/a69d36b6c0b30cca84927cf6adb44a96b6e9add5/public/satori-1711026981417.png
--------------------------------------------------------------------------------
/public/satori-1711027044755.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/open-frames/awesome-open-frames/a69d36b6c0b30cca84927cf6adb44a96b6e9add5/public/satori-1711027044755.png
--------------------------------------------------------------------------------
/public/satori-1711027112185.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/open-frames/awesome-open-frames/a69d36b6c0b30cca84927cf6adb44a96b6e9add5/public/satori-1711027112185.png
--------------------------------------------------------------------------------
/public/satori-1711027170965.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/open-frames/awesome-open-frames/a69d36b6c0b30cca84927cf6adb44a96b6e9add5/public/satori-1711027170965.png
--------------------------------------------------------------------------------
/public/satori-1711027189291.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/open-frames/awesome-open-frames/a69d36b6c0b30cca84927cf6adb44a96b6e9add5/public/satori-1711027189291.png
--------------------------------------------------------------------------------
/public/satori-1711027205054.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/open-frames/awesome-open-frames/a69d36b6c0b30cca84927cf6adb44a96b6e9add5/public/satori-1711027205054.png
--------------------------------------------------------------------------------
/public/satori-1711027405224.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/open-frames/awesome-open-frames/a69d36b6c0b30cca84927cf6adb44a96b6e9add5/public/satori-1711027405224.png
--------------------------------------------------------------------------------
/public/satori-1711027818043.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/open-frames/awesome-open-frames/a69d36b6c0b30cca84927cf6adb44a96b6e9add5/public/satori-1711027818043.png
--------------------------------------------------------------------------------
/public/satori-1711027952606.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/open-frames/awesome-open-frames/a69d36b6c0b30cca84927cf6adb44a96b6e9add5/public/satori-1711027952606.png
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es2020",
4 | "lib": ["dom", "dom.iterable", "esnext"],
5 | "allowJs": true,
6 | "skipLibCheck": true,
7 | "strict": true,
8 | "noEmit": true,
9 | "esModuleInterop": true,
10 | "module": "esnext",
11 | "moduleResolution": "Node",
12 | "resolveJsonModule": true,
13 | "isolatedModules": true,
14 | "jsx": "preserve",
15 | "incremental": true,
16 | "plugins": [
17 | {
18 | "name": "next",
19 | },
20 | ],
21 | },
22 | "include": ["custom.d.ts", "next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"],
23 | "exclude": ["contracts", "node_modules"],
24 | }
25 |
--------------------------------------------------------------------------------
/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | "@adraffy/ens-normalize@1.10.0":
6 | version "1.10.0"
7 | resolved "https://registry.yarnpkg.com/@adraffy/ens-normalize/-/ens-normalize-1.10.0.tgz#d2a39395c587e092d77cbbc80acf956a54f38bf7"
8 | integrity sha512-nA9XHtlAkYfJxY7bce8DcN7eKxWWCWkU+1GR9d+U6MbNpfwQp8TI7vqOsBsMcHoT4mBu2kypKoSKnghEzOOq5Q==
9 |
10 | "@coinbase/onchainkit@^0.11.0":
11 | version "0.11.0"
12 | resolved "https://registry.yarnpkg.com/@coinbase/onchainkit/-/onchainkit-0.11.0.tgz#03b09d4d9f73913cb1f794664bf087f34fa26d71"
13 | integrity sha512-jplMmlADttZxlO6amMRTsTSxhj/HxfF1H/fflPvjxpe1NvX+ovJzI5oSvUsOg2rt1srGVJhlptlAtQA9HXVFbQ==
14 |
15 | "@next/env@13.5.6":
16 | version "13.5.6"
17 | resolved "https://registry.yarnpkg.com/@next/env/-/env-13.5.6.tgz#c1148e2e1aa166614f05161ee8f77ded467062bc"
18 | integrity sha512-Yac/bV5sBGkkEXmAX5FWPS9Mmo2rthrOPRQQNfycJPkjUAUclomCPH7QFVCDQ4Mp2k2K1SSM6m0zrxYrOwtFQw==
19 |
20 | "@next/swc-darwin-arm64@13.5.6":
21 | version "13.5.6"
22 | resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.5.6.tgz#b15d139d8971360fca29be3bdd703c108c9a45fb"
23 | integrity sha512-5nvXMzKtZfvcu4BhtV0KH1oGv4XEW+B+jOfmBdpFI3C7FrB/MfujRpWYSBBO64+qbW8pkZiSyQv9eiwnn5VIQA==
24 |
25 | "@next/swc-darwin-x64@13.5.6":
26 | version "13.5.6"
27 | resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-13.5.6.tgz#9c72ee31cc356cb65ce6860b658d807ff39f1578"
28 | integrity sha512-6cgBfxg98oOCSr4BckWjLLgiVwlL3vlLj8hXg2b+nDgm4bC/qVXXLfpLB9FHdoDu4057hzywbxKvmYGmi7yUzA==
29 |
30 | "@next/swc-linux-arm64-gnu@13.5.6":
31 | version "13.5.6"
32 | resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.5.6.tgz#59f5f66155e85380ffa26ee3d95b687a770cfeab"
33 | integrity sha512-txagBbj1e1w47YQjcKgSU4rRVQ7uF29YpnlHV5xuVUsgCUf2FmyfJ3CPjZUvpIeXCJAoMCFAoGnbtX86BK7+sg==
34 |
35 | "@next/swc-linux-arm64-musl@13.5.6":
36 | version "13.5.6"
37 | resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.5.6.tgz#f012518228017052736a87d69bae73e587c76ce2"
38 | integrity sha512-cGd+H8amifT86ZldVJtAKDxUqeFyLWW+v2NlBULnLAdWsiuuN8TuhVBt8ZNpCqcAuoruoSWynvMWixTFcroq+Q==
39 |
40 | "@next/swc-linux-x64-gnu@13.5.6":
41 | version "13.5.6"
42 | resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.5.6.tgz#339b867a7e9e7ee727a700b496b269033d820df4"
43 | integrity sha512-Mc2b4xiIWKXIhBy2NBTwOxGD3nHLmq4keFk+d4/WL5fMsB8XdJRdtUlL87SqVCTSaf1BRuQQf1HvXZcy+rq3Nw==
44 |
45 | "@next/swc-linux-x64-musl@13.5.6":
46 | version "13.5.6"
47 | resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.5.6.tgz#ae0ae84d058df758675830bcf70ca1846f1028f2"
48 | integrity sha512-CFHvP9Qz98NruJiUnCe61O6GveKKHpJLloXbDSWRhqhkJdZD2zU5hG+gtVJR//tyW897izuHpM6Gtf6+sNgJPQ==
49 |
50 | "@next/swc-win32-arm64-msvc@13.5.6":
51 | version "13.5.6"
52 | resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.5.6.tgz#a5cc0c16920485a929a17495064671374fdbc661"
53 | integrity sha512-aFv1ejfkbS7PUa1qVPwzDHjQWQtknzAZWGTKYIAaS4NMtBlk3VyA6AYn593pqNanlicewqyl2jUhQAaFV/qXsg==
54 |
55 | "@next/swc-win32-ia32-msvc@13.5.6":
56 | version "13.5.6"
57 | resolved "https://registry.yarnpkg.com/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.5.6.tgz#6a2409b84a2cbf34bf92fe714896455efb4191e4"
58 | integrity sha512-XqqpHgEIlBHvzwG8sp/JXMFkLAfGLqkbVsyN+/Ih1mR8INb6YCc2x/Mbwi6hsAgUnqQztz8cvEbHJUbSl7RHDg==
59 |
60 | "@next/swc-win32-x64-msvc@13.5.6":
61 | version "13.5.6"
62 | resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.5.6.tgz#4a3e2a206251abc729339ba85f60bc0433c2865d"
63 | integrity sha512-Cqfe1YmOS7k+5mGu92nl5ULkzpKuxJrP3+4AEuPmrpFZ3BHxTY3TnHmU1On3bFmFFs6FbTcdF58CCUProGpIGQ==
64 |
65 | "@noble/curves@1.2.0", "@noble/curves@~1.2.0":
66 | version "1.2.0"
67 | resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.2.0.tgz#92d7e12e4e49b23105a2555c6984d41733d65c35"
68 | integrity sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==
69 | dependencies:
70 | "@noble/hashes" "1.3.2"
71 |
72 | "@noble/hashes@1.3.2":
73 | version "1.3.2"
74 | resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.2.tgz#6f26dbc8fbc7205873ce3cee2f690eba0d421b39"
75 | integrity sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==
76 |
77 | "@noble/hashes@~1.3.0", "@noble/hashes@~1.3.2":
78 | version "1.3.3"
79 | resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.3.tgz#39908da56a4adc270147bb07968bf3b16cfe1699"
80 | integrity sha512-V7/fPHgl+jsVPXqqeOzT8egNj2iBIVt+ECeMMG8TdcnTikP3oaBtUVqpT/gYCR68aEBJSF+XbYUxStjbFMqIIA==
81 |
82 | "@scure/base@~1.1.0", "@scure/base@~1.1.2":
83 | version "1.1.5"
84 | resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.1.5.tgz#1d85d17269fe97694b9c592552dd9e5e33552157"
85 | integrity sha512-Brj9FiG2W1MRQSTB212YVPRrcbjkv48FoZi/u4l/zds/ieRrqsh7aUf6CLwkAq61oKXr/ZlTzlY66gLIj3TFTQ==
86 |
87 | "@scure/bip32@1.3.2":
88 | version "1.3.2"
89 | resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.3.2.tgz#90e78c027d5e30f0b22c1f8d50ff12f3fb7559f8"
90 | integrity sha512-N1ZhksgwD3OBlwTv3R6KFEcPojl/W4ElJOeCZdi+vuI5QmTFwLq3OFf2zd2ROpKvxFdgZ6hUpb0dx9bVNEwYCA==
91 | dependencies:
92 | "@noble/curves" "~1.2.0"
93 | "@noble/hashes" "~1.3.2"
94 | "@scure/base" "~1.1.2"
95 |
96 | "@scure/bip39@1.2.1":
97 | version "1.2.1"
98 | resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.2.1.tgz#5cee8978656b272a917b7871c981e0541ad6ac2a"
99 | integrity sha512-Z3/Fsz1yr904dduJD0NpiyRHhRYHdcnyh73FZWiV+/qhWi83wNJ3NWolYqCEN+ZWsUz2TWwajJggcRE9r1zUYg==
100 | dependencies:
101 | "@noble/hashes" "~1.3.0"
102 | "@scure/base" "~1.1.0"
103 |
104 | "@swc/helpers@0.5.2":
105 | version "0.5.2"
106 | resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.5.2.tgz#85ea0c76450b61ad7d10a37050289eded783c27d"
107 | integrity sha512-E4KcWTpoLHqwPHLxidpOqQbcrZVgi0rsmmZXUle1jXmJfuIf/UWpczUJ7MZZ5tlxytgJXyp0w4PGkkeLiuIdZw==
108 | dependencies:
109 | tslib "^2.4.0"
110 |
111 | "@tanstack/query-core@5.28.6":
112 | version "5.28.6"
113 | resolved "https://registry.yarnpkg.com/@tanstack/query-core/-/query-core-5.28.6.tgz#a3bdb108f9f8d4e2ba3163068dbe6ff55b905a81"
114 | integrity sha512-hnhotV+DnQtvtR3jPvbQMPNMW4KEK0J4k7c609zJ8muiNknm+yoDyMHmxTWM5ZnlZpsz0zOxYFr+mzRJNHWJsA==
115 |
116 | "@tanstack/react-query@^5.28.4":
117 | version "5.28.6"
118 | resolved "https://registry.yarnpkg.com/@tanstack/react-query/-/react-query-5.28.6.tgz#0d52b0a98a1d842debf9c65496e20a9981a23bc4"
119 | integrity sha512-/DdYuDBSsA21Qbcder1R8Cr/3Nx0ZnA2lgtqKsLMvov8wL4+g0HBz/gWYZPlIsof7iyfQafyhg4wUVUsS3vWZw==
120 | dependencies:
121 | "@tanstack/query-core" "5.28.6"
122 |
123 | "@types/node@^20.11.8":
124 | version "20.11.10"
125 | resolved "https://registry.yarnpkg.com/@types/node/-/node-20.11.10.tgz#6c3de8974d65c362f82ee29db6b5adf4205462f9"
126 | integrity sha512-rZEfe/hJSGYmdfX9tvcPMYeYPW2sNl50nsw4jZmRcaG0HIAb0WYEpsB05GOb53vjqpyE9GUhlDQ4jLSoB5q9kg==
127 | dependencies:
128 | undici-types "~5.26.4"
129 |
130 | "@types/prop-types@*":
131 | version "15.7.11"
132 | resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.11.tgz#2596fb352ee96a1379c657734d4b913a613ad563"
133 | integrity sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==
134 |
135 | "@types/react@18.2.48":
136 | version "18.2.48"
137 | resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.48.tgz#11df5664642d0bd879c1f58bc1d37205b064e8f1"
138 | integrity sha512-qboRCl6Ie70DQQG9hhNREz81jqC1cs9EVNcjQ1AU+jH6NFfSAhVVbrrY/+nSF+Bsk4AOwm9Qa61InvMCyV+H3w==
139 | dependencies:
140 | "@types/prop-types" "*"
141 | "@types/scheduler" "*"
142 | csstype "^3.0.2"
143 |
144 | "@types/scheduler@*":
145 | version "0.16.8"
146 | resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.8.tgz#ce5ace04cfeabe7ef87c0091e50752e36707deff"
147 | integrity sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==
148 |
149 | abitype@1.0.0:
150 | version "1.0.0"
151 | resolved "https://registry.yarnpkg.com/abitype/-/abitype-1.0.0.tgz#237176dace81d90d018bebf3a45cb42f2a2d9e97"
152 | integrity sha512-NMeMah//6bJ56H5XRj8QCV4AwuW6hB6zqz2LnhhLdcWVQOsXki6/Pn3APeqxCma62nXIcmZWdu1DlHWS74umVQ==
153 |
154 | b4a@^1.6.4:
155 | version "1.6.6"
156 | resolved "https://registry.yarnpkg.com/b4a/-/b4a-1.6.6.tgz#a4cc349a3851987c3c4ac2d7785c18744f6da9ba"
157 | integrity sha512-5Tk1HLk6b6ctmjIkAcU/Ujv/1WqiDl0F0JdRCR80VsOcUlHcu7pWeWRlOqQLHfDEsVx9YH/aif5AG4ehoCtTmg==
158 |
159 | bare-events@^2.0.0, bare-events@^2.2.0:
160 | version "2.2.2"
161 | resolved "https://registry.yarnpkg.com/bare-events/-/bare-events-2.2.2.tgz#a98a41841f98b2efe7ecc5c5468814469b018078"
162 | integrity sha512-h7z00dWdG0PYOQEvChhOSWvOfkIKsdZGkWr083FgN/HyoQuebSew/cgirYqh9SCuy/hRvxc5Vy6Fw8xAmYHLkQ==
163 |
164 | bare-fs@^2.1.1:
165 | version "2.2.2"
166 | resolved "https://registry.yarnpkg.com/bare-fs/-/bare-fs-2.2.2.tgz#286bf54cc6f15f613bee6bb26f0c61c79fb14f06"
167 | integrity sha512-X9IqgvyB0/VA5OZJyb5ZstoN62AzD7YxVGog13kkfYWYqJYcK0kcqLZ6TrmH5qr4/8//ejVcX4x/a0UvaogXmA==
168 | dependencies:
169 | bare-events "^2.0.0"
170 | bare-os "^2.0.0"
171 | bare-path "^2.0.0"
172 | streamx "^2.13.0"
173 |
174 | bare-os@^2.0.0, bare-os@^2.1.0:
175 | version "2.2.1"
176 | resolved "https://registry.yarnpkg.com/bare-os/-/bare-os-2.2.1.tgz#c94a258c7a408ca6766399e44675136c0964913d"
177 | integrity sha512-OwPyHgBBMkhC29Hl3O4/YfxW9n7mdTr2+SsO29XBWKKJsbgj3mnorDB80r5TiCQgQstgE5ga1qNYrpes6NvX2w==
178 |
179 | bare-path@^2.0.0, bare-path@^2.1.0:
180 | version "2.1.0"
181 | resolved "https://registry.yarnpkg.com/bare-path/-/bare-path-2.1.0.tgz#830f17fd39842813ca77d211ebbabe238a88cb4c"
182 | integrity sha512-DIIg7ts8bdRKwJRJrUMy/PICEaQZaPGZ26lsSx9MJSwIhSrcdHn7/C8W+XmnG/rKi6BaRcz+JO00CjZteybDtw==
183 | dependencies:
184 | bare-os "^2.1.0"
185 |
186 | base64-js@^1.3.1:
187 | version "1.5.1"
188 | resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a"
189 | integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
190 |
191 | bl@^4.0.3:
192 | version "4.1.0"
193 | resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a"
194 | integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==
195 | dependencies:
196 | buffer "^5.5.0"
197 | inherits "^2.0.4"
198 | readable-stream "^3.4.0"
199 |
200 | buffer@^5.5.0:
201 | version "5.7.1"
202 | resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0"
203 | integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==
204 | dependencies:
205 | base64-js "^1.3.1"
206 | ieee754 "^1.1.13"
207 |
208 | bufferutil@^4.0.8:
209 | version "4.0.8"
210 | resolved "https://registry.yarnpkg.com/bufferutil/-/bufferutil-4.0.8.tgz#1de6a71092d65d7766c4d8a522b261a6e787e8ea"
211 | integrity sha512-4T53u4PdgsXqKaIctwF8ifXlRTTmEPJ8iEPWFdGZvcf7sbwYo6FKFEX9eNNAnzFZ7EzJAQ3CJeOtCRA4rDp7Pw==
212 | dependencies:
213 | node-gyp-build "^4.3.0"
214 |
215 | busboy@1.6.0:
216 | version "1.6.0"
217 | resolved "https://registry.yarnpkg.com/busboy/-/busboy-1.6.0.tgz#966ea36a9502e43cdb9146962523b92f531f6893"
218 | integrity sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==
219 | dependencies:
220 | streamsearch "^1.1.0"
221 |
222 | caniuse-lite@^1.0.30001406:
223 | version "1.0.30001581"
224 | resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001581.tgz#0dfd4db9e94edbdca67d57348ebc070dece279f4"
225 | integrity sha512-whlTkwhqV2tUmP3oYhtNfaWGYHDdS3JYFQBKXxcUR9qqPWsRhFHhoISO2Xnl/g0xyKzht9mI1LZpiNWfMzHixQ==
226 |
227 | chownr@^1.1.1:
228 | version "1.1.4"
229 | resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b"
230 | integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==
231 |
232 | client-only@0.0.1:
233 | version "0.0.1"
234 | resolved "https://registry.yarnpkg.com/client-only/-/client-only-0.0.1.tgz#38bba5d403c41ab150bff64a95c85013cf73bca1"
235 | integrity sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==
236 |
237 | color-convert@^2.0.1:
238 | version "2.0.1"
239 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
240 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
241 | dependencies:
242 | color-name "~1.1.4"
243 |
244 | color-name@^1.0.0, color-name@~1.1.4:
245 | version "1.1.4"
246 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
247 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
248 |
249 | color-string@^1.9.0:
250 | version "1.9.1"
251 | resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.9.1.tgz#4467f9146f036f855b764dfb5bf8582bf342c7a4"
252 | integrity sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==
253 | dependencies:
254 | color-name "^1.0.0"
255 | simple-swizzle "^0.2.2"
256 |
257 | color@^4.2.3:
258 | version "4.2.3"
259 | resolved "https://registry.yarnpkg.com/color/-/color-4.2.3.tgz#d781ecb5e57224ee43ea9627560107c0e0c6463a"
260 | integrity sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==
261 | dependencies:
262 | color-convert "^2.0.1"
263 | color-string "^1.9.0"
264 |
265 | csstype@^3.0.2:
266 | version "3.1.3"
267 | resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81"
268 | integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==
269 |
270 | decompress-response@^6.0.0:
271 | version "6.0.0"
272 | resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc"
273 | integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==
274 | dependencies:
275 | mimic-response "^3.1.0"
276 |
277 | deep-extend@^0.6.0:
278 | version "0.6.0"
279 | resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac"
280 | integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==
281 |
282 | detect-libc@^2.0.0, detect-libc@^2.0.2:
283 | version "2.0.3"
284 | resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.0.3.tgz#f0cd503b40f9939b894697d19ad50895e30cf700"
285 | integrity sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==
286 |
287 | end-of-stream@^1.1.0, end-of-stream@^1.4.1:
288 | version "1.4.4"
289 | resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0"
290 | integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==
291 | dependencies:
292 | once "^1.4.0"
293 |
294 | expand-template@^2.0.3:
295 | version "2.0.3"
296 | resolved "https://registry.yarnpkg.com/expand-template/-/expand-template-2.0.3.tgz#6e14b3fcee0f3a6340ecb57d2e8918692052a47c"
297 | integrity sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==
298 |
299 | fast-fifo@^1.1.0, fast-fifo@^1.2.0:
300 | version "1.3.2"
301 | resolved "https://registry.yarnpkg.com/fast-fifo/-/fast-fifo-1.3.2.tgz#286e31de96eb96d38a97899815740ba2a4f3640c"
302 | integrity sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==
303 |
304 | fs-constants@^1.0.0:
305 | version "1.0.0"
306 | resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad"
307 | integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==
308 |
309 | github-from-package@0.0.0:
310 | version "0.0.0"
311 | resolved "https://registry.yarnpkg.com/github-from-package/-/github-from-package-0.0.0.tgz#97fb5d96bfde8973313f20e8288ef9a167fa64ce"
312 | integrity sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==
313 |
314 | glob-to-regexp@^0.4.1:
315 | version "0.4.1"
316 | resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e"
317 | integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==
318 |
319 | graceful-fs@^4.1.2:
320 | version "4.2.11"
321 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3"
322 | integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==
323 |
324 | ieee754@^1.1.13:
325 | version "1.2.1"
326 | resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352"
327 | integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
328 |
329 | inherits@^2.0.3, inherits@^2.0.4:
330 | version "2.0.4"
331 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
332 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
333 |
334 | ini@~1.3.0:
335 | version "1.3.8"
336 | resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c"
337 | integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==
338 |
339 | is-arrayish@^0.3.1:
340 | version "0.3.2"
341 | resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03"
342 | integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==
343 |
344 | isows@1.0.3:
345 | version "1.0.3"
346 | resolved "https://registry.yarnpkg.com/isows/-/isows-1.0.3.tgz#93c1cf0575daf56e7120bab5c8c448b0809d0d74"
347 | integrity sha512-2cKei4vlmg2cxEjm3wVSqn8pcoRF/LX/wpifuuNquFO4SQmPwarClT+SUCA2lt+l581tTeZIPIZuIDo2jWN1fg==
348 |
349 | "js-tokens@^3.0.0 || ^4.0.0":
350 | version "4.0.0"
351 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
352 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
353 |
354 | loose-envify@^1.1.0:
355 | version "1.4.0"
356 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
357 | integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
358 | dependencies:
359 | js-tokens "^3.0.0 || ^4.0.0"
360 |
361 | lru-cache@^6.0.0:
362 | version "6.0.0"
363 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94"
364 | integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==
365 | dependencies:
366 | yallist "^4.0.0"
367 |
368 | mimic-response@^3.1.0:
369 | version "3.1.0"
370 | resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9"
371 | integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==
372 |
373 | minimist@^1.2.0, minimist@^1.2.3:
374 | version "1.2.8"
375 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c"
376 | integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==
377 |
378 | mkdirp-classic@^0.5.2, mkdirp-classic@^0.5.3:
379 | version "0.5.3"
380 | resolved "https://registry.yarnpkg.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz#fa10c9115cc6d8865be221ba47ee9bed78601113"
381 | integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==
382 |
383 | nanoid@^3.3.6:
384 | version "3.3.7"
385 | resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8"
386 | integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==
387 |
388 | napi-build-utils@^1.0.1:
389 | version "1.0.2"
390 | resolved "https://registry.yarnpkg.com/napi-build-utils/-/napi-build-utils-1.0.2.tgz#b1fddc0b2c46e380a0b7a76f984dd47c41a13806"
391 | integrity sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==
392 |
393 | next@13.5.6:
394 | version "13.5.6"
395 | resolved "https://registry.yarnpkg.com/next/-/next-13.5.6.tgz#e964b5853272236c37ce0dd2c68302973cf010b1"
396 | integrity sha512-Y2wTcTbO4WwEsVb4A8VSnOsG1I9ok+h74q0ZdxkwM3EODqrs4pasq7O0iUxbcS9VtWMicG7f3+HAj0r1+NtKSw==
397 | dependencies:
398 | "@next/env" "13.5.6"
399 | "@swc/helpers" "0.5.2"
400 | busboy "1.6.0"
401 | caniuse-lite "^1.0.30001406"
402 | postcss "8.4.31"
403 | styled-jsx "5.1.1"
404 | watchpack "2.4.0"
405 | optionalDependencies:
406 | "@next/swc-darwin-arm64" "13.5.6"
407 | "@next/swc-darwin-x64" "13.5.6"
408 | "@next/swc-linux-arm64-gnu" "13.5.6"
409 | "@next/swc-linux-arm64-musl" "13.5.6"
410 | "@next/swc-linux-x64-gnu" "13.5.6"
411 | "@next/swc-linux-x64-musl" "13.5.6"
412 | "@next/swc-win32-arm64-msvc" "13.5.6"
413 | "@next/swc-win32-ia32-msvc" "13.5.6"
414 | "@next/swc-win32-x64-msvc" "13.5.6"
415 |
416 | node-abi@^3.3.0:
417 | version "3.56.0"
418 | resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-3.56.0.tgz#ca807d5ff735ac6bbbd684ae3ff2debc1c2a40a7"
419 | integrity sha512-fZjdhDOeRcaS+rcpve7XuwHBmktS1nS1gzgghwKUQQ8nTy2FdSDr6ZT8k6YhvlJeHmmQMYiT/IH9hfco5zeW2Q==
420 | dependencies:
421 | semver "^7.3.5"
422 |
423 | node-addon-api@^6.1.0:
424 | version "6.1.0"
425 | resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-6.1.0.tgz#ac8470034e58e67d0c6f1204a18ae6995d9c0d76"
426 | integrity sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==
427 |
428 | node-gyp-build@^4.3.0:
429 | version "4.8.0"
430 | resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.8.0.tgz#3fee9c1731df4581a3f9ead74664369ff00d26dd"
431 | integrity sha512-u6fs2AEUljNho3EYTJNBfImO5QTo/J/1Etd+NVdCj7qWKUSN/bSLkZwhDv7I+w/MSC6qJ4cknepkAYykDdK8og==
432 |
433 | once@^1.3.1, once@^1.4.0:
434 | version "1.4.0"
435 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
436 | integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==
437 | dependencies:
438 | wrappy "1"
439 |
440 | picocolors@^1.0.0:
441 | version "1.0.0"
442 | resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
443 | integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
444 |
445 | postcss@8.4.31:
446 | version "8.4.31"
447 | resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.31.tgz#92b451050a9f914da6755af352bdc0192508656d"
448 | integrity sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==
449 | dependencies:
450 | nanoid "^3.3.6"
451 | picocolors "^1.0.0"
452 | source-map-js "^1.0.2"
453 |
454 | prebuild-install@^7.1.1:
455 | version "7.1.2"
456 | resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-7.1.2.tgz#a5fd9986f5a6251fbc47e1e5c65de71e68c0a056"
457 | integrity sha512-UnNke3IQb6sgarcZIDU3gbMeTp/9SSU1DAIkil7PrqG1vZlBtY5msYccSKSHDqa3hNg436IXK+SNImReuA1wEQ==
458 | dependencies:
459 | detect-libc "^2.0.0"
460 | expand-template "^2.0.3"
461 | github-from-package "0.0.0"
462 | minimist "^1.2.3"
463 | mkdirp-classic "^0.5.3"
464 | napi-build-utils "^1.0.1"
465 | node-abi "^3.3.0"
466 | pump "^3.0.0"
467 | rc "^1.2.7"
468 | simple-get "^4.0.0"
469 | tar-fs "^2.0.0"
470 | tunnel-agent "^0.6.0"
471 |
472 | prettier@^3.2.4:
473 | version "3.2.4"
474 | resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.2.4.tgz#4723cadeac2ce7c9227de758e5ff9b14e075f283"
475 | integrity sha512-FWu1oLHKCrtpO1ypU6J0SbK2d9Ckwysq6bHj/uaCP26DxrPpppCLQRGVuqAxSTvhF00AcvDRyYrLNW7ocBhFFQ==
476 |
477 | pump@^3.0.0:
478 | version "3.0.0"
479 | resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64"
480 | integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==
481 | dependencies:
482 | end-of-stream "^1.1.0"
483 | once "^1.3.1"
484 |
485 | queue-tick@^1.0.1:
486 | version "1.0.1"
487 | resolved "https://registry.yarnpkg.com/queue-tick/-/queue-tick-1.0.1.tgz#f6f07ac82c1fd60f82e098b417a80e52f1f4c142"
488 | integrity sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==
489 |
490 | rc@^1.2.7:
491 | version "1.2.8"
492 | resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed"
493 | integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==
494 | dependencies:
495 | deep-extend "^0.6.0"
496 | ini "~1.3.0"
497 | minimist "^1.2.0"
498 | strip-json-comments "~2.0.1"
499 |
500 | react-dom@^18.2.0:
501 | version "18.2.0"
502 | resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d"
503 | integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==
504 | dependencies:
505 | loose-envify "^1.1.0"
506 | scheduler "^0.23.0"
507 |
508 | react@^18.2.0:
509 | version "18.2.0"
510 | resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5"
511 | integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==
512 | dependencies:
513 | loose-envify "^1.1.0"
514 |
515 | readable-stream@^3.1.1, readable-stream@^3.4.0:
516 | version "3.6.2"
517 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967"
518 | integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==
519 | dependencies:
520 | inherits "^2.0.3"
521 | string_decoder "^1.1.1"
522 | util-deprecate "^1.0.1"
523 |
524 | safe-buffer@^5.0.1, safe-buffer@~5.2.0:
525 | version "5.2.1"
526 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
527 | integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
528 |
529 | scheduler@^0.23.0:
530 | version "0.23.0"
531 | resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe"
532 | integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==
533 | dependencies:
534 | loose-envify "^1.1.0"
535 |
536 | semver@^7.3.5, semver@^7.5.4:
537 | version "7.6.0"
538 | resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.0.tgz#1a46a4db4bffcccd97b743b5005c8325f23d4e2d"
539 | integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==
540 | dependencies:
541 | lru-cache "^6.0.0"
542 |
543 | sharp@^0.32.6:
544 | version "0.32.6"
545 | resolved "https://registry.yarnpkg.com/sharp/-/sharp-0.32.6.tgz#6ad30c0b7cd910df65d5f355f774aa4fce45732a"
546 | integrity sha512-KyLTWwgcR9Oe4d9HwCwNM2l7+J0dUQwn/yf7S0EnTtb0eVS4RxO0eUSvxPtzT4F3SY+C4K6fqdv/DO27sJ/v/w==
547 | dependencies:
548 | color "^4.2.3"
549 | detect-libc "^2.0.2"
550 | node-addon-api "^6.1.0"
551 | prebuild-install "^7.1.1"
552 | semver "^7.5.4"
553 | simple-get "^4.0.1"
554 | tar-fs "^3.0.4"
555 | tunnel-agent "^0.6.0"
556 |
557 | simple-concat@^1.0.0:
558 | version "1.0.1"
559 | resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.1.tgz#f46976082ba35c2263f1c8ab5edfe26c41c9552f"
560 | integrity sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==
561 |
562 | simple-get@^4.0.0, simple-get@^4.0.1:
563 | version "4.0.1"
564 | resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-4.0.1.tgz#4a39db549287c979d352112fa03fd99fd6bc3543"
565 | integrity sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==
566 | dependencies:
567 | decompress-response "^6.0.0"
568 | once "^1.3.1"
569 | simple-concat "^1.0.0"
570 |
571 | simple-swizzle@^0.2.2:
572 | version "0.2.2"
573 | resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a"
574 | integrity sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==
575 | dependencies:
576 | is-arrayish "^0.3.1"
577 |
578 | source-map-js@^1.0.2:
579 | version "1.0.2"
580 | resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c"
581 | integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==
582 |
583 | streamsearch@^1.1.0:
584 | version "1.1.0"
585 | resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-1.1.0.tgz#404dd1e2247ca94af554e841a8ef0eaa238da764"
586 | integrity sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==
587 |
588 | streamx@^2.13.0, streamx@^2.15.0:
589 | version "2.16.1"
590 | resolved "https://registry.yarnpkg.com/streamx/-/streamx-2.16.1.tgz#2b311bd34832f08aa6bb4d6a80297c9caef89614"
591 | integrity sha512-m9QYj6WygWyWa3H1YY69amr4nVgy61xfjys7xO7kviL5rfIEc2naf+ewFiOA+aEJD7y0JO3h2GoiUv4TDwEGzQ==
592 | dependencies:
593 | fast-fifo "^1.1.0"
594 | queue-tick "^1.0.1"
595 | optionalDependencies:
596 | bare-events "^2.2.0"
597 |
598 | string_decoder@^1.1.1:
599 | version "1.3.0"
600 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e"
601 | integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==
602 | dependencies:
603 | safe-buffer "~5.2.0"
604 |
605 | strip-json-comments@~2.0.1:
606 | version "2.0.1"
607 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
608 | integrity sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==
609 |
610 | styled-jsx@5.1.1:
611 | version "5.1.1"
612 | resolved "https://registry.yarnpkg.com/styled-jsx/-/styled-jsx-5.1.1.tgz#839a1c3aaacc4e735fed0781b8619ea5d0009d1f"
613 | integrity sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==
614 | dependencies:
615 | client-only "0.0.1"
616 |
617 | tar-fs@^2.0.0:
618 | version "2.1.1"
619 | resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.1.1.tgz#489a15ab85f1f0befabb370b7de4f9eb5cbe8784"
620 | integrity sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==
621 | dependencies:
622 | chownr "^1.1.1"
623 | mkdirp-classic "^0.5.2"
624 | pump "^3.0.0"
625 | tar-stream "^2.1.4"
626 |
627 | tar-fs@^3.0.4:
628 | version "3.0.5"
629 | resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-3.0.5.tgz#f954d77767e4e6edf973384e1eb95f8f81d64ed9"
630 | integrity sha512-JOgGAmZyMgbqpLwct7ZV8VzkEB6pxXFBVErLtb+XCOqzc6w1xiWKI9GVd6bwk68EX7eJ4DWmfXVmq8K2ziZTGg==
631 | dependencies:
632 | pump "^3.0.0"
633 | tar-stream "^3.1.5"
634 | optionalDependencies:
635 | bare-fs "^2.1.1"
636 | bare-path "^2.1.0"
637 |
638 | tar-stream@^2.1.4:
639 | version "2.2.0"
640 | resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287"
641 | integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==
642 | dependencies:
643 | bl "^4.0.3"
644 | end-of-stream "^1.4.1"
645 | fs-constants "^1.0.0"
646 | inherits "^2.0.3"
647 | readable-stream "^3.1.1"
648 |
649 | tar-stream@^3.1.5:
650 | version "3.1.7"
651 | resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-3.1.7.tgz#24b3fb5eabada19fe7338ed6d26e5f7c482e792b"
652 | integrity sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==
653 | dependencies:
654 | b4a "^1.6.4"
655 | fast-fifo "^1.2.0"
656 | streamx "^2.15.0"
657 |
658 | tslib@^2.4.0:
659 | version "2.6.2"
660 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae"
661 | integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==
662 |
663 | tunnel-agent@^0.6.0:
664 | version "0.6.0"
665 | resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd"
666 | integrity sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==
667 | dependencies:
668 | safe-buffer "^5.0.1"
669 |
670 | typescript@^5.3.3:
671 | version "5.3.3"
672 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.3.3.tgz#b3ce6ba258e72e6305ba66f5c9b452aaee3ffe37"
673 | integrity sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==
674 |
675 | undici-types@~5.26.4:
676 | version "5.26.5"
677 | resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617"
678 | integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==
679 |
680 | utf-8-validate@^6.0.3:
681 | version "6.0.3"
682 | resolved "https://registry.yarnpkg.com/utf-8-validate/-/utf-8-validate-6.0.3.tgz#7d8c936d854e86b24d1d655f138ee27d2636d777"
683 | integrity sha512-uIuGf9TWQ/y+0Lp+KGZCMuJWc3N9BHA+l/UmHd/oUHwJJDeysyTRxNQVkbzsIWfGFbRe3OcgML/i0mvVRPOyDA==
684 | dependencies:
685 | node-gyp-build "^4.3.0"
686 |
687 | util-deprecate@^1.0.1:
688 | version "1.0.2"
689 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
690 | integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==
691 |
692 | viem@^2.8.11:
693 | version "2.8.16"
694 | resolved "https://registry.yarnpkg.com/viem/-/viem-2.8.16.tgz#30370390a6f109657b57c1a01b2793c4056b4e95"
695 | integrity sha512-J8tu1aP7TfI2HT/IEmyJ+n+WInrA/cuMuJtfgvYhYgHBobxhYGc2SojHm5lZBWcWgErN1Ld7VcKUwTmPh4ToQA==
696 | dependencies:
697 | "@adraffy/ens-normalize" "1.10.0"
698 | "@noble/curves" "1.2.0"
699 | "@noble/hashes" "1.3.2"
700 | "@scure/bip32" "1.3.2"
701 | "@scure/bip39" "1.2.1"
702 | abitype "1.0.0"
703 | isows "1.0.3"
704 | ws "8.13.0"
705 |
706 | watchpack@2.4.0:
707 | version "2.4.0"
708 | resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.0.tgz#fa33032374962c78113f93c7f2fb4c54c9862a5d"
709 | integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==
710 | dependencies:
711 | glob-to-regexp "^0.4.1"
712 | graceful-fs "^4.1.2"
713 |
714 | wrappy@1:
715 | version "1.0.2"
716 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
717 | integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==
718 |
719 | ws@8.13.0:
720 | version "8.13.0"
721 | resolved "https://registry.yarnpkg.com/ws/-/ws-8.13.0.tgz#9a9fb92f93cf41512a0735c8f4dd09b8a1211cd0"
722 | integrity sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==
723 |
724 | yallist@^4.0.0:
725 | version "4.0.0"
726 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
727 | integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
728 |
--------------------------------------------------------------------------------