├── .gitignore ├── public ├── cast.png ├── onchain.png └── env_credentials.png ├── next-env.d.ts ├── prettier.config.js ├── app ├── layout.tsx ├── page.tsx └── api │ └── frame │ └── route.ts ├── types └── commerceTypes.ts ├── tsconfig.json ├── package.json ├── LICENSE ├── utils └── utils.ts ├── README.md └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .DS_STORE 3 | .next/ 4 | .env 5 | .env.local -------------------------------------------------------------------------------- /public/cast.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamigordon/cb-commerce-frames/HEAD/public/cast.png -------------------------------------------------------------------------------- /public/onchain.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamigordon/cb-commerce-frames/HEAD/public/onchain.png -------------------------------------------------------------------------------- /public/env_credentials.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kamigordon/cb-commerce-frames/HEAD/public/env_credentials.png -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /types/commerceTypes.ts: -------------------------------------------------------------------------------- 1 | export interface ChargeRequestBody { 2 | local_price: { 3 | amount: string; 4 | currency: string; 5 | }; 6 | metadata: { 7 | walletAddress: string | undefined; 8 | }; 9 | pricing_type: 'fixed_price' | 'no_price'; 10 | name: string; 11 | description: string; 12 | redirect_url: string; 13 | } 14 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "cb-commerce-frames", 3 | "version": "0.1.0", 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": "@hughescoin", 13 | "license": "MIT", 14 | "dependencies": { 15 | "@coinbase/onchainkit": "0.3.0", 16 | "next": "13.5.6", 17 | "react-dom": "^18.2.0" 18 | }, 19 | "devDependencies": { 20 | "@types/node": "^20.11.8", 21 | "@types/react": "18.2.48", 22 | "prettier": "^3.2.4", 23 | "typescript": "^5.3.3" 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /app/page.tsx: -------------------------------------------------------------------------------- 1 | import { getFrameMetadata } from '@coinbase/onchainkit'; 2 | import type { Metadata } from 'next'; 3 | import { NEXT_PUBLIC_URL, IMAGE_NAME, ITEM_DESCRIPTION, ITEM_TITLE } from '../utils/utils'; 4 | 5 | const frameMetadata = getFrameMetadata({ 6 | buttons: [{ label: 'Buy', action: 'post_redirect' }], 7 | image: `${NEXT_PUBLIC_URL}/${IMAGE_NAME}`, 8 | post_url: `${NEXT_PUBLIC_URL}/api/frame`, 9 | }); 10 | 11 | export const metadata: Metadata = { 12 | title: ITEM_TITLE, 13 | description: ITEM_DESCRIPTION, 14 | openGraph: { 15 | title: ITEM_TITLE, 16 | description: ITEM_DESCRIPTION, 17 | images: [NEXT_PUBLIC_URL], 18 | }, 19 | other: { 20 | ...frameMetadata, 21 | }, 22 | }; 23 | 24 | export default function Page() { 25 | return ( 26 | <> 27 | 28 | 29 | ); 30 | } 31 | -------------------------------------------------------------------------------- /app/api/frame/route.ts: -------------------------------------------------------------------------------- 1 | import { NextRequest, NextResponse } from 'next/server'; 2 | 3 | import { createCharge, buildRequestBody, getMetaData } from '../../../utils/utils'; 4 | 5 | async function getResponse(req: NextRequest, hostedUrl: string): Promise { 6 | return NextResponse.redirect(hostedUrl, { status: 302 }); 7 | } 8 | 9 | export async function POST(req: NextRequest): Promise { 10 | try { 11 | const addr = await getMetaData(req); 12 | const body = buildRequestBody(addr); 13 | const responseData = await createCharge(body); 14 | const hostedUrl = responseData.data.hosted_url; 15 | console.log({ 16 | charge: responseData.data.id, 17 | user: addr, 18 | }); 19 | return getResponse(req, hostedUrl); 20 | } catch (error) { 21 | console.error('Error in POST function:', error); 22 | return new NextResponse(JSON.stringify({ error: 'Failed to create charge' }), { 23 | status: 500, 24 | headers: { 'Content-Type': 'application/json' }, 25 | }); 26 | } 27 | } 28 | 29 | export const dynamic = 'force-dynamic'; 30 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /utils/utils.ts: -------------------------------------------------------------------------------- 1 | import { ChargeRequestBody } from '../types/commerceTypes'; 2 | import { FrameRequest, getFrameAccountAddress, getFrameMessage } from '@coinbase/onchainkit'; 3 | import { NextRequest } from 'next/server'; 4 | export const NEXT_PUBLIC_URL = 'CHANGE ME'; 5 | export const apiKey = process.env.API_KEY; 6 | export const apiVersion = process.env.API_VERSION; 7 | export const commerceApiUrl = 'https://api.commerce.coinbase.com/charges'; 8 | export const PRODUCT_PRICE_USD = 'CHANGE ME'; 9 | export const ITEM_DESCRIPTION = 'YOUR PRODUCT DESCRIPTION'; 10 | export const ITEM_TITLE = 'CHANGE ME'; 11 | export const REDIRECT_URL = ''; //optional 12 | export const IMAGE_NAME = 'CHANGE ME'; 13 | 14 | export const createRequestHeaders = (): Headers => { 15 | const headers = new Headers(); 16 | headers.set('Content-Type', 'application/json'); 17 | headers.set('Accept', 'application/json'); 18 | headers.set('X-CC-Api-Key', `${apiKey}`); 19 | headers.set('X-CC-Version', `${apiVersion}`); 20 | return headers; 21 | }; 22 | 23 | const requestHeaders = createRequestHeaders(); 24 | export async function createCharge(chargeData: ChargeRequestBody): Promise { 25 | try { 26 | const response = await fetch(commerceApiUrl, { 27 | method: 'POST', 28 | headers: requestHeaders, 29 | body: JSON.stringify(chargeData), 30 | }); 31 | 32 | if (!response.ok) { 33 | throw new Error(`HTTP error! Status: ${response.status}`); 34 | } 35 | 36 | console.log('Response before parsing:', response); 37 | const responseData = await response.json(); 38 | console.log(responseData); 39 | return responseData; 40 | } catch (error) { 41 | console.error('Failed to create charge:', error); 42 | throw new Error('Failed to create charge: ' + error); 43 | } 44 | } 45 | 46 | export function buildRequestBody(address: string | undefined): ChargeRequestBody { 47 | const requestBody: ChargeRequestBody = { 48 | local_price: { 49 | amount: PRODUCT_PRICE_USD, 50 | currency: 'USD', 51 | }, 52 | metadata: { 53 | walletAddress: address, 54 | }, 55 | pricing_type: 'fixed_price', 56 | name: ITEM_TITLE, 57 | description: ITEM_DESCRIPTION, 58 | redirect_url: REDIRECT_URL, 59 | }; 60 | return requestBody; 61 | } 62 | 63 | export async function getMetaData(req: NextRequest) { 64 | let accountAddress: string | undefined = ''; 65 | const body: FrameRequest = await req.json(); 66 | const { isValid, message } = await getFrameMessage(body); 67 | if (isValid) { 68 | try { 69 | accountAddress = await getFrameAccountAddress(message, { 70 | NEYNAR_API_KEY: 'NEYNAR_API_DOCS', 71 | }); 72 | return accountAddress; 73 | } catch (err) { 74 | console.error(err); 75 | } 76 | } 77 | } 78 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ### Commerce x Farcaster Frames Single-Item Guide 2 | 3 | This guide explain how to sell a single item using via a Cast which allows your users to pay with crypto via Coinbase Commerce. 4 | 5 | ## Pre-requirements 6 | 7 | 1. Create a Coinbase Commerce [account](https://beta.commerce.coinbase.com/sign-up) 8 | 9 | > [!TIP] 10 | > Be sure to set your [deposit address](https://beta.commerce.coinbase.com/settings/deposits) in the Coinbase Commerce merchant dashboard to avoid charge creation failures. 11 | 12 | 2. You will need a custom domain. This guide will use a vercel [account](https://vercel.com/signup) for easy deployment and testing. 13 | 14 | > [!IMPORTANT] 15 | > Warpcast requires your Frame to be a `https://` URL 16 | 17 | 3. Create a Github [account] (https://github.com/signup) 18 | 4. An image of your item for sale (`.png`, `.jpg`) with 1200 x 630 pixel dimensions 19 | 20 | ## Start here 21 | 22 | 1. [Fork](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/fork-a-repo?tool=webui#forking-a-repository) this repo 23 | 2. Connect your github account to Vercel. Reference the [official Vercel](https://vercel.com/docs/deployments/git#deploying-a-git-repository) guide for detailed steps 24 | 3. Upload your [Commerce API](https://beta.commerce.coinbase.com/settings/security) key credentials to Vercel settings page or your website hosting server. See the official Vercel guide on [environment variables](https://vercel.com/docs/projects/environment-variables) for detailed steps 25 | [!image](./public/env_credentials.png) 26 | 27 | > [!TIP] 28 | > For an app deployed at `https://sample-frame.vercel.app/` your settings page will be located at `https://vercel.com/your-projects/sample-frame/settings` 29 | 30 | 4. Open the forked repo from step 1 in a code editor like Visual Studio 31 | 5. Using a code editor or the command line, replace the temporary image in the `public/` folder with the image of your product 32 | 6. Navigate to the `utils/` folder (if using the command line run `cd utils/`) 33 | 7. Replace the following variables in the `utils.ts` file: 34 | 35 | > [!IMPORTANT] 36 | > Ensure your `NEXT_PUBLIC_URL` does not have a trailing `/`. Extra characters in the `post_url` will cause the redirect to fail. 37 | 38 | - `NEXT_PUBLIC_URL` - Your website or vercel domain (ex: `https://your-site.com` or `https://sample-frame.vercel.app/`). You may find your vercel domain under your [Projects](https://vercel.com/hughescoins-projects) page 39 | - `ITEM_DESCRIPTION` - A description of your product 40 | - `ITEM_TITLE` - Title of your product 41 | - `IMAGE_NAME` - The full name of your image including file type. (ex: `onchain.png`) 42 | - (optional) `REDIRECT_URL` - A URL (`string`) to redirect users to upon purchase completion 43 | - `PRODUCT_PRICE_USD` - The price (`string`) of your prouct in USD (ex: "5.99") 44 | 45 | ## Commit changes 46 | 47 | ``` 48 | git init 49 | git add -A 50 | git commit -m "first frame" 51 | git branch -M master 52 | git remote add origin git@github.com:Your-Github-Username/Your-Forked-Repo.git 53 | git push -u origin master 54 | ``` 55 | 56 | ## Add Cast your Frame: 57 | 58 | 1. Log into your [Warpcast](https://warpcast.com/) 59 | 2. Paste a link to your vercel site or custom domain _remember to use `https://`_ 60 | ![image](./public/cast.png) 61 | 3. Click "Cast" 62 | 63 | Enjoy! 64 | 65 | # Additional tips 66 | 67 | > [!TIP] 68 | > Use the Frame [validator tool](https://warpcast.com/~/developers/frames) to view your frame and test functionality. 69 | 70 | # A redirect frame example 71 | 72 | Built using [a-frame-in-100-lines](https://github.com/Zizzamia/a-frame-in-100-lines) by [Zizzamia](https://github.com/Zizzamia) 73 | and [redirect-frame](https://github.com/farcasterxyz/redirect-frame) by [Zizzamia](https://github.com/Zizzamia) and [Sanjay](https://github.com/sanjayprabhu) 74 | 75 | ## Resources 76 | 77 | - [Official Farcaster Frames docs](https://warpcast.notion.site/Farcaster-Frames-4bd47fe97dc74a42a48d3a234636d8c5) 78 | 79 | ## License 80 | 81 | This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details 82 | -------------------------------------------------------------------------------- /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 | "integrity" "sha512-nA9XHtlAkYfJxY7bce8DcN7eKxWWCWkU+1GR9d+U6MbNpfwQp8TI7vqOsBsMcHoT4mBu2kypKoSKnghEzOOq5Q==" 7 | "resolved" "https://registry.npmjs.org/@adraffy/ens-normalize/-/ens-normalize-1.10.0.tgz" 8 | "version" "1.10.0" 9 | 10 | "@coinbase/onchainkit@0.3.0": 11 | "integrity" "sha512-BMcnUYRNyT8hSXbJ2oepj0iGeg+pgx4ywCv4MHbJioTGJsnT1uPffHetjq78qFw9M4vdyYEfZe1mrg+QjNFZAQ==" 12 | "resolved" "https://registry.npmjs.org/@coinbase/onchainkit/-/onchainkit-0.3.0.tgz" 13 | "version" "0.3.0" 14 | dependencies: 15 | "@ethersproject/abstract-signer" "^5.7.0" 16 | "@farcaster/fishery" "^2.2.3" 17 | "@farcaster/hub-nodejs" "^0.10.21" 18 | "ethers" "^6.10.0" 19 | "react" "^18" 20 | "viem" "^2.5.0" 21 | 22 | "@ethersproject/abstract-provider@^5.7.0": 23 | "integrity" "sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==" 24 | "resolved" "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz" 25 | "version" "5.7.0" 26 | dependencies: 27 | "@ethersproject/bignumber" "^5.7.0" 28 | "@ethersproject/bytes" "^5.7.0" 29 | "@ethersproject/logger" "^5.7.0" 30 | "@ethersproject/networks" "^5.7.0" 31 | "@ethersproject/properties" "^5.7.0" 32 | "@ethersproject/transactions" "^5.7.0" 33 | "@ethersproject/web" "^5.7.0" 34 | 35 | "@ethersproject/abstract-signer@^5.7.0": 36 | "integrity" "sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ==" 37 | "resolved" "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz" 38 | "version" "5.7.0" 39 | dependencies: 40 | "@ethersproject/abstract-provider" "^5.7.0" 41 | "@ethersproject/bignumber" "^5.7.0" 42 | "@ethersproject/bytes" "^5.7.0" 43 | "@ethersproject/logger" "^5.7.0" 44 | "@ethersproject/properties" "^5.7.0" 45 | 46 | "@ethersproject/address@^5.7.0": 47 | "integrity" "sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==" 48 | "resolved" "https://registry.npmjs.org/@ethersproject/address/-/address-5.7.0.tgz" 49 | "version" "5.7.0" 50 | dependencies: 51 | "@ethersproject/bignumber" "^5.7.0" 52 | "@ethersproject/bytes" "^5.7.0" 53 | "@ethersproject/keccak256" "^5.7.0" 54 | "@ethersproject/logger" "^5.7.0" 55 | "@ethersproject/rlp" "^5.7.0" 56 | 57 | "@ethersproject/base64@^5.7.0": 58 | "integrity" "sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==" 59 | "resolved" "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.7.0.tgz" 60 | "version" "5.7.0" 61 | dependencies: 62 | "@ethersproject/bytes" "^5.7.0" 63 | 64 | "@ethersproject/bignumber@^5.7.0": 65 | "integrity" "sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==" 66 | "resolved" "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.7.0.tgz" 67 | "version" "5.7.0" 68 | dependencies: 69 | "@ethersproject/bytes" "^5.7.0" 70 | "@ethersproject/logger" "^5.7.0" 71 | "bn.js" "^5.2.1" 72 | 73 | "@ethersproject/bytes@^5.7.0": 74 | "integrity" "sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==" 75 | "resolved" "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.7.0.tgz" 76 | "version" "5.7.0" 77 | dependencies: 78 | "@ethersproject/logger" "^5.7.0" 79 | 80 | "@ethersproject/constants@^5.7.0": 81 | "integrity" "sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==" 82 | "resolved" "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.7.0.tgz" 83 | "version" "5.7.0" 84 | dependencies: 85 | "@ethersproject/bignumber" "^5.7.0" 86 | 87 | "@ethersproject/keccak256@^5.7.0": 88 | "integrity" "sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==" 89 | "resolved" "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.7.0.tgz" 90 | "version" "5.7.0" 91 | dependencies: 92 | "@ethersproject/bytes" "^5.7.0" 93 | "js-sha3" "0.8.0" 94 | 95 | "@ethersproject/logger@^5.7.0": 96 | "integrity" "sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==" 97 | "resolved" "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.7.0.tgz" 98 | "version" "5.7.0" 99 | 100 | "@ethersproject/networks@^5.7.0": 101 | "integrity" "sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==" 102 | "resolved" "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.7.1.tgz" 103 | "version" "5.7.1" 104 | dependencies: 105 | "@ethersproject/logger" "^5.7.0" 106 | 107 | "@ethersproject/properties@^5.7.0": 108 | "integrity" "sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==" 109 | "resolved" "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.7.0.tgz" 110 | "version" "5.7.0" 111 | dependencies: 112 | "@ethersproject/logger" "^5.7.0" 113 | 114 | "@ethersproject/rlp@^5.7.0": 115 | "integrity" "sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==" 116 | "resolved" "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.7.0.tgz" 117 | "version" "5.7.0" 118 | dependencies: 119 | "@ethersproject/bytes" "^5.7.0" 120 | "@ethersproject/logger" "^5.7.0" 121 | 122 | "@ethersproject/signing-key@^5.7.0": 123 | "integrity" "sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q==" 124 | "resolved" "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.7.0.tgz" 125 | "version" "5.7.0" 126 | dependencies: 127 | "@ethersproject/bytes" "^5.7.0" 128 | "@ethersproject/logger" "^5.7.0" 129 | "@ethersproject/properties" "^5.7.0" 130 | "bn.js" "^5.2.1" 131 | "elliptic" "6.5.4" 132 | "hash.js" "1.1.7" 133 | 134 | "@ethersproject/strings@^5.7.0": 135 | "integrity" "sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==" 136 | "resolved" "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.7.0.tgz" 137 | "version" "5.7.0" 138 | dependencies: 139 | "@ethersproject/bytes" "^5.7.0" 140 | "@ethersproject/constants" "^5.7.0" 141 | "@ethersproject/logger" "^5.7.0" 142 | 143 | "@ethersproject/transactions@^5.7.0": 144 | "integrity" "sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==" 145 | "resolved" "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.7.0.tgz" 146 | "version" "5.7.0" 147 | dependencies: 148 | "@ethersproject/address" "^5.7.0" 149 | "@ethersproject/bignumber" "^5.7.0" 150 | "@ethersproject/bytes" "^5.7.0" 151 | "@ethersproject/constants" "^5.7.0" 152 | "@ethersproject/keccak256" "^5.7.0" 153 | "@ethersproject/logger" "^5.7.0" 154 | "@ethersproject/properties" "^5.7.0" 155 | "@ethersproject/rlp" "^5.7.0" 156 | "@ethersproject/signing-key" "^5.7.0" 157 | 158 | "@ethersproject/web@^5.7.0": 159 | "integrity" "sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==" 160 | "resolved" "https://registry.npmjs.org/@ethersproject/web/-/web-5.7.1.tgz" 161 | "version" "5.7.1" 162 | dependencies: 163 | "@ethersproject/base64" "^5.7.0" 164 | "@ethersproject/bytes" "^5.7.0" 165 | "@ethersproject/logger" "^5.7.0" 166 | "@ethersproject/properties" "^5.7.0" 167 | "@ethersproject/strings" "^5.7.0" 168 | 169 | "@farcaster/core@0.13.5": 170 | "integrity" "sha512-F1+aELiNFUCm12IsG4uipbTfZ47bDhPkVyc4tgE2shSOZfVHMUpAkX+XLFIpU0ty2eus1/f0MJNBEWRss1Jq6g==" 171 | "resolved" "https://registry.npmjs.org/@farcaster/core/-/core-0.13.5.tgz" 172 | "version" "0.13.5" 173 | dependencies: 174 | "@noble/curves" "^1.0.0" 175 | "@noble/hashes" "^1.3.0" 176 | "ffi-napi" "^4.0.3" 177 | "neverthrow" "^6.0.0" 178 | "ref-napi" "^3.0.3" 179 | "viem" "^1.12.2" 180 | 181 | "@farcaster/fishery@^2.2.3": 182 | "integrity" "sha512-BFiDZQYO6pGaJ6GKlei4AO6xAM6yvi9YUOcc1fVBeuirnkjr81xunj7i5wmvBuxwKsbm8c/g91EAloQg+zCm7g==" 183 | "resolved" "https://registry.npmjs.org/@farcaster/fishery/-/fishery-2.2.3.tgz" 184 | "version" "2.2.3" 185 | dependencies: 186 | "lodash.mergewith" "^4.6.2" 187 | 188 | "@farcaster/hub-nodejs@^0.10.21": 189 | "integrity" "sha512-tOv1iKbCl4jsiKUiQr5Duu1vCFV54wRN4+Xt/PKYk7ihy1+MJ9U6lCqkXNH52xtye7hGshKsHrH9CaQU8FO/sA==" 190 | "resolved" "https://registry.npmjs.org/@farcaster/hub-nodejs/-/hub-nodejs-0.10.21.tgz" 191 | "version" "0.10.21" 192 | dependencies: 193 | "@farcaster/core" "0.13.5" 194 | "@grpc/grpc-js" "~1.8.21" 195 | "@noble/hashes" "^1.3.0" 196 | "neverthrow" "^6.0.0" 197 | 198 | "@grpc/grpc-js@~1.8.21": 199 | "integrity" "sha512-KeyQeZpxeEBSqFVTi3q2K7PiPXmgBfECc4updA1ejCLjYmoAlvvM3ZMp5ztTDUCUQmoY3CpDxvchjO1+rFkoHg==" 200 | "resolved" "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.8.21.tgz" 201 | "version" "1.8.21" 202 | dependencies: 203 | "@grpc/proto-loader" "^0.7.0" 204 | "@types/node" ">=12.12.47" 205 | 206 | "@grpc/proto-loader@^0.7.0": 207 | "integrity" "sha512-CAqDfoaQ8ykFd9zqBDn4k6iWT9loLAlc2ETmDFS9JCD70gDcnA4L3AFEo2iV7KyAtAAHFW9ftq1Fz+Vsgq80RQ==" 208 | "resolved" "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.10.tgz" 209 | "version" "0.7.10" 210 | dependencies: 211 | "lodash.camelcase" "^4.3.0" 212 | "long" "^5.0.0" 213 | "protobufjs" "^7.2.4" 214 | "yargs" "^17.7.2" 215 | 216 | "@next/env@13.5.6": 217 | "integrity" "sha512-Yac/bV5sBGkkEXmAX5FWPS9Mmo2rthrOPRQQNfycJPkjUAUclomCPH7QFVCDQ4Mp2k2K1SSM6m0zrxYrOwtFQw==" 218 | "resolved" "https://registry.npmjs.org/@next/env/-/env-13.5.6.tgz" 219 | "version" "13.5.6" 220 | 221 | "@next/swc-darwin-arm64@13.5.6": 222 | "integrity" "sha512-5nvXMzKtZfvcu4BhtV0KH1oGv4XEW+B+jOfmBdpFI3C7FrB/MfujRpWYSBBO64+qbW8pkZiSyQv9eiwnn5VIQA==" 223 | "resolved" "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.5.6.tgz" 224 | "version" "13.5.6" 225 | 226 | "@noble/curves@^1.0.0", "@noble/curves@1.2.0": 227 | "integrity" "sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==" 228 | "resolved" "https://registry.npmjs.org/@noble/curves/-/curves-1.2.0.tgz" 229 | "version" "1.2.0" 230 | dependencies: 231 | "@noble/hashes" "1.3.2" 232 | 233 | "@noble/curves@~1.2.0": 234 | "integrity" "sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==" 235 | "resolved" "https://registry.npmjs.org/@noble/curves/-/curves-1.2.0.tgz" 236 | "version" "1.2.0" 237 | dependencies: 238 | "@noble/hashes" "1.3.2" 239 | 240 | "@noble/hashes@^1.3.0", "@noble/hashes@~1.3.0": 241 | "integrity" "sha512-V7/fPHgl+jsVPXqqeOzT8egNj2iBIVt+ECeMMG8TdcnTikP3oaBtUVqpT/gYCR68aEBJSF+XbYUxStjbFMqIIA==" 242 | "resolved" "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.3.tgz" 243 | "version" "1.3.3" 244 | 245 | "@noble/hashes@~1.3.2", "@noble/hashes@1.3.2": 246 | "integrity" "sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==" 247 | "resolved" "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.2.tgz" 248 | "version" "1.3.2" 249 | 250 | "@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2": 251 | "integrity" "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==" 252 | "resolved" "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz" 253 | "version" "1.1.2" 254 | 255 | "@protobufjs/base64@^1.1.2": 256 | "integrity" "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" 257 | "resolved" "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz" 258 | "version" "1.1.2" 259 | 260 | "@protobufjs/codegen@^2.0.4": 261 | "integrity" "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" 262 | "resolved" "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz" 263 | "version" "2.0.4" 264 | 265 | "@protobufjs/eventemitter@^1.1.0": 266 | "integrity" "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==" 267 | "resolved" "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz" 268 | "version" "1.1.0" 269 | 270 | "@protobufjs/fetch@^1.1.0": 271 | "integrity" "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==" 272 | "resolved" "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz" 273 | "version" "1.1.0" 274 | dependencies: 275 | "@protobufjs/aspromise" "^1.1.1" 276 | "@protobufjs/inquire" "^1.1.0" 277 | 278 | "@protobufjs/float@^1.0.2": 279 | "integrity" "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==" 280 | "resolved" "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz" 281 | "version" "1.0.2" 282 | 283 | "@protobufjs/inquire@^1.1.0": 284 | "integrity" "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==" 285 | "resolved" "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz" 286 | "version" "1.1.0" 287 | 288 | "@protobufjs/path@^1.1.2": 289 | "integrity" "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==" 290 | "resolved" "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz" 291 | "version" "1.1.2" 292 | 293 | "@protobufjs/pool@^1.1.0": 294 | "integrity" "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==" 295 | "resolved" "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz" 296 | "version" "1.1.0" 297 | 298 | "@protobufjs/utf8@^1.1.0": 299 | "integrity" "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==" 300 | "resolved" "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz" 301 | "version" "1.1.0" 302 | 303 | "@scure/base@~1.1.0", "@scure/base@~1.1.2": 304 | "integrity" "sha512-Brj9FiG2W1MRQSTB212YVPRrcbjkv48FoZi/u4l/zds/ieRrqsh7aUf6CLwkAq61oKXr/ZlTzlY66gLIj3TFTQ==" 305 | "resolved" "https://registry.npmjs.org/@scure/base/-/base-1.1.5.tgz" 306 | "version" "1.1.5" 307 | 308 | "@scure/bip32@1.3.2": 309 | "integrity" "sha512-N1ZhksgwD3OBlwTv3R6KFEcPojl/W4ElJOeCZdi+vuI5QmTFwLq3OFf2zd2ROpKvxFdgZ6hUpb0dx9bVNEwYCA==" 310 | "resolved" "https://registry.npmjs.org/@scure/bip32/-/bip32-1.3.2.tgz" 311 | "version" "1.3.2" 312 | dependencies: 313 | "@noble/curves" "~1.2.0" 314 | "@noble/hashes" "~1.3.2" 315 | "@scure/base" "~1.1.2" 316 | 317 | "@scure/bip39@1.2.1": 318 | "integrity" "sha512-Z3/Fsz1yr904dduJD0NpiyRHhRYHdcnyh73FZWiV+/qhWi83wNJ3NWolYqCEN+ZWsUz2TWwajJggcRE9r1zUYg==" 319 | "resolved" "https://registry.npmjs.org/@scure/bip39/-/bip39-1.2.1.tgz" 320 | "version" "1.2.1" 321 | dependencies: 322 | "@noble/hashes" "~1.3.0" 323 | "@scure/base" "~1.1.0" 324 | 325 | "@swc/helpers@0.5.2": 326 | "integrity" "sha512-E4KcWTpoLHqwPHLxidpOqQbcrZVgi0rsmmZXUle1jXmJfuIf/UWpczUJ7MZZ5tlxytgJXyp0w4PGkkeLiuIdZw==" 327 | "resolved" "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.2.tgz" 328 | "version" "0.5.2" 329 | dependencies: 330 | "tslib" "^2.4.0" 331 | 332 | "@types/node@^20.11.8", "@types/node@>=12.12.47", "@types/node@>=13.7.0": 333 | "integrity" "sha512-i7omyekpPTNdv4Jb/Rgqg0RU8YqLcNsI12quKSDkRXNfx7Wxdm6HhK1awT3xTgEkgxPn3bvnSpiEAc7a7Lpyow==" 334 | "resolved" "https://registry.npmjs.org/@types/node/-/node-20.11.8.tgz" 335 | "version" "20.11.8" 336 | dependencies: 337 | "undici-types" "~5.26.4" 338 | 339 | "@types/node@18.15.13": 340 | "integrity" "sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q==" 341 | "resolved" "https://registry.npmjs.org/@types/node/-/node-18.15.13.tgz" 342 | "version" "18.15.13" 343 | 344 | "@types/prop-types@*": 345 | "integrity" "sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==" 346 | "resolved" "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.11.tgz" 347 | "version" "15.7.11" 348 | 349 | "@types/react@18.2.48": 350 | "integrity" "sha512-qboRCl6Ie70DQQG9hhNREz81jqC1cs9EVNcjQ1AU+jH6NFfSAhVVbrrY/+nSF+Bsk4AOwm9Qa61InvMCyV+H3w==" 351 | "resolved" "https://registry.npmjs.org/@types/react/-/react-18.2.48.tgz" 352 | "version" "18.2.48" 353 | dependencies: 354 | "@types/prop-types" "*" 355 | "@types/scheduler" "*" 356 | "csstype" "^3.0.2" 357 | 358 | "@types/scheduler@*": 359 | "integrity" "sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==" 360 | "resolved" "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz" 361 | "version" "0.16.8" 362 | 363 | "abitype@0.9.8": 364 | "integrity" "sha512-puLifILdm+8sjyss4S+fsUN09obiT1g2YW6CtcQF+QDzxR0euzgEB29MZujC6zMk2a6SVmtttq1fc6+YFA7WYQ==" 365 | "resolved" "https://registry.npmjs.org/abitype/-/abitype-0.9.8.tgz" 366 | "version" "0.9.8" 367 | 368 | "abitype@1.0.0": 369 | "integrity" "sha512-NMeMah//6bJ56H5XRj8QCV4AwuW6hB6zqz2LnhhLdcWVQOsXki6/Pn3APeqxCma62nXIcmZWdu1DlHWS74umVQ==" 370 | "resolved" "https://registry.npmjs.org/abitype/-/abitype-1.0.0.tgz" 371 | "version" "1.0.0" 372 | 373 | "aes-js@4.0.0-beta.5": 374 | "integrity" "sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q==" 375 | "resolved" "https://registry.npmjs.org/aes-js/-/aes-js-4.0.0-beta.5.tgz" 376 | "version" "4.0.0-beta.5" 377 | 378 | "ansi-regex@^5.0.1": 379 | "integrity" "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" 380 | "resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" 381 | "version" "5.0.1" 382 | 383 | "ansi-styles@^4.0.0": 384 | "integrity" "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==" 385 | "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" 386 | "version" "4.3.0" 387 | dependencies: 388 | "color-convert" "^2.0.1" 389 | 390 | "bn.js@^4.11.9": 391 | "integrity" "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" 392 | "resolved" "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz" 393 | "version" "4.12.0" 394 | 395 | "bn.js@^5.2.1": 396 | "integrity" "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" 397 | "resolved" "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz" 398 | "version" "5.2.1" 399 | 400 | "brorand@^1.1.0": 401 | "integrity" "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" 402 | "resolved" "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz" 403 | "version" "1.1.0" 404 | 405 | "busboy@1.6.0": 406 | "integrity" "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==" 407 | "resolved" "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz" 408 | "version" "1.6.0" 409 | dependencies: 410 | "streamsearch" "^1.1.0" 411 | 412 | "caniuse-lite@^1.0.30001406": 413 | "integrity" "sha512-whlTkwhqV2tUmP3oYhtNfaWGYHDdS3JYFQBKXxcUR9qqPWsRhFHhoISO2Xnl/g0xyKzht9mI1LZpiNWfMzHixQ==" 414 | "resolved" "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001581.tgz" 415 | "version" "1.0.30001581" 416 | 417 | "client-only@0.0.1": 418 | "integrity" "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==" 419 | "resolved" "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz" 420 | "version" "0.0.1" 421 | 422 | "cliui@^8.0.1": 423 | "integrity" "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==" 424 | "resolved" "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz" 425 | "version" "8.0.1" 426 | dependencies: 427 | "string-width" "^4.2.0" 428 | "strip-ansi" "^6.0.1" 429 | "wrap-ansi" "^7.0.0" 430 | 431 | "color-convert@^2.0.1": 432 | "integrity" "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==" 433 | "resolved" "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" 434 | "version" "2.0.1" 435 | dependencies: 436 | "color-name" "~1.1.4" 437 | 438 | "color-name@~1.1.4": 439 | "integrity" "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" 440 | "resolved" "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" 441 | "version" "1.1.4" 442 | 443 | "csstype@^3.0.2": 444 | "integrity" "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" 445 | "resolved" "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz" 446 | "version" "3.1.3" 447 | 448 | "debug@^3.1.0": 449 | "integrity" "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==" 450 | "resolved" "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" 451 | "version" "3.2.7" 452 | dependencies: 453 | "ms" "^2.1.1" 454 | 455 | "debug@^4.1.1": 456 | "integrity" "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==" 457 | "resolved" "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" 458 | "version" "4.3.4" 459 | dependencies: 460 | "ms" "2.1.2" 461 | 462 | "elliptic@6.5.4": 463 | "integrity" "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==" 464 | "resolved" "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz" 465 | "version" "6.5.4" 466 | dependencies: 467 | "bn.js" "^4.11.9" 468 | "brorand" "^1.1.0" 469 | "hash.js" "^1.0.0" 470 | "hmac-drbg" "^1.0.1" 471 | "inherits" "^2.0.4" 472 | "minimalistic-assert" "^1.0.1" 473 | "minimalistic-crypto-utils" "^1.0.1" 474 | 475 | "emoji-regex@^8.0.0": 476 | "integrity" "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" 477 | "resolved" "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" 478 | "version" "8.0.0" 479 | 480 | "escalade@^3.1.1": 481 | "integrity" "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" 482 | "resolved" "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" 483 | "version" "3.1.1" 484 | 485 | "ethers@^6.10.0": 486 | "integrity" "sha512-nMNwYHzs6V1FR3Y4cdfxSQmNgZsRj1RiTU25JwvnJLmyzw9z3SKxNc2XKDuiXXo/v9ds5Mp9m6HBabgYQQ26tA==" 487 | "resolved" "https://registry.npmjs.org/ethers/-/ethers-6.10.0.tgz" 488 | "version" "6.10.0" 489 | dependencies: 490 | "@adraffy/ens-normalize" "1.10.0" 491 | "@noble/curves" "1.2.0" 492 | "@noble/hashes" "1.3.2" 493 | "@types/node" "18.15.13" 494 | "aes-js" "4.0.0-beta.5" 495 | "tslib" "2.4.0" 496 | "ws" "8.5.0" 497 | 498 | "ffi-napi@^4.0.3": 499 | "integrity" "sha512-PMdLCIvDY9mS32RxZ0XGb95sonPRal8aqRhLbeEtWKZTe2A87qRFG9HjOhvG8EX2UmQw5XNRMIOT+1MYlWmdeg==" 500 | "resolved" "https://registry.npmjs.org/ffi-napi/-/ffi-napi-4.0.3.tgz" 501 | "version" "4.0.3" 502 | dependencies: 503 | "debug" "^4.1.1" 504 | "get-uv-event-loop-napi-h" "^1.0.5" 505 | "node-addon-api" "^3.0.0" 506 | "node-gyp-build" "^4.2.1" 507 | "ref-napi" "^2.0.1 || ^3.0.2" 508 | "ref-struct-di" "^1.1.0" 509 | 510 | "get-caller-file@^2.0.5": 511 | "integrity" "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" 512 | "resolved" "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" 513 | "version" "2.0.5" 514 | 515 | "get-symbol-from-current-process-h@^1.0.1", "get-symbol-from-current-process-h@^1.0.2": 516 | "integrity" "sha512-syloC6fsCt62ELLrr1VKBM1ggOpMdetX9hTrdW77UQdcApPHLmf7CI7OKcN1c9kYuNxKcDe4iJ4FY9sX3aw2xw==" 517 | "resolved" "https://registry.npmjs.org/get-symbol-from-current-process-h/-/get-symbol-from-current-process-h-1.0.2.tgz" 518 | "version" "1.0.2" 519 | 520 | "get-uv-event-loop-napi-h@^1.0.5": 521 | "integrity" "sha512-t5c9VNR84nRoF+eLiz6wFrEp1SE2Acg0wS+Ysa2zF0eROes+LzOfuTaVHxGy8AbS8rq7FHEJzjnCZo1BupwdJg==" 522 | "resolved" "https://registry.npmjs.org/get-uv-event-loop-napi-h/-/get-uv-event-loop-napi-h-1.0.6.tgz" 523 | "version" "1.0.6" 524 | dependencies: 525 | "get-symbol-from-current-process-h" "^1.0.1" 526 | 527 | "glob-to-regexp@^0.4.1": 528 | "integrity" "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" 529 | "resolved" "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz" 530 | "version" "0.4.1" 531 | 532 | "graceful-fs@^4.1.2": 533 | "integrity" "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" 534 | "resolved" "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz" 535 | "version" "4.2.11" 536 | 537 | "hash.js@^1.0.0", "hash.js@^1.0.3", "hash.js@1.1.7": 538 | "integrity" "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==" 539 | "resolved" "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz" 540 | "version" "1.1.7" 541 | dependencies: 542 | "inherits" "^2.0.3" 543 | "minimalistic-assert" "^1.0.1" 544 | 545 | "hmac-drbg@^1.0.1": 546 | "integrity" "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==" 547 | "resolved" "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz" 548 | "version" "1.0.1" 549 | dependencies: 550 | "hash.js" "^1.0.3" 551 | "minimalistic-assert" "^1.0.0" 552 | "minimalistic-crypto-utils" "^1.0.1" 553 | 554 | "inherits@^2.0.3", "inherits@^2.0.4": 555 | "integrity" "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" 556 | "resolved" "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" 557 | "version" "2.0.4" 558 | 559 | "is-fullwidth-code-point@^3.0.0": 560 | "integrity" "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" 561 | "resolved" "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" 562 | "version" "3.0.0" 563 | 564 | "isows@1.0.3": 565 | "integrity" "sha512-2cKei4vlmg2cxEjm3wVSqn8pcoRF/LX/wpifuuNquFO4SQmPwarClT+SUCA2lt+l581tTeZIPIZuIDo2jWN1fg==" 566 | "resolved" "https://registry.npmjs.org/isows/-/isows-1.0.3.tgz" 567 | "version" "1.0.3" 568 | 569 | "js-sha3@0.8.0": 570 | "integrity" "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" 571 | "resolved" "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz" 572 | "version" "0.8.0" 573 | 574 | "js-tokens@^3.0.0 || ^4.0.0": 575 | "integrity" "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" 576 | "resolved" "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" 577 | "version" "4.0.0" 578 | 579 | "lodash.camelcase@^4.3.0": 580 | "integrity" "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" 581 | "resolved" "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz" 582 | "version" "4.3.0" 583 | 584 | "lodash.mergewith@^4.6.2": 585 | "integrity" "sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==" 586 | "resolved" "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz" 587 | "version" "4.6.2" 588 | 589 | "long@^5.0.0": 590 | "integrity" "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==" 591 | "resolved" "https://registry.npmjs.org/long/-/long-5.2.3.tgz" 592 | "version" "5.2.3" 593 | 594 | "loose-envify@^1.1.0": 595 | "integrity" "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==" 596 | "resolved" "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz" 597 | "version" "1.4.0" 598 | dependencies: 599 | "js-tokens" "^3.0.0 || ^4.0.0" 600 | 601 | "minimalistic-assert@^1.0.0", "minimalistic-assert@^1.0.1": 602 | "integrity" "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" 603 | "resolved" "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz" 604 | "version" "1.0.1" 605 | 606 | "minimalistic-crypto-utils@^1.0.1": 607 | "integrity" "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" 608 | "resolved" "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz" 609 | "version" "1.0.1" 610 | 611 | "ms@^2.1.1", "ms@2.1.2": 612 | "integrity" "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" 613 | "resolved" "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" 614 | "version" "2.1.2" 615 | 616 | "nanoid@^3.3.6": 617 | "integrity" "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==" 618 | "resolved" "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz" 619 | "version" "3.3.7" 620 | 621 | "neverthrow@^6.0.0": 622 | "integrity" "sha512-xNbNjp/6M5vUV+mststgneJN9eJeJCDSYSBTaf3vxgvcKooP+8L0ATFpM8DGfmH7UWKJeoa24Qi33tBP9Ya3zA==" 623 | "resolved" "https://registry.npmjs.org/neverthrow/-/neverthrow-6.1.0.tgz" 624 | "version" "6.1.0" 625 | 626 | "next@13.5.6": 627 | "integrity" "sha512-Y2wTcTbO4WwEsVb4A8VSnOsG1I9ok+h74q0ZdxkwM3EODqrs4pasq7O0iUxbcS9VtWMicG7f3+HAj0r1+NtKSw==" 628 | "resolved" "https://registry.npmjs.org/next/-/next-13.5.6.tgz" 629 | "version" "13.5.6" 630 | dependencies: 631 | "@next/env" "13.5.6" 632 | "@swc/helpers" "0.5.2" 633 | "busboy" "1.6.0" 634 | "caniuse-lite" "^1.0.30001406" 635 | "postcss" "8.4.31" 636 | "styled-jsx" "5.1.1" 637 | "watchpack" "2.4.0" 638 | optionalDependencies: 639 | "@next/swc-darwin-arm64" "13.5.6" 640 | "@next/swc-darwin-x64" "13.5.6" 641 | "@next/swc-linux-arm64-gnu" "13.5.6" 642 | "@next/swc-linux-arm64-musl" "13.5.6" 643 | "@next/swc-linux-x64-gnu" "13.5.6" 644 | "@next/swc-linux-x64-musl" "13.5.6" 645 | "@next/swc-win32-arm64-msvc" "13.5.6" 646 | "@next/swc-win32-ia32-msvc" "13.5.6" 647 | "@next/swc-win32-x64-msvc" "13.5.6" 648 | 649 | "node-addon-api@^3.0.0": 650 | "integrity" "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==" 651 | "resolved" "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz" 652 | "version" "3.2.1" 653 | 654 | "node-gyp-build@^4.2.1": 655 | "integrity" "sha512-u6fs2AEUljNho3EYTJNBfImO5QTo/J/1Etd+NVdCj7qWKUSN/bSLkZwhDv7I+w/MSC6qJ4cknepkAYykDdK8og==" 656 | "resolved" "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.0.tgz" 657 | "version" "4.8.0" 658 | 659 | "picocolors@^1.0.0": 660 | "integrity" "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" 661 | "resolved" "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" 662 | "version" "1.0.0" 663 | 664 | "postcss@8.4.31": 665 | "integrity" "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==" 666 | "resolved" "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz" 667 | "version" "8.4.31" 668 | dependencies: 669 | "nanoid" "^3.3.6" 670 | "picocolors" "^1.0.0" 671 | "source-map-js" "^1.0.2" 672 | 673 | "prettier@^3.2.4": 674 | "integrity" "sha512-FWu1oLHKCrtpO1ypU6J0SbK2d9Ckwysq6bHj/uaCP26DxrPpppCLQRGVuqAxSTvhF00AcvDRyYrLNW7ocBhFFQ==" 675 | "resolved" "https://registry.npmjs.org/prettier/-/prettier-3.2.4.tgz" 676 | "version" "3.2.4" 677 | 678 | "protobufjs@^7.2.4": 679 | "integrity" "sha512-dgJaEDDL6x8ASUZ1YqWciTRrdOuYNzoOf27oHNfdyvKqHr5i0FV7FSLU+aIeFjyFgVxrpTOtQUi0BLLBymZaBw==" 680 | "resolved" "https://registry.npmjs.org/protobufjs/-/protobufjs-7.2.6.tgz" 681 | "version" "7.2.6" 682 | dependencies: 683 | "@protobufjs/aspromise" "^1.1.2" 684 | "@protobufjs/base64" "^1.1.2" 685 | "@protobufjs/codegen" "^2.0.4" 686 | "@protobufjs/eventemitter" "^1.1.0" 687 | "@protobufjs/fetch" "^1.1.0" 688 | "@protobufjs/float" "^1.0.2" 689 | "@protobufjs/inquire" "^1.1.0" 690 | "@protobufjs/path" "^1.1.2" 691 | "@protobufjs/pool" "^1.1.0" 692 | "@protobufjs/utf8" "^1.1.0" 693 | "@types/node" ">=13.7.0" 694 | "long" "^5.0.0" 695 | 696 | "react-dom@^18.2.0": 697 | "integrity" "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==" 698 | "resolved" "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz" 699 | "version" "18.2.0" 700 | dependencies: 701 | "loose-envify" "^1.1.0" 702 | "scheduler" "^0.23.0" 703 | 704 | "react@^18", "react@^18.2.0", "react@>= 16.8.0 || 17.x.x || ^18.0.0-0": 705 | "integrity" "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==" 706 | "resolved" "https://registry.npmjs.org/react/-/react-18.2.0.tgz" 707 | "version" "18.2.0" 708 | dependencies: 709 | "loose-envify" "^1.1.0" 710 | 711 | "ref-napi@^2.0.1 || ^3.0.2", "ref-napi@^3.0.3": 712 | "integrity" "sha512-LiMq/XDGcgodTYOMppikEtJelWsKQERbLQsYm0IOOnzhwE9xYZC7x8txNnFC9wJNOkPferQI4vD4ZkC0mDyrOA==" 713 | "resolved" "https://registry.npmjs.org/ref-napi/-/ref-napi-3.0.3.tgz" 714 | "version" "3.0.3" 715 | dependencies: 716 | "debug" "^4.1.1" 717 | "get-symbol-from-current-process-h" "^1.0.2" 718 | "node-addon-api" "^3.0.0" 719 | "node-gyp-build" "^4.2.1" 720 | 721 | "ref-struct-di@^1.1.0": 722 | "integrity" "sha512-2Xyn/0Qgz89VT+++WP0sTosdm9oeowLP23wRJYhG4BFdMUrLj3jhwHZNEytYNYgtPKLNTP3KJX4HEgBvM1/Y2g==" 723 | "resolved" "https://registry.npmjs.org/ref-struct-di/-/ref-struct-di-1.1.1.tgz" 724 | "version" "1.1.1" 725 | dependencies: 726 | "debug" "^3.1.0" 727 | 728 | "require-directory@^2.1.1": 729 | "integrity" "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" 730 | "resolved" "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" 731 | "version" "2.1.1" 732 | 733 | "scheduler@^0.23.0": 734 | "integrity" "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==" 735 | "resolved" "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz" 736 | "version" "0.23.0" 737 | dependencies: 738 | "loose-envify" "^1.1.0" 739 | 740 | "source-map-js@^1.0.2": 741 | "integrity" "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" 742 | "resolved" "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz" 743 | "version" "1.0.2" 744 | 745 | "streamsearch@^1.1.0": 746 | "integrity" "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==" 747 | "resolved" "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz" 748 | "version" "1.1.0" 749 | 750 | "string-width@^4.1.0", "string-width@^4.2.0", "string-width@^4.2.3": 751 | "integrity" "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==" 752 | "resolved" "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" 753 | "version" "4.2.3" 754 | dependencies: 755 | "emoji-regex" "^8.0.0" 756 | "is-fullwidth-code-point" "^3.0.0" 757 | "strip-ansi" "^6.0.1" 758 | 759 | "strip-ansi@^6.0.0", "strip-ansi@^6.0.1": 760 | "integrity" "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==" 761 | "resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" 762 | "version" "6.0.1" 763 | dependencies: 764 | "ansi-regex" "^5.0.1" 765 | 766 | "styled-jsx@5.1.1": 767 | "integrity" "sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==" 768 | "resolved" "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.1.tgz" 769 | "version" "5.1.1" 770 | dependencies: 771 | "client-only" "0.0.1" 772 | 773 | "tslib@^2.4.0", "tslib@2.4.0": 774 | "integrity" "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" 775 | "resolved" "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz" 776 | "version" "2.4.0" 777 | 778 | "typescript@^5.3.3", "typescript@>=5.0.4": 779 | "integrity" "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==" 780 | "resolved" "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz" 781 | "version" "5.3.3" 782 | 783 | "undici-types@~5.26.4": 784 | "integrity" "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" 785 | "resolved" "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz" 786 | "version" "5.26.5" 787 | 788 | "viem@^1.12.2": 789 | "integrity" "sha512-BNVYdSaUjeS2zKQgPs+49e5JKocfo60Ib2yiXOWBT6LuVxY1I/6fFX3waEtpXvL1Xn4qu+BVitVtMh9lyThyhQ==" 790 | "resolved" "https://registry.npmjs.org/viem/-/viem-1.21.4.tgz" 791 | "version" "1.21.4" 792 | dependencies: 793 | "@adraffy/ens-normalize" "1.10.0" 794 | "@noble/curves" "1.2.0" 795 | "@noble/hashes" "1.3.2" 796 | "@scure/bip32" "1.3.2" 797 | "@scure/bip39" "1.2.1" 798 | "abitype" "0.9.8" 799 | "isows" "1.0.3" 800 | "ws" "8.13.0" 801 | 802 | "viem@^2.5.0": 803 | "integrity" "sha512-ytHXIWtlgPs4mcsGxXjJrQ25v+N4dE2hBzgCU8CVv4iXNh3PRFRgyYa7igZlmxiMVzkfSHHADOtivS980JhilA==" 804 | "resolved" "https://registry.npmjs.org/viem/-/viem-2.5.0.tgz" 805 | "version" "2.5.0" 806 | dependencies: 807 | "@adraffy/ens-normalize" "1.10.0" 808 | "@noble/curves" "1.2.0" 809 | "@noble/hashes" "1.3.2" 810 | "@scure/bip32" "1.3.2" 811 | "@scure/bip39" "1.2.1" 812 | "abitype" "1.0.0" 813 | "isows" "1.0.3" 814 | "ws" "8.13.0" 815 | 816 | "watchpack@2.4.0": 817 | "integrity" "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==" 818 | "resolved" "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz" 819 | "version" "2.4.0" 820 | dependencies: 821 | "glob-to-regexp" "^0.4.1" 822 | "graceful-fs" "^4.1.2" 823 | 824 | "wrap-ansi@^7.0.0": 825 | "integrity" "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==" 826 | "resolved" "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" 827 | "version" "7.0.0" 828 | dependencies: 829 | "ansi-styles" "^4.0.0" 830 | "string-width" "^4.1.0" 831 | "strip-ansi" "^6.0.0" 832 | 833 | "ws@*", "ws@8.5.0": 834 | "integrity" "sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==" 835 | "resolved" "https://registry.npmjs.org/ws/-/ws-8.5.0.tgz" 836 | "version" "8.5.0" 837 | 838 | "ws@8.13.0": 839 | "integrity" "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==" 840 | "resolved" "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz" 841 | "version" "8.13.0" 842 | 843 | "y18n@^5.0.5": 844 | "integrity" "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" 845 | "resolved" "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz" 846 | "version" "5.0.8" 847 | 848 | "yargs-parser@^21.1.1": 849 | "integrity" "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==" 850 | "resolved" "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz" 851 | "version" "21.1.1" 852 | 853 | "yargs@^17.7.2": 854 | "integrity" "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==" 855 | "resolved" "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz" 856 | "version" "17.7.2" 857 | dependencies: 858 | "cliui" "^8.0.1" 859 | "escalade" "^3.1.1" 860 | "get-caller-file" "^2.0.5" 861 | "require-directory" "^2.1.1" 862 | "string-width" "^4.2.3" 863 | "y18n" "^5.0.5" 864 | "yargs-parser" "^21.1.1" 865 | --------------------------------------------------------------------------------