├── .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 | 
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 |
--------------------------------------------------------------------------------