From 66ba5dce869d6714bfe26768990cfc669e386986 Mon Sep 17 00:00:00 2001 From: summersurf0452 Date: Sun, 8 Mar 2026 19:28:26 +0900 Subject: [PATCH 1/2] =?UTF-8?q?feat(week-04):=20Uniswap=20V3=20=ED=94=84?= =?UTF-8?q?=EB=A1=A0=ED=8A=B8=EC=97=94=EB=93=9C=20=EA=B5=AC=ED=98=84=20?= =?UTF-8?q?=EB=B0=8F=20=ED=80=B4=EC=A6=88=20=ED=92=80=EC=9D=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit wagmi + RainbowKit 기반 dApp 구현 (지갑 연결, 토큰 잔액 조회, 풀 생성, 유동성 추가, 스왑) 및 week-04 퀴즈 답안 작성 --- .gitignore | 3 + week-04/dev/my-dapp/README.md | 141 + week-04/dev/my-dapp/abi/BayToken.json | 315 + .../dev/my-dapp/abi/LiquidityProvider.json | 88 + week-04/dev/my-dapp/abi/StarToken.json | 315 + week-04/dev/my-dapp/app/globals.css | 1 + week-04/dev/my-dapp/app/layout.tsx | 58 + week-04/dev/my-dapp/app/page.tsx | 40 + .../dev/my-dapp/components/AddLiquidity.tsx | 129 + week-04/dev/my-dapp/components/CreatePool.tsx | 58 + week-04/dev/my-dapp/components/Swap.tsx | 146 + .../dev/my-dapp/components/TokenBalances.tsx | 59 + .../dev/my-dapp/components/WalletConnect.tsx | 38 + week-04/dev/my-dapp/config/contracts.ts | 6 + week-04/dev/my-dapp/config/wagmi.ts | 47 + week-04/dev/my-dapp/next.config.mjs | 6 + week-04/dev/my-dapp/package-lock.json | 9245 +++++++++++++++++ week-04/dev/my-dapp/package.json | 29 + week-04/dev/my-dapp/postcss.config.mjs | 7 + week-04/dev/my-dapp/public/chick.png | Bin 0 -> 83567 bytes week-04/dev/my-dapp/tsconfig.json | 27 + week-04/quiz/quiz-04-solution.md | 429 + 22 files changed, 11187 insertions(+) create mode 100644 week-04/dev/my-dapp/README.md create mode 100644 week-04/dev/my-dapp/abi/BayToken.json create mode 100644 week-04/dev/my-dapp/abi/LiquidityProvider.json create mode 100644 week-04/dev/my-dapp/abi/StarToken.json create mode 100644 week-04/dev/my-dapp/app/globals.css create mode 100644 week-04/dev/my-dapp/app/layout.tsx create mode 100644 week-04/dev/my-dapp/app/page.tsx create mode 100644 week-04/dev/my-dapp/components/AddLiquidity.tsx create mode 100644 week-04/dev/my-dapp/components/CreatePool.tsx create mode 100644 week-04/dev/my-dapp/components/Swap.tsx create mode 100644 week-04/dev/my-dapp/components/TokenBalances.tsx create mode 100644 week-04/dev/my-dapp/components/WalletConnect.tsx create mode 100644 week-04/dev/my-dapp/config/contracts.ts create mode 100644 week-04/dev/my-dapp/config/wagmi.ts create mode 100644 week-04/dev/my-dapp/next.config.mjs create mode 100644 week-04/dev/my-dapp/package-lock.json create mode 100644 week-04/dev/my-dapp/package.json create mode 100644 week-04/dev/my-dapp/postcss.config.mjs create mode 100755 week-04/dev/my-dapp/public/chick.png create mode 100644 week-04/dev/my-dapp/tsconfig.json create mode 100644 week-04/quiz/quiz-04-solution.md diff --git a/.gitignore b/.gitignore index 9fbaa8f..f0a4c73 100644 --- a/.gitignore +++ b/.gitignore @@ -18,6 +18,9 @@ lcov.info # Broadcast (keep testnet, ignore local) broadcast/*/*/** +# Next.js +.next/ + # CI artifacts node_modules/ *.sarif diff --git a/week-04/dev/my-dapp/README.md b/week-04/dev/my-dapp/README.md new file mode 100644 index 0000000..52eadf5 --- /dev/null +++ b/week-04/dev/my-dapp/README.md @@ -0,0 +1,141 @@ +# Bay-17th dApp 프론트엔드 템플릿 + +Web3 dApp 개발을 위한 Next.js + wagmi + RainbowKit 스타터 템플릿입니다. + +## 시작하기 + +### 1. 의존성 설치 + +```bash +npm install +``` + +### 2. WalletConnect Project ID 설정 + +1. [WalletConnect Cloud](https://cloud.walletconnect.com)에 접속 +2. 회원가입 후 새 프로젝트 생성 +3. `config/wagmi.ts` 파일에서 `YOUR_PROJECT_ID`를 발급받은 ID로 교체 + +```typescript +const WALLETCONNECT_PROJECT_ID = 'your-actual-project-id'; +``` + +> **참고:** Project ID 없이도 개발 서버에서는 동작하지만, 프로덕션 배포 시 반드시 필요합니다. + +### 3. 개발 서버 실행 + +```bash +npm run dev +``` + +브라우저에서 [http://localhost:3000](http://localhost:3000)을 열어 확인하세요. + +## 파일 구조 + +``` +frontend-template/ +├── app/ +│ ├── layout.tsx # 루트 레이아웃 (Provider 설정) +│ └── page.tsx # 메인 페이지 +├── components/ +│ └── WalletConnect.tsx # 지갑 연결 컴포넌트 +├── config/ +│ └── wagmi.ts # wagmi + RainbowKit 설정 +├── package.json +├── tsconfig.json +└── next.config.mjs +``` + +## 주요 라이브러리 + +| 라이브러리 | 버전 | 설명 | +|-----------|------|------| +| wagmi | ^2.0.0 | React hooks for Ethereum | +| viem | ^2.0.0 | TypeScript Ethereum 라이브러리 | +| @rainbow-me/rainbowkit | ^2.0.0 | 지갑 연결 UI | +| @tanstack/react-query | ^5.0.0 | 데이터 페칭 상태 관리 | +| next | ^14.0.0 | React 프레임워크 | + +## 컨트랙트 연동하기 + +### 1. 컨트랙트 읽기 (Read) + +```typescript +import { useReadContract } from 'wagmi'; + +const { data, isLoading } = useReadContract({ + address: '0x...', // 컨트랙트 주소 + abi: contractABI, // ABI + functionName: 'getValue', +}); +``` + +### 2. 컨트랙트 쓰기 (Write) + +```typescript +import { useWriteContract, useWaitForTransactionReceipt } from 'wagmi'; + +const { writeContract, data: hash } = useWriteContract(); +const { isLoading, isSuccess } = useWaitForTransactionReceipt({ hash }); + +// 함수 호출 +writeContract({ + address: '0x...', + abi: contractABI, + functionName: 'setValue', + args: [42], +}); +``` + +### 3. ABI 타입 안전하게 사용하기 + +```typescript +// ABI를 const로 선언하면 타입 추론이 자동으로 됩니다 +const contractABI = [ + { + name: 'getValue', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'uint256' }], + }, +] as const; // 중요: as const +``` + +## 참고 자료 + +- [wagmi-basics.md](/week-04/dev/wagmi-basics.md) - wagmi 상세 가이드 +- [rainbowkit-guide.md](/week-05/dev/rainbowkit-guide.md) - RainbowKit 상세 가이드 +- [wagmi 공식 문서](https://wagmi.sh) +- [RainbowKit 공식 문서](https://www.rainbowkit.com) +- [viem 공식 문서](https://viem.sh) + +## Sepolia 테스트넷 ETH 받기 + +개발 및 테스트에 필요한 테스트넷 ETH는 아래 Faucet에서 받을 수 있습니다: + +- [Alchemy Sepolia Faucet](https://sepoliafaucet.com) +- [Infura Sepolia Faucet](https://www.infura.io/faucet/sepolia) +- [QuickNode Sepolia Faucet](https://faucet.quicknode.com/ethereum/sepolia) + +## 문제 해결 + +### Hydration 오류 + +`config/wagmi.ts`에서 `ssr: true` 옵션이 설정되어 있는지 확인하세요. + +### WalletConnect 연결 안 됨 + +Project ID가 올바르게 설정되어 있는지 확인하세요. + +### BigInt 타입 오류 + +컨트랙트에서 반환된 숫자는 BigInt입니다. 문자열로 변환하려면: + +```typescript +const valueString = data?.toString(); +``` + +## 라이선스 + +Bay-17th 학회 교육용 diff --git a/week-04/dev/my-dapp/abi/BayToken.json b/week-04/dev/my-dapp/abi/BayToken.json new file mode 100644 index 0000000..9b8daf4 --- /dev/null +++ b/week-04/dev/my-dapp/abi/BayToken.json @@ -0,0 +1,315 @@ +[ + { + "type": "constructor", + "inputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "allowance", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "approve", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "symbol", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transfer", + "inputs": [ + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Transfer", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ERC20InsufficientAllowance", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "allowance", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "needed", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "ERC20InsufficientBalance", + "inputs": [ + { + "name": "sender", + "type": "address", + "internalType": "address" + }, + { + "name": "balance", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "needed", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "ERC20InvalidApprover", + "inputs": [ + { + "name": "approver", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ERC20InvalidReceiver", + "inputs": [ + { + "name": "receiver", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ERC20InvalidSender", + "inputs": [ + { + "name": "sender", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ERC20InvalidSpender", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ] + } +] diff --git a/week-04/dev/my-dapp/abi/LiquidityProvider.json b/week-04/dev/my-dapp/abi/LiquidityProvider.json new file mode 100644 index 0000000..b4ffab6 --- /dev/null +++ b/week-04/dev/my-dapp/abi/LiquidityProvider.json @@ -0,0 +1,88 @@ +[ + { + "type": "constructor", + "inputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "addLiquidity", + "inputs": [ + { + "name": "tokenA", + "type": "address", + "internalType": "address" + }, + { + "name": "tokenB", + "type": "address", + "internalType": "address" + }, + { + "name": "fee", + "type": "uint24", + "internalType": "uint24" + }, + { + "name": "amount0", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "amount1", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "tokenId", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "createPool", + "inputs": [ + { + "name": "tokenA", + "type": "address", + "internalType": "address" + }, + { + "name": "tokenB", + "type": "address", + "internalType": "address" + }, + { + "name": "fee", + "type": "uint24", + "internalType": "uint24" + } + ], + "outputs": [ + { + "name": "pool", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "positionManager", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "contract INonfungiblePositionManager" + } + ], + "stateMutability": "view" + } +] diff --git a/week-04/dev/my-dapp/abi/StarToken.json b/week-04/dev/my-dapp/abi/StarToken.json new file mode 100644 index 0000000..9b8daf4 --- /dev/null +++ b/week-04/dev/my-dapp/abi/StarToken.json @@ -0,0 +1,315 @@ +[ + { + "type": "constructor", + "inputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "allowance", + "inputs": [ + { + "name": "owner", + "type": "address", + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "approve", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint8", + "internalType": "uint8" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "symbol", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "string", + "internalType": "string" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transfer", + "inputs": [ + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { + "name": "from", + "type": "address", + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [ + { + "name": "", + "type": "bool", + "internalType": "bool" + } + ], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { + "name": "owner", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "spender", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Transfer", + "inputs": [ + { + "name": "from", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "to", + "type": "address", + "indexed": true, + "internalType": "address" + }, + { + "name": "value", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, + { + "type": "error", + "name": "ERC20InsufficientAllowance", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + }, + { + "name": "allowance", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "needed", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "ERC20InsufficientBalance", + "inputs": [ + { + "name": "sender", + "type": "address", + "internalType": "address" + }, + { + "name": "balance", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "needed", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "ERC20InvalidApprover", + "inputs": [ + { + "name": "approver", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ERC20InvalidReceiver", + "inputs": [ + { + "name": "receiver", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ERC20InvalidSender", + "inputs": [ + { + "name": "sender", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ERC20InvalidSpender", + "inputs": [ + { + "name": "spender", + "type": "address", + "internalType": "address" + } + ] + } +] diff --git a/week-04/dev/my-dapp/app/globals.css b/week-04/dev/my-dapp/app/globals.css new file mode 100644 index 0000000..f1d8c73 --- /dev/null +++ b/week-04/dev/my-dapp/app/globals.css @@ -0,0 +1 @@ +@import "tailwindcss"; diff --git a/week-04/dev/my-dapp/app/layout.tsx b/week-04/dev/my-dapp/app/layout.tsx new file mode 100644 index 0000000..f17c5cf --- /dev/null +++ b/week-04/dev/my-dapp/app/layout.tsx @@ -0,0 +1,58 @@ +'use client'; + +// ============================================================ +// RainbowKit 스타일 import +// ============================================================ +// RainbowKit의 UI 컴포넌트가 제대로 표시되려면 +// 반드시 이 스타일시트를 import해야 합니다. +import '@rainbow-me/rainbowkit/styles.css'; +import './globals.css'; + +import { RainbowKitProvider } from '@rainbow-me/rainbowkit'; +import { WagmiProvider } from 'wagmi'; +import { QueryClientProvider, QueryClient } from '@tanstack/react-query'; +import { config } from '@/config/wagmi'; + +// ============================================================ +// React Query 클라이언트 설정 +// ============================================================ +// wagmi v2는 내부적으로 TanStack Query를 사용합니다. +// 이 클라이언트가 데이터 캐싱, 리페칭, 동기화를 담당합니다. +const queryClient = new QueryClient(); + +// ============================================================ +// Root Layout +// ============================================================ +// Next.js App Router의 루트 레이아웃입니다. +// 모든 페이지가 이 레이아웃을 공유합니다. +export default function RootLayout({ + children, +}: { + children: React.ReactNode; +}) { + return ( + + + {/* ============================================================ + Provider 순서가 중요합니다! + ============================================================ + + WagmiProvider > QueryClientProvider > RainbowKitProvider + + 1. WagmiProvider: 가장 바깥. wagmi config를 전체 앱에 제공 + 2. QueryClientProvider: 데이터 페칭 상태 관리 + 3. RainbowKitProvider: 지갑 UI 및 연결 상태 관리 + + 순서가 바뀌면 "Cannot find WagmiContext" 같은 오류 발생! + ============================================================ */} + + + + {children} + + + + + + ); +} diff --git a/week-04/dev/my-dapp/app/page.tsx b/week-04/dev/my-dapp/app/page.tsx new file mode 100644 index 0000000..3117fd7 --- /dev/null +++ b/week-04/dev/my-dapp/app/page.tsx @@ -0,0 +1,40 @@ +import { WalletConnect } from '@/components/WalletConnect'; +import { CreatePool } from '@/components/CreatePool'; +import { AddLiquidity } from '@/components/AddLiquidity'; +import { Swap } from '@/components/Swap'; +import { TokenBalances } from '@/components/TokenBalances'; + +export default function Home() { + return ( +
+
+
+ +
+

+ Bay-17th dApp +

+

+ Uniswap V3 on Sepolia +

+

+ @summersurf0452 +

+
+
+ +
+ +
+ +
+ + + + +
+ +
+
+ ); +} diff --git a/week-04/dev/my-dapp/components/AddLiquidity.tsx b/week-04/dev/my-dapp/components/AddLiquidity.tsx new file mode 100644 index 0000000..b6ed92b --- /dev/null +++ b/week-04/dev/my-dapp/components/AddLiquidity.tsx @@ -0,0 +1,129 @@ +'use client'; + +import { useWriteContract, useWaitForTransactionReceipt } from 'wagmi'; +import { parseEther } from 'viem'; +import { useState, useEffect } from 'react'; +import lpAbi from '../abi/LiquidityProvider.json'; +import { CONTRACTS } from '@/config/contracts'; + +const erc20Abi = [{ + name: 'approve', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { name: 'spender', type: 'address' }, + { name: 'amount', type: 'uint256' }, + ], + outputs: [{ name: '', type: 'bool' }], +}] as const; + +type Step = 'approve0' | 'approve1' | 'mint'; + +const stepInfo: Record = { + approve0: { label: 'BAY 허가', desc: 'Token A 사용 승인' }, + approve1: { label: 'STAR 허가', desc: 'Token B 사용 승인' }, + mint: { label: '유동성 공급', desc: 'LP 포지션 생성' }, +}; + +export function AddLiquidity() { + const [tokenA, setTokenA] = useState(CONTRACTS.BAY_TOKEN); + const [tokenB, setTokenB] = useState(CONTRACTS.STAR_TOKEN); + const [amount, setAmount] = useState('1000'); + const [step, setStep] = useState('approve0'); + + const { writeContract, data: hash, isPending, reset } = useWriteContract(); + const { isSuccess } = useWaitForTransactionReceipt({ hash }); + + useEffect(() => { + if (isSuccess) { + if (step === 'approve0') { + reset(); + setStep('approve1'); + } else if (step === 'approve1') { + reset(); + setStep('mint'); + } + } + }, [isSuccess, step, reset]); + + const handleClick = () => { + if (step === 'approve0') { + writeContract({ + address: tokenA as `0x${string}`, + abi: erc20Abi, + functionName: 'approve', + args: [CONTRACTS.LIQUIDITY_PROVIDER, parseEther(amount)], + }); + } else if (step === 'approve1') { + writeContract({ + address: tokenB as `0x${string}`, + abi: erc20Abi, + functionName: 'approve', + args: [CONTRACTS.LIQUIDITY_PROVIDER, parseEther(amount)], + }); + } else { + writeContract({ + address: CONTRACTS.LIQUIDITY_PROVIDER, + abi: lpAbi, + functionName: 'addLiquidity', + args: [ + tokenA as `0x${string}`, + tokenB as `0x${string}`, + 3000, + parseEther(amount), + parseEther(amount), + ], + }); + } + }; + + const info = stepInfo[step]; + const stepNum = step === 'approve0' ? 1 : step === 'approve1' ? 2 : 3; + + return ( +
+

유동성 추가

+ + + setTokenA(e.target.value)} + className="w-full px-3 py-2 bg-[#333335] border border-[#4a4a4c] rounded-md text-xs font-mono text-[#ccc] mb-2 focus:outline-none focus:ring-1 focus:ring-[#F5A623] focus:border-[#F5A623]" + /> + + + setTokenB(e.target.value)} + className="w-full px-3 py-2 bg-[#333335] border border-[#4a4a4c] rounded-md text-xs font-mono text-[#ccc] mb-2 focus:outline-none focus:ring-1 focus:ring-[#F5A623] focus:border-[#F5A623]" + /> + + + setAmount(e.target.value)} + className="w-full px-3 py-2 bg-[#333335] border border-[#4a4a4c] rounded-md text-xs text-[#ccc] mb-3 focus:outline-none focus:ring-1 focus:ring-[#F5A623] focus:border-[#F5A623]" + /> + +
+ {[1, 2, 3].map(n => ( +
+
+ {n < stepNum ? '✓' : n} +
+ {n < 3 &&
} +
+ ))} +
+ + +

{info.desc}

+
+ ); +} diff --git a/week-04/dev/my-dapp/components/CreatePool.tsx b/week-04/dev/my-dapp/components/CreatePool.tsx new file mode 100644 index 0000000..e395269 --- /dev/null +++ b/week-04/dev/my-dapp/components/CreatePool.tsx @@ -0,0 +1,58 @@ +'use client'; + +import { useWriteContract, useWaitForTransactionReceipt } from 'wagmi'; +import { useState } from 'react'; +import lpAbi from '../abi/LiquidityProvider.json'; +import { CONTRACTS } from '@/config/contracts'; + +export function CreatePool() { + const [tokenA, setTokenA] = useState(CONTRACTS.BAY_TOKEN); + const [tokenB, setTokenB] = useState(CONTRACTS.STAR_TOKEN); + + const { writeContract, data: hash, isPending } = useWriteContract(); + const { isLoading: isConfirming, isSuccess } = useWaitForTransactionReceipt({ hash }); + + const handleCreatePool = () => { + writeContract({ + address: CONTRACTS.LIQUIDITY_PROVIDER, + abi: lpAbi, + functionName: 'createPool', + args: [tokenA as `0x${string}`, tokenB as `0x${string}`, 3000], + }); + }; + + return ( +
+

풀 생성

+ + + setTokenA(e.target.value)} + className="w-full px-3 py-2 bg-[#333335] border border-[#4a4a4c] rounded-md text-xs font-mono text-[#ccc] mb-2 focus:outline-none focus:ring-1 focus:ring-[#F5A623] focus:border-[#F5A623]" + /> + + + setTokenB(e.target.value)} + className="w-full px-3 py-2 bg-[#333335] border border-[#4a4a4c] rounded-md text-xs font-mono text-[#ccc] mb-3 focus:outline-none focus:ring-1 focus:ring-[#F5A623] focus:border-[#F5A623]" + /> + + + + {isSuccess && ( +
+

풀이 생성되었습니다

+

TX: {hash}

+
+ )} +
+ ); +} diff --git a/week-04/dev/my-dapp/components/Swap.tsx b/week-04/dev/my-dapp/components/Swap.tsx new file mode 100644 index 0000000..bac9fd6 --- /dev/null +++ b/week-04/dev/my-dapp/components/Swap.tsx @@ -0,0 +1,146 @@ +'use client'; + +import { useWriteContract, useWaitForTransactionReceipt, useAccount } from 'wagmi'; +import { parseEther } from 'viem'; +import { useState, useEffect } from 'react'; +import { CONTRACTS } from '@/config/contracts'; + +const swapRouterAbi = [{ + name: 'exactInputSingle', + type: 'function', + stateMutability: 'payable', + inputs: [{ + name: 'params', + type: 'tuple', + components: [ + { name: 'tokenIn', type: 'address' }, + { name: 'tokenOut', type: 'address' }, + { name: 'fee', type: 'uint24' }, + { name: 'recipient', type: 'address' }, + { name: 'amountIn', type: 'uint256' }, + { name: 'amountOutMinimum', type: 'uint256' }, + { name: 'sqrtPriceLimitX96', type: 'uint160' }, + ], + }], + outputs: [{ name: 'amountOut', type: 'uint256' }], +}] as const; + +const erc20Abi = [{ + name: 'approve', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { name: 'spender', type: 'address' }, + { name: 'amount', type: 'uint256' }, + ], + outputs: [{ name: '', type: 'bool' }], +}] as const; + +type Step = 'approve' | 'swap'; + +export function Swap() { + const { address } = useAccount(); + const [tokenIn, setTokenIn] = useState(CONTRACTS.BAY_TOKEN); + const [tokenOut, setTokenOut] = useState(CONTRACTS.STAR_TOKEN); + const [amountIn, setAmountIn] = useState('100'); + const [step, setStep] = useState('approve'); + + const { writeContract, data: hash, isPending, reset } = useWriteContract(); + const { isSuccess } = useWaitForTransactionReceipt({ hash }); + + useEffect(() => { + if (isSuccess && step === 'approve') { + reset(); + setStep('swap'); + } + }, [isSuccess, step, reset]); + + const handleApprove = () => { + writeContract({ + address: tokenIn as `0x${string}`, + abi: erc20Abi, + functionName: 'approve', + args: [CONTRACTS.SWAP_ROUTER, parseEther(amountIn)], + }); + }; + + const handleSwap = () => { + if (!address) return; + + writeContract({ + address: CONTRACTS.SWAP_ROUTER, + abi: swapRouterAbi, + functionName: 'exactInputSingle', + args: [{ + tokenIn: tokenIn as `0x${string}`, + tokenOut: tokenOut as `0x${string}`, + fee: 3000, + recipient: address, + amountIn: parseEther(amountIn), + amountOutMinimum: 0n, + sqrtPriceLimitX96: 0n, + }], + }); + }; + + return ( +
+

스왑

+ + + setTokenIn(e.target.value)} + className="w-full px-3 py-2 bg-[#333335] border border-[#4a4a4c] rounded-md text-xs font-mono text-[#ccc] mb-2 focus:outline-none focus:ring-1 focus:ring-[#F5A623] focus:border-[#F5A623]" + /> + +
+
+ ↓ +
+
+ + + setTokenOut(e.target.value)} + className="w-full px-3 py-2 bg-[#333335] border border-[#4a4a4c] rounded-md text-xs font-mono text-[#ccc] mb-2 focus:outline-none focus:ring-1 focus:ring-[#F5A623] focus:border-[#F5A623]" + /> + + + setAmountIn(e.target.value)} + className="w-full px-3 py-2 bg-[#333335] border border-[#4a4a4c] rounded-md text-xs text-[#ccc] mb-3 focus:outline-none focus:ring-1 focus:ring-[#F5A623] focus:border-[#F5A623]" + /> + + {step === 'approve' ? ( + + ) : ( + + )} +

+ {step === 'approve' ? '토큰 사용 승인 필요' : '토큰 교환 실행'} +

+ + {isSuccess && step === 'swap' && ( +
+

스왑 완료

+

TX: {hash}

+
+ )} +
+ ); +} diff --git a/week-04/dev/my-dapp/components/TokenBalances.tsx b/week-04/dev/my-dapp/components/TokenBalances.tsx new file mode 100644 index 0000000..45a7c4c --- /dev/null +++ b/week-04/dev/my-dapp/components/TokenBalances.tsx @@ -0,0 +1,59 @@ +'use client'; + +import { useReadContract, useAccount } from 'wagmi'; +import { formatEther } from 'viem'; +import { CONTRACTS } from '@/config/contracts'; + +const erc20Abi = [ + { + name: 'balanceOf', + type: 'function', + stateMutability: 'view', + inputs: [{ name: 'account', type: 'address' }], + outputs: [{ name: '', type: 'uint256' }], + }, +] as const; + +export function TokenBalances() { + const { address, isConnected } = useAccount(); + + const { data: bayBalance, isLoading: bayLoading } = useReadContract({ + address: CONTRACTS.BAY_TOKEN as `0x${string}`, + abi: erc20Abi, + functionName: 'balanceOf', + args: address ? [address] : undefined, + query: { enabled: isConnected && !!address }, + }); + + const { data: starBalance, isLoading: starLoading } = useReadContract({ + address: CONTRACTS.STAR_TOKEN as `0x${string}`, + abi: erc20Abi, + functionName: 'balanceOf', + args: address ? [address] : undefined, + query: { enabled: isConnected && !!address }, + }); + + if (!isConnected) return null; + + const fmt = (val: bigint | undefined, loading: boolean) => { + if (loading) return '...'; + if (val === undefined) return '0'; + return Number(formatEther(val)).toLocaleString(); + }; + + return ( +
+

보유 토큰

+
+
+

BAY

+

{fmt(bayBalance, bayLoading)}

+
+
+

STAR

+

{fmt(starBalance, starLoading)}

+
+
+
+ ); +} diff --git a/week-04/dev/my-dapp/components/WalletConnect.tsx b/week-04/dev/my-dapp/components/WalletConnect.tsx new file mode 100644 index 0000000..5e5b8b1 --- /dev/null +++ b/week-04/dev/my-dapp/components/WalletConnect.tsx @@ -0,0 +1,38 @@ +'use client'; + +import { ConnectButton } from '@rainbow-me/rainbowkit'; +import { useAccount, useBalance } from 'wagmi'; + +export function WalletConnect() { + const { address, isConnected } = useAccount(); + const { data: balance, isLoading: isBalanceLoading } = useBalance({ + address: address, + query: { enabled: isConnected }, + }); + + return ( +
+ + + {isConnected && ( +
+
+ 지갑 + + {address?.slice(0, 6)}...{address?.slice(-4)} + +
+
+ ETH + + {isBalanceLoading + ? '...' + : `${Number(balance?.formatted ?? 0).toFixed(4)} ${balance?.symbol ?? 'ETH'}` + } + +
+
+ )} +
+ ); +} diff --git a/week-04/dev/my-dapp/config/contracts.ts b/week-04/dev/my-dapp/config/contracts.ts new file mode 100644 index 0000000..b648220 --- /dev/null +++ b/week-04/dev/my-dapp/config/contracts.ts @@ -0,0 +1,6 @@ +export const CONTRACTS: Record = { + BAY_TOKEN: '0x045C237c6B6639D76e6FD7C3c3D3a58AeB1d2193', + STAR_TOKEN: '0x441dC53B536Cc667A3d2a49dE5E4105dEf96508d', + LIQUIDITY_PROVIDER: '0x5f812D7eADa0727928B63Ed6CFfeCaFdC70fc6d3', + SWAP_ROUTER: '0x3bFA4769FB09eefC5a80d6E87c3B9C650f7Ae48E', +}; diff --git a/week-04/dev/my-dapp/config/wagmi.ts b/week-04/dev/my-dapp/config/wagmi.ts new file mode 100644 index 0000000..08d9c3d --- /dev/null +++ b/week-04/dev/my-dapp/config/wagmi.ts @@ -0,0 +1,47 @@ +import { getDefaultConfig } from '@rainbow-me/rainbowkit'; +import { sepolia } from 'wagmi/chains'; + +// ============================================================ +// WalletConnect Cloud 설정 +// ============================================================ +// +// WalletConnect Cloud에서 projectId를 발급받으세요 +// 1. https://cloud.walletconnect.com 접속 +// 2. 회원가입 후 새 프로젝트 생성 +// 3. 발급받은 Project ID를 아래에 입력 +// +// 주의: projectId 없이도 개발 서버에서는 동작하지만, +// 프로덕션 배포 시 반드시 필요합니다. +// ============================================================ +const WALLETCONNECT_PROJECT_ID = 'YOUR_PROJECT_ID'; + +// ============================================================ +// wagmi 설정 +// ============================================================ +// +// getDefaultConfig는 RainbowKit이 제공하는 설정 함수로, +// wagmi의 복잡한 설정을 간단하게 만들어줍니다. +// +// 주요 옵션: +// - appName: 지갑에서 표시되는 앱 이름 +// - projectId: WalletConnect 연결에 필요 +// - chains: 지원하는 체인 목록 (여기서는 Sepolia 테스트넷만) +// - ssr: Next.js의 서버사이드 렌더링 지원 (hydration 오류 방지) +// ============================================================ +export const config = getDefaultConfig({ + appName: 'Bay-17th dApp', + projectId: WALLETCONNECT_PROJECT_ID, + chains: [sepolia], + ssr: true, // Next.js App Router를 사용할 때 필수 +}); + +// ============================================================ +// 추가 체인을 지원하려면? +// ============================================================ +// +// import { mainnet, polygon } from 'wagmi/chains'; +// +// chains: [sepolia, mainnet, polygon], +// +// 메인넷 배포 전에는 항상 테스트넷에서 먼저 테스트하세요! +// ============================================================ diff --git a/week-04/dev/my-dapp/next.config.mjs b/week-04/dev/my-dapp/next.config.mjs new file mode 100644 index 0000000..d5456a1 --- /dev/null +++ b/week-04/dev/my-dapp/next.config.mjs @@ -0,0 +1,6 @@ +/** @type {import('next').NextConfig} */ +const nextConfig = { + reactStrictMode: true, +}; + +export default nextConfig; diff --git a/week-04/dev/my-dapp/package-lock.json b/week-04/dev/my-dapp/package-lock.json new file mode 100644 index 0000000..a56a7f8 --- /dev/null +++ b/week-04/dev/my-dapp/package-lock.json @@ -0,0 +1,9245 @@ +{ + "name": "bay-dapp-template", + "version": "0.1.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "bay-dapp-template", + "version": "0.1.0", + "dependencies": { + "@rainbow-me/rainbowkit": "^2.0.0", + "@tanstack/react-query": "^5.0.0", + "next": "^14.0.0", + "react": "^18.0.0", + "react-dom": "^18.0.0", + "viem": "^2.0.0", + "wagmi": "^2.0.0" + }, + "devDependencies": { + "@tailwindcss/postcss": "^4.2.1", + "@types/node": "^20.0.0", + "@types/react": "^18.0.0", + "@types/react-dom": "^18.0.0", + "postcss": "^8.5.8", + "tailwindcss": "^4.2.1", + "typescript": "^5.0.0" + } + }, + "node_modules/@adraffy/ens-normalize": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@adraffy/ens-normalize/-/ens-normalize-1.11.1.tgz", + "integrity": "sha512-nhCBV3quEgesuf7c7KYfperqSS14T8bYuvJ8PcLJp6znkZpFc0AuW4qBtr8eKVyPPe/8RSr7sglCWPU5eaxwKQ==", + "license": "MIT" + }, + "node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@babel/runtime": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.6.tgz", + "integrity": "sha512-05WQkdpL9COIMz4LjTxGpPNCdlpyimKppYNoJ5Di5EUObifl8t4tuLuUBBZEpoLYOmfvIWrsp9fCl0HoPRVTdA==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@base-org/account": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@base-org/account/-/account-2.4.0.tgz", + "integrity": "sha512-A4Umpi8B9/pqR78D1Yoze4xHyQaujioVRqqO3d6xuDFw9VRtjg6tK3bPlwE0aW+nVH/ntllCpPa2PbI8Rnjcug==", + "license": "Apache-2.0", + "dependencies": { + "@coinbase/cdp-sdk": "^1.0.0", + "@noble/hashes": "1.4.0", + "clsx": "1.2.1", + "eventemitter3": "5.0.1", + "idb-keyval": "6.2.1", + "ox": "0.6.9", + "preact": "10.24.2", + "viem": "^2.31.7", + "zustand": "5.0.3" + } + }, + "node_modules/@base-org/account/node_modules/@noble/hashes": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.4.0.tgz", + "integrity": "sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==", + "license": "MIT", + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@base-org/account/node_modules/clsx": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", + "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/@base-org/account/node_modules/ox": { + "version": "0.6.9", + "resolved": "https://registry.npmjs.org/ox/-/ox-0.6.9.tgz", + "integrity": "sha512-wi5ShvzE4eOcTwQVsIPdFr+8ycyX+5le/96iAJutaZAvCes1J0+RvpEPg5QDPDiaR0XQQAvZVl7AwqQcINuUug==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/wevm" + } + ], + "license": "MIT", + "dependencies": { + "@adraffy/ens-normalize": "^1.10.1", + "@noble/curves": "^1.6.0", + "@noble/hashes": "^1.5.0", + "@scure/bip32": "^1.5.0", + "@scure/bip39": "^1.4.0", + "abitype": "^1.0.6", + "eventemitter3": "5.0.1" + }, + "peerDependencies": { + "typescript": ">=5.4.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@base-org/account/node_modules/ox/node_modules/@noble/hashes": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.8.0.tgz", + "integrity": "sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==", + "license": "MIT", + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@coinbase/cdp-sdk": { + "version": "1.45.0", + "resolved": "https://registry.npmjs.org/@coinbase/cdp-sdk/-/cdp-sdk-1.45.0.tgz", + "integrity": "sha512-4fgGOhyN9g/pTDE9NtsKUapwFsubrk9wafz8ltmBqSwWqLZWfWxXkVmzMYYFAf+qeGf/X9JqJtmvDVaHFlXWlw==", + "license": "MIT", + "dependencies": { + "@solana-program/system": "^0.10.0", + "@solana-program/token": "^0.9.0", + "@solana/kit": "^5.1.0", + "@solana/web3.js": "^1.98.1", + "abitype": "1.0.6", + "axios": "^1.12.2", + "axios-retry": "^4.5.0", + "jose": "^6.0.8", + "md5": "^2.3.0", + "uncrypto": "^0.1.3", + "viem": "^2.21.26", + "zod": "^3.24.4" + } + }, + "node_modules/@coinbase/cdp-sdk/node_modules/abitype": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/abitype/-/abitype-1.0.6.tgz", + "integrity": "sha512-MMSqYh4+C/aVqI2RQaWqbvI4Kxo5cQV40WQ4QFtDnNzCkqChm8MuENhElmynZlO0qUy/ObkEUaXtKqYnx1Kp3A==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/wevm" + }, + "peerDependencies": { + "typescript": ">=5.0.4", + "zod": "^3 >=3.22.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + }, + "zod": { + "optional": true + } + } + }, + "node_modules/@coinbase/wallet-sdk": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/@coinbase/wallet-sdk/-/wallet-sdk-4.3.6.tgz", + "integrity": "sha512-4q8BNG1ViL4mSAAvPAtpwlOs1gpC+67eQtgIwNvT3xyeyFFd+guwkc8bcX5rTmQhXpqnhzC4f0obACbP9CqMSA==", + "license": "Apache-2.0", + "dependencies": { + "@noble/hashes": "1.4.0", + "clsx": "1.2.1", + "eventemitter3": "5.0.1", + "idb-keyval": "6.2.1", + "ox": "0.6.9", + "preact": "10.24.2", + "viem": "^2.27.2", + "zustand": "5.0.3" + } + }, + "node_modules/@coinbase/wallet-sdk/node_modules/@noble/hashes": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.4.0.tgz", + "integrity": "sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==", + "license": "MIT", + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@coinbase/wallet-sdk/node_modules/clsx": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", + "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/@coinbase/wallet-sdk/node_modules/ox": { + "version": "0.6.9", + "resolved": "https://registry.npmjs.org/ox/-/ox-0.6.9.tgz", + "integrity": "sha512-wi5ShvzE4eOcTwQVsIPdFr+8ycyX+5le/96iAJutaZAvCes1J0+RvpEPg5QDPDiaR0XQQAvZVl7AwqQcINuUug==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/wevm" + } + ], + "license": "MIT", + "dependencies": { + "@adraffy/ens-normalize": "^1.10.1", + "@noble/curves": "^1.6.0", + "@noble/hashes": "^1.5.0", + "@scure/bip32": "^1.5.0", + "@scure/bip39": "^1.4.0", + "abitype": "^1.0.6", + "eventemitter3": "5.0.1" + }, + "peerDependencies": { + "typescript": ">=5.4.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@coinbase/wallet-sdk/node_modules/ox/node_modules/@noble/hashes": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.8.0.tgz", + "integrity": "sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==", + "license": "MIT", + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@ecies/ciphers": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/@ecies/ciphers/-/ciphers-0.2.5.tgz", + "integrity": "sha512-GalEZH4JgOMHYYcYmVqnFirFsjZHeoGMDt9IxEnM9F7GRUUyUksJ7Ou53L83WHJq3RWKD3AcBpo0iQh0oMpf8A==", + "license": "MIT", + "engines": { + "bun": ">=1", + "deno": ">=2", + "node": ">=16" + }, + "peerDependencies": { + "@noble/ciphers": "^1.0.0" + } + }, + "node_modules/@emotion/hash": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.2.tgz", + "integrity": "sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g==", + "license": "MIT" + }, + "node_modules/@ethereumjs/common": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@ethereumjs/common/-/common-3.2.0.tgz", + "integrity": "sha512-pksvzI0VyLgmuEF2FA/JR/4/y6hcPq8OUail3/AvycBaW1d5VSauOZzqGvJ3RTmR4MU35lWE8KseKOsEhrFRBA==", + "license": "MIT", + "dependencies": { + "@ethereumjs/util": "^8.1.0", + "crc-32": "^1.2.0" + } + }, + "node_modules/@ethereumjs/rlp": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@ethereumjs/rlp/-/rlp-4.0.1.tgz", + "integrity": "sha512-tqsQiBQDQdmPWE1xkkBq4rlSW5QZpLOUJ5RJh2/9fug+q9tnUhuZoVLk7s0scUIKTOzEtR72DFBXI4WiZcMpvw==", + "license": "MPL-2.0", + "bin": { + "rlp": "bin/rlp" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@ethereumjs/tx": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@ethereumjs/tx/-/tx-4.2.0.tgz", + "integrity": "sha512-1nc6VO4jtFd172BbSnTnDQVr9IYBFl1y4xPzZdtkrkKIncBCkdbgfdRV+MiTkJYAtTxvV12GRZLqBFT1PNK6Yw==", + "license": "MPL-2.0", + "dependencies": { + "@ethereumjs/common": "^3.2.0", + "@ethereumjs/rlp": "^4.0.1", + "@ethereumjs/util": "^8.1.0", + "ethereum-cryptography": "^2.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@ethereumjs/util": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@ethereumjs/util/-/util-8.1.0.tgz", + "integrity": "sha512-zQ0IqbdX8FZ9aw11vP+dZkKDkS+kgIvQPHnSAXzP9pLu+Rfu3D3XEeLbicvoXJTYnhZiPmsZUxgdzXwNKxRPbA==", + "license": "MPL-2.0", + "dependencies": { + "@ethereumjs/rlp": "^4.0.1", + "ethereum-cryptography": "^2.0.0", + "micro-ftch": "^0.3.1" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@gemini-wallet/core": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@gemini-wallet/core/-/core-0.3.2.tgz", + "integrity": "sha512-Z4aHi3ECFf5oWYWM3F1rW83GJfB9OvhBYPTmb5q+VyK3uvzvS48lwo+jwh2eOoCRWEuT/crpb9Vwp2QaS5JqgQ==", + "license": "MIT", + "dependencies": { + "@metamask/rpc-errors": "7.0.2", + "eventemitter3": "5.0.1" + }, + "peerDependencies": { + "viem": ">=2.0.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@lit-labs/ssr-dom-shim": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.5.1.tgz", + "integrity": "sha512-Aou5UdlSpr5whQe8AA/bZG0jMj96CoJIWbGfZ91qieWu5AWUMKw8VR/pAkQkJYvBNhmCcWnZlyyk5oze8JIqYA==", + "license": "BSD-3-Clause" + }, + "node_modules/@lit/reactive-element": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-2.1.2.tgz", + "integrity": "sha512-pbCDiVMnne1lYUIaYNN5wrwQXDtHaYtg7YEFPeW+hws6U47WeFvISGUWekPGKWOP1ygrs0ef0o1VJMk1exos5A==", + "license": "BSD-3-Clause", + "dependencies": { + "@lit-labs/ssr-dom-shim": "^1.5.0" + } + }, + "node_modules/@metamask/eth-json-rpc-provider": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@metamask/eth-json-rpc-provider/-/eth-json-rpc-provider-1.0.1.tgz", + "integrity": "sha512-whiUMPlAOrVGmX8aKYVPvlKyG4CpQXiNNyt74vE1xb5sPvmx5oA7B/kOi/JdBvhGQq97U1/AVdXEdk2zkP8qyA==", + "dependencies": { + "@metamask/json-rpc-engine": "^7.0.0", + "@metamask/safe-event-emitter": "^3.0.0", + "@metamask/utils": "^5.0.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@metamask/eth-json-rpc-provider/node_modules/@metamask/json-rpc-engine": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/@metamask/json-rpc-engine/-/json-rpc-engine-7.3.3.tgz", + "integrity": "sha512-dwZPq8wx9yV3IX2caLi9q9xZBw2XeIoYqdyihDDDpuHVCEiqadJLwqM3zy+uwf6F1QYQ65A8aOMQg1Uw7LMLNg==", + "license": "ISC", + "dependencies": { + "@metamask/rpc-errors": "^6.2.1", + "@metamask/safe-event-emitter": "^3.0.0", + "@metamask/utils": "^8.3.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@metamask/eth-json-rpc-provider/node_modules/@metamask/json-rpc-engine/node_modules/@metamask/utils": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/@metamask/utils/-/utils-8.5.0.tgz", + "integrity": "sha512-I6bkduevXb72TIM9q2LRO63JSsF9EXduh3sBr9oybNX2hNNpr/j1tEjXrsG0Uabm4MJ1xkGAQEMwifvKZIkyxQ==", + "license": "ISC", + "dependencies": { + "@ethereumjs/tx": "^4.2.0", + "@metamask/superstruct": "^3.0.0", + "@noble/hashes": "^1.3.1", + "@scure/base": "^1.1.3", + "@types/debug": "^4.1.7", + "debug": "^4.3.4", + "pony-cause": "^2.1.10", + "semver": "^7.5.4", + "uuid": "^9.0.1" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@metamask/eth-json-rpc-provider/node_modules/@metamask/rpc-errors": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/@metamask/rpc-errors/-/rpc-errors-6.4.0.tgz", + "integrity": "sha512-1ugFO1UoirU2esS3juZanS/Fo8C8XYocCuBpfZI5N7ECtoG+zu0wF+uWZASik6CkO6w9n/Iebt4iI4pT0vptpg==", + "license": "MIT", + "dependencies": { + "@metamask/utils": "^9.0.0", + "fast-safe-stringify": "^2.0.6" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@metamask/eth-json-rpc-provider/node_modules/@metamask/rpc-errors/node_modules/@metamask/utils": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@metamask/utils/-/utils-9.3.0.tgz", + "integrity": "sha512-w8CVbdkDrVXFJbfBSlDfafDR6BAkpDmv1bC1UJVCoVny5tW2RKAdn9i68Xf7asYT4TnUhl/hN4zfUiKQq9II4g==", + "license": "ISC", + "dependencies": { + "@ethereumjs/tx": "^4.2.0", + "@metamask/superstruct": "^3.1.0", + "@noble/hashes": "^1.3.1", + "@scure/base": "^1.1.3", + "@types/debug": "^4.1.7", + "debug": "^4.3.4", + "pony-cause": "^2.1.10", + "semver": "^7.5.4", + "uuid": "^9.0.1" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@metamask/eth-json-rpc-provider/node_modules/@metamask/utils": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@metamask/utils/-/utils-5.0.2.tgz", + "integrity": "sha512-yfmE79bRQtnMzarnKfX7AEJBwFTxvTyw3nBQlu/5rmGXrjAeAMltoGxO62TFurxrQAFMNa/fEjIHNvungZp0+g==", + "license": "ISC", + "dependencies": { + "@ethereumjs/tx": "^4.1.2", + "@types/debug": "^4.1.7", + "debug": "^4.3.4", + "semver": "^7.3.8", + "superstruct": "^1.0.3" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@metamask/eth-json-rpc-provider/node_modules/superstruct": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/superstruct/-/superstruct-1.0.4.tgz", + "integrity": "sha512-7JpaAoX2NGyoFlI9NBh66BQXGONc+uE+MRS5i2iOBKuS4e+ccgMDjATgZldkah+33DakBxDHiss9kvUcGAO8UQ==", + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@metamask/eth-json-rpc-provider/node_modules/uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/@metamask/json-rpc-engine": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@metamask/json-rpc-engine/-/json-rpc-engine-8.0.2.tgz", + "integrity": "sha512-IoQPmql8q7ABLruW7i4EYVHWUbF74yrp63bRuXV5Zf9BQwcn5H9Ww1eLtROYvI1bUXwOiHZ6qT5CWTrDc/t/AA==", + "license": "ISC", + "dependencies": { + "@metamask/rpc-errors": "^6.2.1", + "@metamask/safe-event-emitter": "^3.0.0", + "@metamask/utils": "^8.3.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@metamask/json-rpc-engine/node_modules/@metamask/rpc-errors": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/@metamask/rpc-errors/-/rpc-errors-6.4.0.tgz", + "integrity": "sha512-1ugFO1UoirU2esS3juZanS/Fo8C8XYocCuBpfZI5N7ECtoG+zu0wF+uWZASik6CkO6w9n/Iebt4iI4pT0vptpg==", + "license": "MIT", + "dependencies": { + "@metamask/utils": "^9.0.0", + "fast-safe-stringify": "^2.0.6" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@metamask/json-rpc-engine/node_modules/@metamask/rpc-errors/node_modules/@metamask/utils": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@metamask/utils/-/utils-9.3.0.tgz", + "integrity": "sha512-w8CVbdkDrVXFJbfBSlDfafDR6BAkpDmv1bC1UJVCoVny5tW2RKAdn9i68Xf7asYT4TnUhl/hN4zfUiKQq9II4g==", + "license": "ISC", + "dependencies": { + "@ethereumjs/tx": "^4.2.0", + "@metamask/superstruct": "^3.1.0", + "@noble/hashes": "^1.3.1", + "@scure/base": "^1.1.3", + "@types/debug": "^4.1.7", + "debug": "^4.3.4", + "pony-cause": "^2.1.10", + "semver": "^7.5.4", + "uuid": "^9.0.1" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@metamask/json-rpc-engine/node_modules/@metamask/utils": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/@metamask/utils/-/utils-8.5.0.tgz", + "integrity": "sha512-I6bkduevXb72TIM9q2LRO63JSsF9EXduh3sBr9oybNX2hNNpr/j1tEjXrsG0Uabm4MJ1xkGAQEMwifvKZIkyxQ==", + "license": "ISC", + "dependencies": { + "@ethereumjs/tx": "^4.2.0", + "@metamask/superstruct": "^3.0.0", + "@noble/hashes": "^1.3.1", + "@scure/base": "^1.1.3", + "@types/debug": "^4.1.7", + "debug": "^4.3.4", + "pony-cause": "^2.1.10", + "semver": "^7.5.4", + "uuid": "^9.0.1" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@metamask/json-rpc-engine/node_modules/uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/@metamask/json-rpc-middleware-stream": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@metamask/json-rpc-middleware-stream/-/json-rpc-middleware-stream-7.0.2.tgz", + "integrity": "sha512-yUdzsJK04Ev98Ck4D7lmRNQ8FPioXYhEUZOMS01LXW8qTvPGiRVXmVltj2p4wrLkh0vW7u6nv0mNl5xzC5Qmfg==", + "license": "ISC", + "dependencies": { + "@metamask/json-rpc-engine": "^8.0.2", + "@metamask/safe-event-emitter": "^3.0.0", + "@metamask/utils": "^8.3.0", + "readable-stream": "^3.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@metamask/json-rpc-middleware-stream/node_modules/@metamask/utils": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/@metamask/utils/-/utils-8.5.0.tgz", + "integrity": "sha512-I6bkduevXb72TIM9q2LRO63JSsF9EXduh3sBr9oybNX2hNNpr/j1tEjXrsG0Uabm4MJ1xkGAQEMwifvKZIkyxQ==", + "license": "ISC", + "dependencies": { + "@ethereumjs/tx": "^4.2.0", + "@metamask/superstruct": "^3.0.0", + "@noble/hashes": "^1.3.1", + "@scure/base": "^1.1.3", + "@types/debug": "^4.1.7", + "debug": "^4.3.4", + "pony-cause": "^2.1.10", + "semver": "^7.5.4", + "uuid": "^9.0.1" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@metamask/json-rpc-middleware-stream/node_modules/uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/@metamask/object-multiplex": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@metamask/object-multiplex/-/object-multiplex-2.1.0.tgz", + "integrity": "sha512-4vKIiv0DQxljcXwfpnbsXcfa5glMj5Zg9mqn4xpIWqkv6uJ2ma5/GtUfLFSxhlxnR8asRMv8dDmWya1Tc1sDFA==", + "license": "ISC", + "dependencies": { + "once": "^1.4.0", + "readable-stream": "^3.6.2" + }, + "engines": { + "node": "^16.20 || ^18.16 || >=20" + } + }, + "node_modules/@metamask/onboarding": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@metamask/onboarding/-/onboarding-1.0.1.tgz", + "integrity": "sha512-FqHhAsCI+Vacx2qa5mAFcWNSrTcVGMNjzxVgaX8ECSny/BJ9/vgXP9V7WF/8vb9DltPeQkxr+Fnfmm6GHfmdTQ==", + "license": "MIT", + "dependencies": { + "bowser": "^2.9.0" + } + }, + "node_modules/@metamask/providers": { + "version": "16.1.0", + "resolved": "https://registry.npmjs.org/@metamask/providers/-/providers-16.1.0.tgz", + "integrity": "sha512-znVCvux30+3SaUwcUGaSf+pUckzT5ukPRpcBmy+muBLC0yaWnBcvDqGfcsw6CBIenUdFrVoAFa8B6jsuCY/a+g==", + "license": "MIT", + "dependencies": { + "@metamask/json-rpc-engine": "^8.0.1", + "@metamask/json-rpc-middleware-stream": "^7.0.1", + "@metamask/object-multiplex": "^2.0.0", + "@metamask/rpc-errors": "^6.2.1", + "@metamask/safe-event-emitter": "^3.1.1", + "@metamask/utils": "^8.3.0", + "detect-browser": "^5.2.0", + "extension-port-stream": "^3.0.0", + "fast-deep-equal": "^3.1.3", + "is-stream": "^2.0.0", + "readable-stream": "^3.6.2", + "webextension-polyfill": "^0.10.0" + }, + "engines": { + "node": "^18.18 || >=20" + } + }, + "node_modules/@metamask/providers/node_modules/@metamask/rpc-errors": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/@metamask/rpc-errors/-/rpc-errors-6.4.0.tgz", + "integrity": "sha512-1ugFO1UoirU2esS3juZanS/Fo8C8XYocCuBpfZI5N7ECtoG+zu0wF+uWZASik6CkO6w9n/Iebt4iI4pT0vptpg==", + "license": "MIT", + "dependencies": { + "@metamask/utils": "^9.0.0", + "fast-safe-stringify": "^2.0.6" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@metamask/providers/node_modules/@metamask/rpc-errors/node_modules/@metamask/utils": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@metamask/utils/-/utils-9.3.0.tgz", + "integrity": "sha512-w8CVbdkDrVXFJbfBSlDfafDR6BAkpDmv1bC1UJVCoVny5tW2RKAdn9i68Xf7asYT4TnUhl/hN4zfUiKQq9II4g==", + "license": "ISC", + "dependencies": { + "@ethereumjs/tx": "^4.2.0", + "@metamask/superstruct": "^3.1.0", + "@noble/hashes": "^1.3.1", + "@scure/base": "^1.1.3", + "@types/debug": "^4.1.7", + "debug": "^4.3.4", + "pony-cause": "^2.1.10", + "semver": "^7.5.4", + "uuid": "^9.0.1" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@metamask/providers/node_modules/@metamask/utils": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/@metamask/utils/-/utils-8.5.0.tgz", + "integrity": "sha512-I6bkduevXb72TIM9q2LRO63JSsF9EXduh3sBr9oybNX2hNNpr/j1tEjXrsG0Uabm4MJ1xkGAQEMwifvKZIkyxQ==", + "license": "ISC", + "dependencies": { + "@ethereumjs/tx": "^4.2.0", + "@metamask/superstruct": "^3.0.0", + "@noble/hashes": "^1.3.1", + "@scure/base": "^1.1.3", + "@types/debug": "^4.1.7", + "debug": "^4.3.4", + "pony-cause": "^2.1.10", + "semver": "^7.5.4", + "uuid": "^9.0.1" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@metamask/providers/node_modules/uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/@metamask/rpc-errors": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@metamask/rpc-errors/-/rpc-errors-7.0.2.tgz", + "integrity": "sha512-YYYHsVYd46XwY2QZzpGeU4PSdRhHdxnzkB8piWGvJW2xbikZ3R+epAYEL4q/K8bh9JPTucsUdwRFnACor1aOYw==", + "license": "MIT", + "dependencies": { + "@metamask/utils": "^11.0.1", + "fast-safe-stringify": "^2.0.6" + }, + "engines": { + "node": "^18.20 || ^20.17 || >=22" + } + }, + "node_modules/@metamask/safe-event-emitter": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@metamask/safe-event-emitter/-/safe-event-emitter-3.1.2.tgz", + "integrity": "sha512-5yb2gMI1BDm0JybZezeoX/3XhPDOtTbcFvpTXM9kxsoZjPZFh4XciqRbpD6N86HYZqWDhEaKUDuOyR0sQHEjMA==", + "license": "ISC", + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/@metamask/sdk": { + "version": "0.33.1", + "resolved": "https://registry.npmjs.org/@metamask/sdk/-/sdk-0.33.1.tgz", + "integrity": "sha512-1mcOQVGr9rSrVcbKPNVzbZ8eCl1K0FATsYH3WJ/MH4WcZDWGECWrXJPNMZoEAkLxWiMe8jOQBumg2pmcDa9zpQ==", + "dependencies": { + "@babel/runtime": "^7.26.0", + "@metamask/onboarding": "^1.0.1", + "@metamask/providers": "16.1.0", + "@metamask/sdk-analytics": "0.0.5", + "@metamask/sdk-communication-layer": "0.33.1", + "@metamask/sdk-install-modal-web": "0.32.1", + "@paulmillr/qr": "^0.2.1", + "bowser": "^2.9.0", + "cross-fetch": "^4.0.0", + "debug": "4.3.4", + "eciesjs": "^0.4.11", + "eth-rpc-errors": "^4.0.3", + "eventemitter2": "^6.4.9", + "obj-multiplex": "^1.0.0", + "pump": "^3.0.0", + "readable-stream": "^3.6.2", + "socket.io-client": "^4.5.1", + "tslib": "^2.6.0", + "util": "^0.12.4", + "uuid": "^8.3.2" + } + }, + "node_modules/@metamask/sdk-analytics": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/@metamask/sdk-analytics/-/sdk-analytics-0.0.5.tgz", + "integrity": "sha512-fDah+keS1RjSUlC8GmYXvx6Y26s3Ax1U9hGpWb6GSY5SAdmTSIqp2CvYy6yW0WgLhnYhW+6xERuD0eVqV63QIQ==", + "license": "MIT", + "dependencies": { + "openapi-fetch": "^0.13.5" + } + }, + "node_modules/@metamask/sdk-communication-layer": { + "version": "0.33.1", + "resolved": "https://registry.npmjs.org/@metamask/sdk-communication-layer/-/sdk-communication-layer-0.33.1.tgz", + "integrity": "sha512-0bI9hkysxcfbZ/lk0T2+aKVo1j0ynQVTuB3sJ5ssPWlz+Z3VwveCkP1O7EVu1tsVVCb0YV5WxK9zmURu2FIiaA==", + "dependencies": { + "@metamask/sdk-analytics": "0.0.5", + "bufferutil": "^4.0.8", + "date-fns": "^2.29.3", + "debug": "4.3.4", + "utf-8-validate": "^5.0.2", + "uuid": "^8.3.2" + }, + "peerDependencies": { + "cross-fetch": "^4.0.0", + "eciesjs": "*", + "eventemitter2": "^6.4.9", + "readable-stream": "^3.6.2", + "socket.io-client": "^4.5.1" + } + }, + "node_modules/@metamask/sdk-install-modal-web": { + "version": "0.32.1", + "resolved": "https://registry.npmjs.org/@metamask/sdk-install-modal-web/-/sdk-install-modal-web-0.32.1.tgz", + "integrity": "sha512-MGmAo6qSjf1tuYXhCu2EZLftq+DSt5Z7fsIKr2P+lDgdTPWgLfZB1tJKzNcwKKOdf6q9Qmmxn7lJuI/gq5LrKw==", + "dependencies": { + "@paulmillr/qr": "^0.2.1" + } + }, + "node_modules/@metamask/superstruct": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@metamask/superstruct/-/superstruct-3.2.1.tgz", + "integrity": "sha512-fLgJnDOXFmuVlB38rUN5SmU7hAFQcCjrg3Vrxz67KTY7YHFnSNEKvX4avmEBdOI0yTCxZjwMCFEqsC8k2+Wd3g==", + "license": "MIT", + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@metamask/utils": { + "version": "11.10.0", + "resolved": "https://registry.npmjs.org/@metamask/utils/-/utils-11.10.0.tgz", + "integrity": "sha512-+bWmTOANx1MbBW6RFM8Se4ZoigFYGXiuIrkhjj4XnG5Aez8uWaTSZ76yn9srKKClv+PoEVoAuVtcUOogFEMUNA==", + "license": "ISC", + "dependencies": { + "@ethereumjs/tx": "^4.2.0", + "@metamask/superstruct": "^3.1.0", + "@noble/hashes": "^1.3.1", + "@scure/base": "^1.1.3", + "@types/debug": "^4.1.7", + "@types/lodash": "^4.17.20", + "debug": "^4.3.4", + "lodash": "^4.17.21", + "pony-cause": "^2.1.10", + "semver": "^7.5.4", + "uuid": "^9.0.1" + }, + "engines": { + "node": "^18.18 || ^20.14 || >=22" + } + }, + "node_modules/@metamask/utils/node_modules/uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/@next/env": { + "version": "14.2.35", + "resolved": "https://registry.npmjs.org/@next/env/-/env-14.2.35.tgz", + "integrity": "sha512-DuhvCtj4t9Gwrx80dmz2F4t/zKQ4ktN8WrMwOuVzkJfBilwAwGr6v16M5eI8yCuZ63H9TTuEU09Iu2HqkzFPVQ==", + "license": "MIT" + }, + "node_modules/@next/swc-darwin-arm64": { + "version": "14.2.33", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.2.33.tgz", + "integrity": "sha512-HqYnb6pxlsshoSTubdXKu15g3iivcbsMXg4bYpjL2iS/V6aQot+iyF4BUc2qA/J/n55YtvE4PHMKWBKGCF/+wA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-darwin-x64": { + "version": "14.2.33", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.2.33.tgz", + "integrity": "sha512-8HGBeAE5rX3jzKvF593XTTFg3gxeU4f+UWnswa6JPhzaR6+zblO5+fjltJWIZc4aUalqTclvN2QtTC37LxvZAA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-gnu": { + "version": "14.2.33", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.2.33.tgz", + "integrity": "sha512-JXMBka6lNNmqbkvcTtaX8Gu5by9547bukHQvPoLe9VRBx1gHwzf5tdt4AaezW85HAB3pikcvyqBToRTDA4DeLw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-musl": { + "version": "14.2.33", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.2.33.tgz", + "integrity": "sha512-Bm+QulsAItD/x6Ih8wGIMfRJy4G73tu1HJsrccPW6AfqdZd0Sfm5Imhgkgq2+kly065rYMnCOxTBvmvFY1BKfg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-gnu": { + "version": "14.2.33", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.2.33.tgz", + "integrity": "sha512-FnFn+ZBgsVMbGDsTqo8zsnRzydvsGV8vfiWwUo1LD8FTmPTdV+otGSWKc4LJec0oSexFnCYVO4hX8P8qQKaSlg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-musl": { + "version": "14.2.33", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.2.33.tgz", + "integrity": "sha512-345tsIWMzoXaQndUTDv1qypDRiebFxGYx9pYkhwY4hBRaOLt8UGfiWKr9FSSHs25dFIf8ZqIFaPdy5MljdoawA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-arm64-msvc": { + "version": "14.2.33", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.2.33.tgz", + "integrity": "sha512-nscpt0G6UCTkrT2ppnJnFsYbPDQwmum4GNXYTeoTIdsmMydSKFz9Iny2jpaRupTb+Wl298+Rh82WKzt9LCcqSQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-ia32-msvc": { + "version": "14.2.33", + "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.2.33.tgz", + "integrity": "sha512-pc9LpGNKhJ0dXQhZ5QMmYxtARwwmWLpeocFmVG5Z0DzWq5Uf0izcI8tLc+qOpqxO1PWqZ5A7J1blrUIKrIFc7Q==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-x64-msvc": { + "version": "14.2.33", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.2.33.tgz", + "integrity": "sha512-nOjfZMy8B94MdisuzZo9/57xuFVLHJaDj5e/xrduJp9CV2/HrfxTRH2fbyLe+K9QT41WBLUd4iXX3R7jBp0EUg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@noble/ciphers": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@noble/ciphers/-/ciphers-1.3.0.tgz", + "integrity": "sha512-2I0gnIVPtfnMw9ee9h1dJG7tp81+8Ob3OJb3Mv37rx5L40/b0i7djjCVvGOVqc9AEIQyvyu1i6ypKdFw8R8gQw==", + "license": "MIT", + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@noble/curves": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.9.1.tgz", + "integrity": "sha512-k11yZxZg+t+gWvBbIswW0yoJlu8cHOC7dhunwOzoWH/mXGBiYyR4YY6hAEK/3EUs4UpB8la1RfdRpeGsFHkWsA==", + "license": "MIT", + "dependencies": { + "@noble/hashes": "1.8.0" + }, + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@noble/hashes": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.8.0.tgz", + "integrity": "sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==", + "license": "MIT", + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@paulmillr/qr": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@paulmillr/qr/-/qr-0.2.1.tgz", + "integrity": "sha512-IHnV6A+zxU7XwmKFinmYjUcwlyK9+xkG3/s9KcQhI9BjQKycrJ1JRO+FbNYPwZiPKW3je/DR0k7w8/gLa5eaxQ==", + "deprecated": "The package is now available as \"qr\": npm install qr", + "license": "(MIT OR Apache-2.0)", + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@rainbow-me/rainbowkit": { + "version": "2.2.10", + "resolved": "https://registry.npmjs.org/@rainbow-me/rainbowkit/-/rainbowkit-2.2.10.tgz", + "integrity": "sha512-8+E4die1A2ovN9t3lWxWnwqTGEdFqThXDQRj+E4eDKuUKyymYD+66Gzm6S9yfg8E95c6hmGlavGUfYPtl1EagA==", + "license": "MIT", + "dependencies": { + "@vanilla-extract/css": "1.17.3", + "@vanilla-extract/dynamic": "2.1.4", + "@vanilla-extract/sprinkles": "1.6.4", + "clsx": "2.1.1", + "cuer": "0.0.3", + "react-remove-scroll": "2.6.2", + "ua-parser-js": "^1.0.37" + }, + "engines": { + "node": ">=12.4" + }, + "peerDependencies": { + "@tanstack/react-query": ">=5.0.0", + "react": ">=18", + "react-dom": ">=18", + "viem": "2.x", + "wagmi": "^2.9.0" + } + }, + "node_modules/@reown/appkit": { + "version": "1.7.8", + "resolved": "https://registry.npmjs.org/@reown/appkit/-/appkit-1.7.8.tgz", + "integrity": "sha512-51kTleozhA618T1UvMghkhKfaPcc9JlKwLJ5uV+riHyvSoWPKPRIa5A6M1Wano5puNyW0s3fwywhyqTHSilkaA==", + "license": "Apache-2.0", + "dependencies": { + "@reown/appkit-common": "1.7.8", + "@reown/appkit-controllers": "1.7.8", + "@reown/appkit-pay": "1.7.8", + "@reown/appkit-polyfills": "1.7.8", + "@reown/appkit-scaffold-ui": "1.7.8", + "@reown/appkit-ui": "1.7.8", + "@reown/appkit-utils": "1.7.8", + "@reown/appkit-wallet": "1.7.8", + "@walletconnect/types": "2.21.0", + "@walletconnect/universal-provider": "2.21.0", + "bs58": "6.0.0", + "valtio": "1.13.2", + "viem": ">=2.29.0" + } + }, + "node_modules/@reown/appkit-common": { + "version": "1.7.8", + "resolved": "https://registry.npmjs.org/@reown/appkit-common/-/appkit-common-1.7.8.tgz", + "integrity": "sha512-ridIhc/x6JOp7KbDdwGKY4zwf8/iK8EYBl+HtWrruutSLwZyVi5P8WaZa+8iajL6LcDcDF7LoyLwMTym7SRuwQ==", + "license": "Apache-2.0", + "dependencies": { + "big.js": "6.2.2", + "dayjs": "1.11.13", + "viem": ">=2.29.0" + } + }, + "node_modules/@reown/appkit-controllers": { + "version": "1.7.8", + "resolved": "https://registry.npmjs.org/@reown/appkit-controllers/-/appkit-controllers-1.7.8.tgz", + "integrity": "sha512-IdXlJlivrlj6m63VsGLsjtPHHsTWvKGVzWIP1fXZHVqmK+rZCBDjCi9j267Rb9/nYRGHWBtlFQhO8dK35WfeDA==", + "license": "Apache-2.0", + "dependencies": { + "@reown/appkit-common": "1.7.8", + "@reown/appkit-wallet": "1.7.8", + "@walletconnect/universal-provider": "2.21.0", + "valtio": "1.13.2", + "viem": ">=2.29.0" + } + }, + "node_modules/@reown/appkit-controllers/node_modules/@noble/ciphers": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@noble/ciphers/-/ciphers-1.2.1.tgz", + "integrity": "sha512-rONPWMC7PeExE077uLE4oqWrZ1IvAfz3oH9LibVAcVCopJiA9R62uavnbEzdkVmJYI6M6Zgkbeb07+tWjlq2XA==", + "license": "MIT", + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@reown/appkit-controllers/node_modules/@noble/curves": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.8.1.tgz", + "integrity": "sha512-warwspo+UYUPep0Q+vtdVB4Ugn8GGQj8iyB3gnRWsztmUHTI3S1nhdiWNsPUGL0vud7JlRRk1XEu7Lq1KGTnMQ==", + "license": "MIT", + "dependencies": { + "@noble/hashes": "1.7.1" + }, + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@reown/appkit-controllers/node_modules/@noble/hashes": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.7.1.tgz", + "integrity": "sha512-B8XBPsn4vT/KJAGqDzbwztd+6Yte3P4V7iafm24bxgDe/mlRuK6xmWPuCNrKt2vDafZ8MfJLlchDG/vYafQEjQ==", + "license": "MIT", + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@reown/appkit-controllers/node_modules/@scure/bip32": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.6.2.tgz", + "integrity": "sha512-t96EPDMbtGgtb7onKKqxRLfE5g05k7uHnHRM2xdE6BP/ZmxaLtPek4J4KfVn/90IQNrU1IOAqMgiDtUdtbe3nw==", + "license": "MIT", + "dependencies": { + "@noble/curves": "~1.8.1", + "@noble/hashes": "~1.7.1", + "@scure/base": "~1.2.2" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@reown/appkit-controllers/node_modules/@scure/bip39": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.5.4.tgz", + "integrity": "sha512-TFM4ni0vKvCfBpohoh+/lY05i9gRbSwXWngAsF4CABQxoaOHijxuaZ2R6cStDQ5CHtHO9aGJTr4ksVJASRRyMA==", + "license": "MIT", + "dependencies": { + "@noble/hashes": "~1.7.1", + "@scure/base": "~1.2.4" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@reown/appkit-controllers/node_modules/@walletconnect/core": { + "version": "2.21.0", + "resolved": "https://registry.npmjs.org/@walletconnect/core/-/core-2.21.0.tgz", + "integrity": "sha512-o6R7Ua4myxR8aRUAJ1z3gT9nM+jd2B2mfamu6arzy1Cc6vi10fIwFWb6vg3bC8xJ6o9H3n/cN5TOW3aA9Y1XVw==", + "license": "Apache-2.0", + "dependencies": { + "@walletconnect/heartbeat": "1.2.2", + "@walletconnect/jsonrpc-provider": "1.0.14", + "@walletconnect/jsonrpc-types": "1.0.4", + "@walletconnect/jsonrpc-utils": "1.0.8", + "@walletconnect/jsonrpc-ws-connection": "1.0.16", + "@walletconnect/keyvaluestorage": "1.1.1", + "@walletconnect/logger": "2.1.2", + "@walletconnect/relay-api": "1.0.11", + "@walletconnect/relay-auth": "1.1.0", + "@walletconnect/safe-json": "1.0.2", + "@walletconnect/time": "1.0.2", + "@walletconnect/types": "2.21.0", + "@walletconnect/utils": "2.21.0", + "@walletconnect/window-getters": "1.0.1", + "es-toolkit": "1.33.0", + "events": "3.3.0", + "uint8arrays": "3.1.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@reown/appkit-controllers/node_modules/@walletconnect/keyvaluestorage": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@walletconnect/keyvaluestorage/-/keyvaluestorage-1.1.1.tgz", + "integrity": "sha512-V7ZQq2+mSxAq7MrRqDxanTzu2RcElfK1PfNYiaVnJgJ7Q7G7hTVwF8voIBx92qsRyGHZihrwNPHuZd1aKkd0rA==", + "license": "MIT", + "dependencies": { + "@walletconnect/safe-json": "^1.0.1", + "idb-keyval": "^6.2.1", + "unstorage": "^1.9.0" + }, + "peerDependencies": { + "@react-native-async-storage/async-storage": "1.x" + }, + "peerDependenciesMeta": { + "@react-native-async-storage/async-storage": { + "optional": true + } + } + }, + "node_modules/@reown/appkit-controllers/node_modules/@walletconnect/sign-client": { + "version": "2.21.0", + "resolved": "https://registry.npmjs.org/@walletconnect/sign-client/-/sign-client-2.21.0.tgz", + "integrity": "sha512-z7h+PeLa5Au2R591d/8ZlziE0stJvdzP9jNFzFolf2RG/OiXulgFKum8PrIyXy+Rg2q95U9nRVUF9fWcn78yBA==", + "deprecated": "Reliability and performance improvements. See: https://github.com/WalletConnect/walletconnect-monorepo/releases", + "license": "Apache-2.0", + "dependencies": { + "@walletconnect/core": "2.21.0", + "@walletconnect/events": "1.0.1", + "@walletconnect/heartbeat": "1.2.2", + "@walletconnect/jsonrpc-utils": "1.0.8", + "@walletconnect/logger": "2.1.2", + "@walletconnect/time": "1.0.2", + "@walletconnect/types": "2.21.0", + "@walletconnect/utils": "2.21.0", + "events": "3.3.0" + } + }, + "node_modules/@reown/appkit-controllers/node_modules/@walletconnect/types": { + "version": "2.21.0", + "resolved": "https://registry.npmjs.org/@walletconnect/types/-/types-2.21.0.tgz", + "integrity": "sha512-ll+9upzqt95ZBWcfkOszXZkfnpbJJ2CmxMfGgE5GmhdxxxCcO5bGhXkI+x8OpiS555RJ/v/sXJYMSOLkmu4fFw==", + "license": "Apache-2.0", + "dependencies": { + "@walletconnect/events": "1.0.1", + "@walletconnect/heartbeat": "1.2.2", + "@walletconnect/jsonrpc-types": "1.0.4", + "@walletconnect/keyvaluestorage": "1.1.1", + "@walletconnect/logger": "2.1.2", + "events": "3.3.0" + } + }, + "node_modules/@reown/appkit-controllers/node_modules/@walletconnect/universal-provider": { + "version": "2.21.0", + "resolved": "https://registry.npmjs.org/@walletconnect/universal-provider/-/universal-provider-2.21.0.tgz", + "integrity": "sha512-mtUQvewt+X0VBQay/xOJBvxsB3Xsm1lTwFjZ6WUwSOTR1X+FNb71hSApnV5kbsdDIpYPXeQUbGt2se1n5E5UBg==", + "deprecated": "Reliability and performance improvements. See: https://github.com/WalletConnect/walletconnect-monorepo/releases", + "license": "Apache-2.0", + "dependencies": { + "@walletconnect/events": "1.0.1", + "@walletconnect/jsonrpc-http-connection": "1.0.8", + "@walletconnect/jsonrpc-provider": "1.0.14", + "@walletconnect/jsonrpc-types": "1.0.4", + "@walletconnect/jsonrpc-utils": "1.0.8", + "@walletconnect/keyvaluestorage": "1.1.1", + "@walletconnect/logger": "2.1.2", + "@walletconnect/sign-client": "2.21.0", + "@walletconnect/types": "2.21.0", + "@walletconnect/utils": "2.21.0", + "es-toolkit": "1.33.0", + "events": "3.3.0" + } + }, + "node_modules/@reown/appkit-controllers/node_modules/@walletconnect/utils": { + "version": "2.21.0", + "resolved": "https://registry.npmjs.org/@walletconnect/utils/-/utils-2.21.0.tgz", + "integrity": "sha512-zfHLiUoBrQ8rP57HTPXW7rQMnYxYI4gT9yTACxVW6LhIFROTF6/ytm5SKNoIvi4a5nX5dfXG4D9XwQUCu8Ilig==", + "license": "Apache-2.0", + "dependencies": { + "@noble/ciphers": "1.2.1", + "@noble/curves": "1.8.1", + "@noble/hashes": "1.7.1", + "@walletconnect/jsonrpc-utils": "1.0.8", + "@walletconnect/keyvaluestorage": "1.1.1", + "@walletconnect/relay-api": "1.0.11", + "@walletconnect/relay-auth": "1.1.0", + "@walletconnect/safe-json": "1.0.2", + "@walletconnect/time": "1.0.2", + "@walletconnect/types": "2.21.0", + "@walletconnect/window-getters": "1.0.1", + "@walletconnect/window-metadata": "1.0.1", + "bs58": "6.0.0", + "detect-browser": "5.3.0", + "query-string": "7.1.3", + "uint8arrays": "3.1.0", + "viem": "2.23.2" + } + }, + "node_modules/@reown/appkit-controllers/node_modules/@walletconnect/utils/node_modules/viem": { + "version": "2.23.2", + "resolved": "https://registry.npmjs.org/viem/-/viem-2.23.2.tgz", + "integrity": "sha512-NVmW/E0c5crMOtbEAqMF0e3NmvQykFXhLOc/CkLIXOlzHSA6KXVz3CYVmaKqBF8/xtjsjHAGjdJN3Ru1kFJLaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/wevm" + } + ], + "license": "MIT", + "dependencies": { + "@noble/curves": "1.8.1", + "@noble/hashes": "1.7.1", + "@scure/bip32": "1.6.2", + "@scure/bip39": "1.5.4", + "abitype": "1.0.8", + "isows": "1.0.6", + "ox": "0.6.7", + "ws": "8.18.0" + }, + "peerDependencies": { + "typescript": ">=5.0.4" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@reown/appkit-controllers/node_modules/abitype": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/abitype/-/abitype-1.0.8.tgz", + "integrity": "sha512-ZeiI6h3GnW06uYDLx0etQtX/p8E24UaHHBj57RSjK7YBFe7iuVn07EDpOeP451D06sF27VOz9JJPlIKJmXgkEg==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/wevm" + }, + "peerDependencies": { + "typescript": ">=5.0.4", + "zod": "^3 >=3.22.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + }, + "zod": { + "optional": true + } + } + }, + "node_modules/@reown/appkit-controllers/node_modules/base-x": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/base-x/-/base-x-5.0.1.tgz", + "integrity": "sha512-M7uio8Zt++eg3jPj+rHMfCC+IuygQHHCOU+IYsVtik6FWjuYpVt/+MRKcgsAMHh8mMFAwnB+Bs+mTrFiXjMzKg==", + "license": "MIT" + }, + "node_modules/@reown/appkit-controllers/node_modules/bs58": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/bs58/-/bs58-6.0.0.tgz", + "integrity": "sha512-PD0wEnEYg6ijszw/u8s+iI3H17cTymlrwkKhDhPZq+Sokl3AU4htyBFTjAeNAlCCmg0f53g6ih3jATyCKftTfw==", + "license": "MIT", + "dependencies": { + "base-x": "^5.0.0" + } + }, + "node_modules/@reown/appkit-controllers/node_modules/isows": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/isows/-/isows-1.0.6.tgz", + "integrity": "sha512-lPHCayd40oW98/I0uvgaHKWCSvkzY27LjWLbtzOm64yQ+G3Q5npjjbdppU65iZXkK1Zt+kH9pfegli0AYfwYYw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/wevm" + } + ], + "license": "MIT", + "peerDependencies": { + "ws": "*" + } + }, + "node_modules/@reown/appkit-controllers/node_modules/lru-cache": { + "version": "11.2.6", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.6.tgz", + "integrity": "sha512-ESL2CrkS/2wTPfuend7Zhkzo2u0daGJ/A2VucJOgQ/C48S/zB8MMeMHSGKYpXhIjbPxfuezITkaBH1wqv00DDQ==", + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/@reown/appkit-controllers/node_modules/ox": { + "version": "0.6.7", + "resolved": "https://registry.npmjs.org/ox/-/ox-0.6.7.tgz", + "integrity": "sha512-17Gk/eFsFRAZ80p5eKqv89a57uXjd3NgIf1CaXojATPBuujVc/fQSVhBeAU9JCRB+k7J50WQAyWTxK19T9GgbA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/wevm" + } + ], + "license": "MIT", + "dependencies": { + "@adraffy/ens-normalize": "^1.10.1", + "@noble/curves": "^1.6.0", + "@noble/hashes": "^1.5.0", + "@scure/bip32": "^1.5.0", + "@scure/bip39": "^1.4.0", + "abitype": "^1.0.6", + "eventemitter3": "5.0.1" + }, + "peerDependencies": { + "typescript": ">=5.4.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@reown/appkit-controllers/node_modules/unstorage": { + "version": "1.17.4", + "resolved": "https://registry.npmjs.org/unstorage/-/unstorage-1.17.4.tgz", + "integrity": "sha512-fHK0yNg38tBiJKp/Vgsq4j0JEsCmgqH58HAn707S7zGkArbZsVr/CwINoi+nh3h98BRCwKvx1K3Xg9u3VV83sw==", + "license": "MIT", + "dependencies": { + "anymatch": "^3.1.3", + "chokidar": "^5.0.0", + "destr": "^2.0.5", + "h3": "^1.15.5", + "lru-cache": "^11.2.0", + "node-fetch-native": "^1.6.7", + "ofetch": "^1.5.1", + "ufo": "^1.6.3" + }, + "peerDependencies": { + "@azure/app-configuration": "^1.8.0", + "@azure/cosmos": "^4.2.0", + "@azure/data-tables": "^13.3.0", + "@azure/identity": "^4.6.0", + "@azure/keyvault-secrets": "^4.9.0", + "@azure/storage-blob": "^12.26.0", + "@capacitor/preferences": "^6 || ^7 || ^8", + "@deno/kv": ">=0.9.0", + "@netlify/blobs": "^6.5.0 || ^7.0.0 || ^8.1.0 || ^9.0.0 || ^10.0.0", + "@planetscale/database": "^1.19.0", + "@upstash/redis": "^1.34.3", + "@vercel/blob": ">=0.27.1", + "@vercel/functions": "^2.2.12 || ^3.0.0", + "@vercel/kv": "^1 || ^2 || ^3", + "aws4fetch": "^1.0.20", + "db0": ">=0.2.1", + "idb-keyval": "^6.2.1", + "ioredis": "^5.4.2", + "uploadthing": "^7.4.4" + }, + "peerDependenciesMeta": { + "@azure/app-configuration": { + "optional": true + }, + "@azure/cosmos": { + "optional": true + }, + "@azure/data-tables": { + "optional": true + }, + "@azure/identity": { + "optional": true + }, + "@azure/keyvault-secrets": { + "optional": true + }, + "@azure/storage-blob": { + "optional": true + }, + "@capacitor/preferences": { + "optional": true + }, + "@deno/kv": { + "optional": true + }, + "@netlify/blobs": { + "optional": true + }, + "@planetscale/database": { + "optional": true + }, + "@upstash/redis": { + "optional": true + }, + "@vercel/blob": { + "optional": true + }, + "@vercel/functions": { + "optional": true + }, + "@vercel/kv": { + "optional": true + }, + "aws4fetch": { + "optional": true + }, + "db0": { + "optional": true + }, + "idb-keyval": { + "optional": true + }, + "ioredis": { + "optional": true + }, + "uploadthing": { + "optional": true + } + } + }, + "node_modules/@reown/appkit-controllers/node_modules/ws": { + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", + "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/@reown/appkit-pay": { + "version": "1.7.8", + "resolved": "https://registry.npmjs.org/@reown/appkit-pay/-/appkit-pay-1.7.8.tgz", + "integrity": "sha512-OSGQ+QJkXx0FEEjlpQqIhT8zGJKOoHzVnyy/0QFrl3WrQTjCzg0L6+i91Ad5Iy1zb6V5JjqtfIFpRVRWN4M3pw==", + "license": "Apache-2.0", + "dependencies": { + "@reown/appkit-common": "1.7.8", + "@reown/appkit-controllers": "1.7.8", + "@reown/appkit-ui": "1.7.8", + "@reown/appkit-utils": "1.7.8", + "lit": "3.3.0", + "valtio": "1.13.2" + } + }, + "node_modules/@reown/appkit-polyfills": { + "version": "1.7.8", + "resolved": "https://registry.npmjs.org/@reown/appkit-polyfills/-/appkit-polyfills-1.7.8.tgz", + "integrity": "sha512-W/kq786dcHHAuJ3IV2prRLEgD/2iOey4ueMHf1sIFjhhCGMynMkhsOhQMUH0tzodPqUgAC494z4bpIDYjwWXaA==", + "license": "Apache-2.0", + "dependencies": { + "buffer": "6.0.3" + } + }, + "node_modules/@reown/appkit-scaffold-ui": { + "version": "1.7.8", + "resolved": "https://registry.npmjs.org/@reown/appkit-scaffold-ui/-/appkit-scaffold-ui-1.7.8.tgz", + "integrity": "sha512-RCeHhAwOrIgcvHwYlNWMcIDibdI91waaoEYBGw71inE0kDB8uZbE7tE6DAXJmDkvl0qPh+DqlC4QbJLF1FVYdQ==", + "license": "Apache-2.0", + "dependencies": { + "@reown/appkit-common": "1.7.8", + "@reown/appkit-controllers": "1.7.8", + "@reown/appkit-ui": "1.7.8", + "@reown/appkit-utils": "1.7.8", + "@reown/appkit-wallet": "1.7.8", + "lit": "3.3.0" + } + }, + "node_modules/@reown/appkit-ui": { + "version": "1.7.8", + "resolved": "https://registry.npmjs.org/@reown/appkit-ui/-/appkit-ui-1.7.8.tgz", + "integrity": "sha512-1hjCKjf6FLMFzrulhl0Y9Vb9Fu4royE+SXCPSWh4VhZhWqlzUFc7kutnZKx8XZFVQH4pbBvY62SpRC93gqoHow==", + "license": "Apache-2.0", + "dependencies": { + "@reown/appkit-common": "1.7.8", + "@reown/appkit-controllers": "1.7.8", + "@reown/appkit-wallet": "1.7.8", + "lit": "3.3.0", + "qrcode": "1.5.3" + } + }, + "node_modules/@reown/appkit-utils": { + "version": "1.7.8", + "resolved": "https://registry.npmjs.org/@reown/appkit-utils/-/appkit-utils-1.7.8.tgz", + "integrity": "sha512-8X7UvmE8GiaoitCwNoB86pttHgQtzy4ryHZM9kQpvjQ0ULpiER44t1qpVLXNM4X35O0v18W0Dk60DnYRMH2WRw==", + "license": "Apache-2.0", + "dependencies": { + "@reown/appkit-common": "1.7.8", + "@reown/appkit-controllers": "1.7.8", + "@reown/appkit-polyfills": "1.7.8", + "@reown/appkit-wallet": "1.7.8", + "@walletconnect/logger": "2.1.2", + "@walletconnect/universal-provider": "2.21.0", + "valtio": "1.13.2", + "viem": ">=2.29.0" + }, + "peerDependencies": { + "valtio": "1.13.2" + } + }, + "node_modules/@reown/appkit-utils/node_modules/@noble/ciphers": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@noble/ciphers/-/ciphers-1.2.1.tgz", + "integrity": "sha512-rONPWMC7PeExE077uLE4oqWrZ1IvAfz3oH9LibVAcVCopJiA9R62uavnbEzdkVmJYI6M6Zgkbeb07+tWjlq2XA==", + "license": "MIT", + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@reown/appkit-utils/node_modules/@noble/curves": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.8.1.tgz", + "integrity": "sha512-warwspo+UYUPep0Q+vtdVB4Ugn8GGQj8iyB3gnRWsztmUHTI3S1nhdiWNsPUGL0vud7JlRRk1XEu7Lq1KGTnMQ==", + "license": "MIT", + "dependencies": { + "@noble/hashes": "1.7.1" + }, + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@reown/appkit-utils/node_modules/@noble/hashes": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.7.1.tgz", + "integrity": "sha512-B8XBPsn4vT/KJAGqDzbwztd+6Yte3P4V7iafm24bxgDe/mlRuK6xmWPuCNrKt2vDafZ8MfJLlchDG/vYafQEjQ==", + "license": "MIT", + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@reown/appkit-utils/node_modules/@scure/bip32": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.6.2.tgz", + "integrity": "sha512-t96EPDMbtGgtb7onKKqxRLfE5g05k7uHnHRM2xdE6BP/ZmxaLtPek4J4KfVn/90IQNrU1IOAqMgiDtUdtbe3nw==", + "license": "MIT", + "dependencies": { + "@noble/curves": "~1.8.1", + "@noble/hashes": "~1.7.1", + "@scure/base": "~1.2.2" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@reown/appkit-utils/node_modules/@scure/bip39": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.5.4.tgz", + "integrity": "sha512-TFM4ni0vKvCfBpohoh+/lY05i9gRbSwXWngAsF4CABQxoaOHijxuaZ2R6cStDQ5CHtHO9aGJTr4ksVJASRRyMA==", + "license": "MIT", + "dependencies": { + "@noble/hashes": "~1.7.1", + "@scure/base": "~1.2.4" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@reown/appkit-utils/node_modules/@walletconnect/core": { + "version": "2.21.0", + "resolved": "https://registry.npmjs.org/@walletconnect/core/-/core-2.21.0.tgz", + "integrity": "sha512-o6R7Ua4myxR8aRUAJ1z3gT9nM+jd2B2mfamu6arzy1Cc6vi10fIwFWb6vg3bC8xJ6o9H3n/cN5TOW3aA9Y1XVw==", + "license": "Apache-2.0", + "dependencies": { + "@walletconnect/heartbeat": "1.2.2", + "@walletconnect/jsonrpc-provider": "1.0.14", + "@walletconnect/jsonrpc-types": "1.0.4", + "@walletconnect/jsonrpc-utils": "1.0.8", + "@walletconnect/jsonrpc-ws-connection": "1.0.16", + "@walletconnect/keyvaluestorage": "1.1.1", + "@walletconnect/logger": "2.1.2", + "@walletconnect/relay-api": "1.0.11", + "@walletconnect/relay-auth": "1.1.0", + "@walletconnect/safe-json": "1.0.2", + "@walletconnect/time": "1.0.2", + "@walletconnect/types": "2.21.0", + "@walletconnect/utils": "2.21.0", + "@walletconnect/window-getters": "1.0.1", + "es-toolkit": "1.33.0", + "events": "3.3.0", + "uint8arrays": "3.1.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@reown/appkit-utils/node_modules/@walletconnect/keyvaluestorage": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@walletconnect/keyvaluestorage/-/keyvaluestorage-1.1.1.tgz", + "integrity": "sha512-V7ZQq2+mSxAq7MrRqDxanTzu2RcElfK1PfNYiaVnJgJ7Q7G7hTVwF8voIBx92qsRyGHZihrwNPHuZd1aKkd0rA==", + "license": "MIT", + "dependencies": { + "@walletconnect/safe-json": "^1.0.1", + "idb-keyval": "^6.2.1", + "unstorage": "^1.9.0" + }, + "peerDependencies": { + "@react-native-async-storage/async-storage": "1.x" + }, + "peerDependenciesMeta": { + "@react-native-async-storage/async-storage": { + "optional": true + } + } + }, + "node_modules/@reown/appkit-utils/node_modules/@walletconnect/sign-client": { + "version": "2.21.0", + "resolved": "https://registry.npmjs.org/@walletconnect/sign-client/-/sign-client-2.21.0.tgz", + "integrity": "sha512-z7h+PeLa5Au2R591d/8ZlziE0stJvdzP9jNFzFolf2RG/OiXulgFKum8PrIyXy+Rg2q95U9nRVUF9fWcn78yBA==", + "deprecated": "Reliability and performance improvements. See: https://github.com/WalletConnect/walletconnect-monorepo/releases", + "license": "Apache-2.0", + "dependencies": { + "@walletconnect/core": "2.21.0", + "@walletconnect/events": "1.0.1", + "@walletconnect/heartbeat": "1.2.2", + "@walletconnect/jsonrpc-utils": "1.0.8", + "@walletconnect/logger": "2.1.2", + "@walletconnect/time": "1.0.2", + "@walletconnect/types": "2.21.0", + "@walletconnect/utils": "2.21.0", + "events": "3.3.0" + } + }, + "node_modules/@reown/appkit-utils/node_modules/@walletconnect/types": { + "version": "2.21.0", + "resolved": "https://registry.npmjs.org/@walletconnect/types/-/types-2.21.0.tgz", + "integrity": "sha512-ll+9upzqt95ZBWcfkOszXZkfnpbJJ2CmxMfGgE5GmhdxxxCcO5bGhXkI+x8OpiS555RJ/v/sXJYMSOLkmu4fFw==", + "license": "Apache-2.0", + "dependencies": { + "@walletconnect/events": "1.0.1", + "@walletconnect/heartbeat": "1.2.2", + "@walletconnect/jsonrpc-types": "1.0.4", + "@walletconnect/keyvaluestorage": "1.1.1", + "@walletconnect/logger": "2.1.2", + "events": "3.3.0" + } + }, + "node_modules/@reown/appkit-utils/node_modules/@walletconnect/universal-provider": { + "version": "2.21.0", + "resolved": "https://registry.npmjs.org/@walletconnect/universal-provider/-/universal-provider-2.21.0.tgz", + "integrity": "sha512-mtUQvewt+X0VBQay/xOJBvxsB3Xsm1lTwFjZ6WUwSOTR1X+FNb71hSApnV5kbsdDIpYPXeQUbGt2se1n5E5UBg==", + "deprecated": "Reliability and performance improvements. See: https://github.com/WalletConnect/walletconnect-monorepo/releases", + "license": "Apache-2.0", + "dependencies": { + "@walletconnect/events": "1.0.1", + "@walletconnect/jsonrpc-http-connection": "1.0.8", + "@walletconnect/jsonrpc-provider": "1.0.14", + "@walletconnect/jsonrpc-types": "1.0.4", + "@walletconnect/jsonrpc-utils": "1.0.8", + "@walletconnect/keyvaluestorage": "1.1.1", + "@walletconnect/logger": "2.1.2", + "@walletconnect/sign-client": "2.21.0", + "@walletconnect/types": "2.21.0", + "@walletconnect/utils": "2.21.0", + "es-toolkit": "1.33.0", + "events": "3.3.0" + } + }, + "node_modules/@reown/appkit-utils/node_modules/@walletconnect/utils": { + "version": "2.21.0", + "resolved": "https://registry.npmjs.org/@walletconnect/utils/-/utils-2.21.0.tgz", + "integrity": "sha512-zfHLiUoBrQ8rP57HTPXW7rQMnYxYI4gT9yTACxVW6LhIFROTF6/ytm5SKNoIvi4a5nX5dfXG4D9XwQUCu8Ilig==", + "license": "Apache-2.0", + "dependencies": { + "@noble/ciphers": "1.2.1", + "@noble/curves": "1.8.1", + "@noble/hashes": "1.7.1", + "@walletconnect/jsonrpc-utils": "1.0.8", + "@walletconnect/keyvaluestorage": "1.1.1", + "@walletconnect/relay-api": "1.0.11", + "@walletconnect/relay-auth": "1.1.0", + "@walletconnect/safe-json": "1.0.2", + "@walletconnect/time": "1.0.2", + "@walletconnect/types": "2.21.0", + "@walletconnect/window-getters": "1.0.1", + "@walletconnect/window-metadata": "1.0.1", + "bs58": "6.0.0", + "detect-browser": "5.3.0", + "query-string": "7.1.3", + "uint8arrays": "3.1.0", + "viem": "2.23.2" + } + }, + "node_modules/@reown/appkit-utils/node_modules/@walletconnect/utils/node_modules/viem": { + "version": "2.23.2", + "resolved": "https://registry.npmjs.org/viem/-/viem-2.23.2.tgz", + "integrity": "sha512-NVmW/E0c5crMOtbEAqMF0e3NmvQykFXhLOc/CkLIXOlzHSA6KXVz3CYVmaKqBF8/xtjsjHAGjdJN3Ru1kFJLaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/wevm" + } + ], + "license": "MIT", + "dependencies": { + "@noble/curves": "1.8.1", + "@noble/hashes": "1.7.1", + "@scure/bip32": "1.6.2", + "@scure/bip39": "1.5.4", + "abitype": "1.0.8", + "isows": "1.0.6", + "ox": "0.6.7", + "ws": "8.18.0" + }, + "peerDependencies": { + "typescript": ">=5.0.4" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@reown/appkit-utils/node_modules/abitype": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/abitype/-/abitype-1.0.8.tgz", + "integrity": "sha512-ZeiI6h3GnW06uYDLx0etQtX/p8E24UaHHBj57RSjK7YBFe7iuVn07EDpOeP451D06sF27VOz9JJPlIKJmXgkEg==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/wevm" + }, + "peerDependencies": { + "typescript": ">=5.0.4", + "zod": "^3 >=3.22.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + }, + "zod": { + "optional": true + } + } + }, + "node_modules/@reown/appkit-utils/node_modules/base-x": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/base-x/-/base-x-5.0.1.tgz", + "integrity": "sha512-M7uio8Zt++eg3jPj+rHMfCC+IuygQHHCOU+IYsVtik6FWjuYpVt/+MRKcgsAMHh8mMFAwnB+Bs+mTrFiXjMzKg==", + "license": "MIT" + }, + "node_modules/@reown/appkit-utils/node_modules/bs58": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/bs58/-/bs58-6.0.0.tgz", + "integrity": "sha512-PD0wEnEYg6ijszw/u8s+iI3H17cTymlrwkKhDhPZq+Sokl3AU4htyBFTjAeNAlCCmg0f53g6ih3jATyCKftTfw==", + "license": "MIT", + "dependencies": { + "base-x": "^5.0.0" + } + }, + "node_modules/@reown/appkit-utils/node_modules/isows": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/isows/-/isows-1.0.6.tgz", + "integrity": "sha512-lPHCayd40oW98/I0uvgaHKWCSvkzY27LjWLbtzOm64yQ+G3Q5npjjbdppU65iZXkK1Zt+kH9pfegli0AYfwYYw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/wevm" + } + ], + "license": "MIT", + "peerDependencies": { + "ws": "*" + } + }, + "node_modules/@reown/appkit-utils/node_modules/lru-cache": { + "version": "11.2.6", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.6.tgz", + "integrity": "sha512-ESL2CrkS/2wTPfuend7Zhkzo2u0daGJ/A2VucJOgQ/C48S/zB8MMeMHSGKYpXhIjbPxfuezITkaBH1wqv00DDQ==", + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/@reown/appkit-utils/node_modules/ox": { + "version": "0.6.7", + "resolved": "https://registry.npmjs.org/ox/-/ox-0.6.7.tgz", + "integrity": "sha512-17Gk/eFsFRAZ80p5eKqv89a57uXjd3NgIf1CaXojATPBuujVc/fQSVhBeAU9JCRB+k7J50WQAyWTxK19T9GgbA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/wevm" + } + ], + "license": "MIT", + "dependencies": { + "@adraffy/ens-normalize": "^1.10.1", + "@noble/curves": "^1.6.0", + "@noble/hashes": "^1.5.0", + "@scure/bip32": "^1.5.0", + "@scure/bip39": "^1.4.0", + "abitype": "^1.0.6", + "eventemitter3": "5.0.1" + }, + "peerDependencies": { + "typescript": ">=5.4.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@reown/appkit-utils/node_modules/unstorage": { + "version": "1.17.4", + "resolved": "https://registry.npmjs.org/unstorage/-/unstorage-1.17.4.tgz", + "integrity": "sha512-fHK0yNg38tBiJKp/Vgsq4j0JEsCmgqH58HAn707S7zGkArbZsVr/CwINoi+nh3h98BRCwKvx1K3Xg9u3VV83sw==", + "license": "MIT", + "dependencies": { + "anymatch": "^3.1.3", + "chokidar": "^5.0.0", + "destr": "^2.0.5", + "h3": "^1.15.5", + "lru-cache": "^11.2.0", + "node-fetch-native": "^1.6.7", + "ofetch": "^1.5.1", + "ufo": "^1.6.3" + }, + "peerDependencies": { + "@azure/app-configuration": "^1.8.0", + "@azure/cosmos": "^4.2.0", + "@azure/data-tables": "^13.3.0", + "@azure/identity": "^4.6.0", + "@azure/keyvault-secrets": "^4.9.0", + "@azure/storage-blob": "^12.26.0", + "@capacitor/preferences": "^6 || ^7 || ^8", + "@deno/kv": ">=0.9.0", + "@netlify/blobs": "^6.5.0 || ^7.0.0 || ^8.1.0 || ^9.0.0 || ^10.0.0", + "@planetscale/database": "^1.19.0", + "@upstash/redis": "^1.34.3", + "@vercel/blob": ">=0.27.1", + "@vercel/functions": "^2.2.12 || ^3.0.0", + "@vercel/kv": "^1 || ^2 || ^3", + "aws4fetch": "^1.0.20", + "db0": ">=0.2.1", + "idb-keyval": "^6.2.1", + "ioredis": "^5.4.2", + "uploadthing": "^7.4.4" + }, + "peerDependenciesMeta": { + "@azure/app-configuration": { + "optional": true + }, + "@azure/cosmos": { + "optional": true + }, + "@azure/data-tables": { + "optional": true + }, + "@azure/identity": { + "optional": true + }, + "@azure/keyvault-secrets": { + "optional": true + }, + "@azure/storage-blob": { + "optional": true + }, + "@capacitor/preferences": { + "optional": true + }, + "@deno/kv": { + "optional": true + }, + "@netlify/blobs": { + "optional": true + }, + "@planetscale/database": { + "optional": true + }, + "@upstash/redis": { + "optional": true + }, + "@vercel/blob": { + "optional": true + }, + "@vercel/functions": { + "optional": true + }, + "@vercel/kv": { + "optional": true + }, + "aws4fetch": { + "optional": true + }, + "db0": { + "optional": true + }, + "idb-keyval": { + "optional": true + }, + "ioredis": { + "optional": true + }, + "uploadthing": { + "optional": true + } + } + }, + "node_modules/@reown/appkit-utils/node_modules/ws": { + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", + "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/@reown/appkit-wallet": { + "version": "1.7.8", + "resolved": "https://registry.npmjs.org/@reown/appkit-wallet/-/appkit-wallet-1.7.8.tgz", + "integrity": "sha512-kspz32EwHIOT/eg/ZQbFPxgXq0B/olDOj3YMu7gvLEFz4xyOFd/wgzxxAXkp5LbG4Cp++s/elh79rVNmVFdB9A==", + "license": "Apache-2.0", + "dependencies": { + "@reown/appkit-common": "1.7.8", + "@reown/appkit-polyfills": "1.7.8", + "@walletconnect/logger": "2.1.2", + "zod": "3.22.4" + } + }, + "node_modules/@reown/appkit-wallet/node_modules/zod": { + "version": "3.22.4", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.22.4.tgz", + "integrity": "sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "node_modules/@reown/appkit/node_modules/@noble/ciphers": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@noble/ciphers/-/ciphers-1.2.1.tgz", + "integrity": "sha512-rONPWMC7PeExE077uLE4oqWrZ1IvAfz3oH9LibVAcVCopJiA9R62uavnbEzdkVmJYI6M6Zgkbeb07+tWjlq2XA==", + "license": "MIT", + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@reown/appkit/node_modules/@noble/curves": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.8.1.tgz", + "integrity": "sha512-warwspo+UYUPep0Q+vtdVB4Ugn8GGQj8iyB3gnRWsztmUHTI3S1nhdiWNsPUGL0vud7JlRRk1XEu7Lq1KGTnMQ==", + "license": "MIT", + "dependencies": { + "@noble/hashes": "1.7.1" + }, + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@reown/appkit/node_modules/@noble/hashes": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.7.1.tgz", + "integrity": "sha512-B8XBPsn4vT/KJAGqDzbwztd+6Yte3P4V7iafm24bxgDe/mlRuK6xmWPuCNrKt2vDafZ8MfJLlchDG/vYafQEjQ==", + "license": "MIT", + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@reown/appkit/node_modules/@scure/bip32": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.6.2.tgz", + "integrity": "sha512-t96EPDMbtGgtb7onKKqxRLfE5g05k7uHnHRM2xdE6BP/ZmxaLtPek4J4KfVn/90IQNrU1IOAqMgiDtUdtbe3nw==", + "license": "MIT", + "dependencies": { + "@noble/curves": "~1.8.1", + "@noble/hashes": "~1.7.1", + "@scure/base": "~1.2.2" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@reown/appkit/node_modules/@scure/bip39": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.5.4.tgz", + "integrity": "sha512-TFM4ni0vKvCfBpohoh+/lY05i9gRbSwXWngAsF4CABQxoaOHijxuaZ2R6cStDQ5CHtHO9aGJTr4ksVJASRRyMA==", + "license": "MIT", + "dependencies": { + "@noble/hashes": "~1.7.1", + "@scure/base": "~1.2.4" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@reown/appkit/node_modules/@walletconnect/core": { + "version": "2.21.0", + "resolved": "https://registry.npmjs.org/@walletconnect/core/-/core-2.21.0.tgz", + "integrity": "sha512-o6R7Ua4myxR8aRUAJ1z3gT9nM+jd2B2mfamu6arzy1Cc6vi10fIwFWb6vg3bC8xJ6o9H3n/cN5TOW3aA9Y1XVw==", + "license": "Apache-2.0", + "dependencies": { + "@walletconnect/heartbeat": "1.2.2", + "@walletconnect/jsonrpc-provider": "1.0.14", + "@walletconnect/jsonrpc-types": "1.0.4", + "@walletconnect/jsonrpc-utils": "1.0.8", + "@walletconnect/jsonrpc-ws-connection": "1.0.16", + "@walletconnect/keyvaluestorage": "1.1.1", + "@walletconnect/logger": "2.1.2", + "@walletconnect/relay-api": "1.0.11", + "@walletconnect/relay-auth": "1.1.0", + "@walletconnect/safe-json": "1.0.2", + "@walletconnect/time": "1.0.2", + "@walletconnect/types": "2.21.0", + "@walletconnect/utils": "2.21.0", + "@walletconnect/window-getters": "1.0.1", + "es-toolkit": "1.33.0", + "events": "3.3.0", + "uint8arrays": "3.1.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@reown/appkit/node_modules/@walletconnect/keyvaluestorage": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@walletconnect/keyvaluestorage/-/keyvaluestorage-1.1.1.tgz", + "integrity": "sha512-V7ZQq2+mSxAq7MrRqDxanTzu2RcElfK1PfNYiaVnJgJ7Q7G7hTVwF8voIBx92qsRyGHZihrwNPHuZd1aKkd0rA==", + "license": "MIT", + "dependencies": { + "@walletconnect/safe-json": "^1.0.1", + "idb-keyval": "^6.2.1", + "unstorage": "^1.9.0" + }, + "peerDependencies": { + "@react-native-async-storage/async-storage": "1.x" + }, + "peerDependenciesMeta": { + "@react-native-async-storage/async-storage": { + "optional": true + } + } + }, + "node_modules/@reown/appkit/node_modules/@walletconnect/sign-client": { + "version": "2.21.0", + "resolved": "https://registry.npmjs.org/@walletconnect/sign-client/-/sign-client-2.21.0.tgz", + "integrity": "sha512-z7h+PeLa5Au2R591d/8ZlziE0stJvdzP9jNFzFolf2RG/OiXulgFKum8PrIyXy+Rg2q95U9nRVUF9fWcn78yBA==", + "deprecated": "Reliability and performance improvements. See: https://github.com/WalletConnect/walletconnect-monorepo/releases", + "license": "Apache-2.0", + "dependencies": { + "@walletconnect/core": "2.21.0", + "@walletconnect/events": "1.0.1", + "@walletconnect/heartbeat": "1.2.2", + "@walletconnect/jsonrpc-utils": "1.0.8", + "@walletconnect/logger": "2.1.2", + "@walletconnect/time": "1.0.2", + "@walletconnect/types": "2.21.0", + "@walletconnect/utils": "2.21.0", + "events": "3.3.0" + } + }, + "node_modules/@reown/appkit/node_modules/@walletconnect/types": { + "version": "2.21.0", + "resolved": "https://registry.npmjs.org/@walletconnect/types/-/types-2.21.0.tgz", + "integrity": "sha512-ll+9upzqt95ZBWcfkOszXZkfnpbJJ2CmxMfGgE5GmhdxxxCcO5bGhXkI+x8OpiS555RJ/v/sXJYMSOLkmu4fFw==", + "license": "Apache-2.0", + "dependencies": { + "@walletconnect/events": "1.0.1", + "@walletconnect/heartbeat": "1.2.2", + "@walletconnect/jsonrpc-types": "1.0.4", + "@walletconnect/keyvaluestorage": "1.1.1", + "@walletconnect/logger": "2.1.2", + "events": "3.3.0" + } + }, + "node_modules/@reown/appkit/node_modules/@walletconnect/universal-provider": { + "version": "2.21.0", + "resolved": "https://registry.npmjs.org/@walletconnect/universal-provider/-/universal-provider-2.21.0.tgz", + "integrity": "sha512-mtUQvewt+X0VBQay/xOJBvxsB3Xsm1lTwFjZ6WUwSOTR1X+FNb71hSApnV5kbsdDIpYPXeQUbGt2se1n5E5UBg==", + "deprecated": "Reliability and performance improvements. See: https://github.com/WalletConnect/walletconnect-monorepo/releases", + "license": "Apache-2.0", + "dependencies": { + "@walletconnect/events": "1.0.1", + "@walletconnect/jsonrpc-http-connection": "1.0.8", + "@walletconnect/jsonrpc-provider": "1.0.14", + "@walletconnect/jsonrpc-types": "1.0.4", + "@walletconnect/jsonrpc-utils": "1.0.8", + "@walletconnect/keyvaluestorage": "1.1.1", + "@walletconnect/logger": "2.1.2", + "@walletconnect/sign-client": "2.21.0", + "@walletconnect/types": "2.21.0", + "@walletconnect/utils": "2.21.0", + "es-toolkit": "1.33.0", + "events": "3.3.0" + } + }, + "node_modules/@reown/appkit/node_modules/@walletconnect/utils": { + "version": "2.21.0", + "resolved": "https://registry.npmjs.org/@walletconnect/utils/-/utils-2.21.0.tgz", + "integrity": "sha512-zfHLiUoBrQ8rP57HTPXW7rQMnYxYI4gT9yTACxVW6LhIFROTF6/ytm5SKNoIvi4a5nX5dfXG4D9XwQUCu8Ilig==", + "license": "Apache-2.0", + "dependencies": { + "@noble/ciphers": "1.2.1", + "@noble/curves": "1.8.1", + "@noble/hashes": "1.7.1", + "@walletconnect/jsonrpc-utils": "1.0.8", + "@walletconnect/keyvaluestorage": "1.1.1", + "@walletconnect/relay-api": "1.0.11", + "@walletconnect/relay-auth": "1.1.0", + "@walletconnect/safe-json": "1.0.2", + "@walletconnect/time": "1.0.2", + "@walletconnect/types": "2.21.0", + "@walletconnect/window-getters": "1.0.1", + "@walletconnect/window-metadata": "1.0.1", + "bs58": "6.0.0", + "detect-browser": "5.3.0", + "query-string": "7.1.3", + "uint8arrays": "3.1.0", + "viem": "2.23.2" + } + }, + "node_modules/@reown/appkit/node_modules/@walletconnect/utils/node_modules/viem": { + "version": "2.23.2", + "resolved": "https://registry.npmjs.org/viem/-/viem-2.23.2.tgz", + "integrity": "sha512-NVmW/E0c5crMOtbEAqMF0e3NmvQykFXhLOc/CkLIXOlzHSA6KXVz3CYVmaKqBF8/xtjsjHAGjdJN3Ru1kFJLaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/wevm" + } + ], + "license": "MIT", + "dependencies": { + "@noble/curves": "1.8.1", + "@noble/hashes": "1.7.1", + "@scure/bip32": "1.6.2", + "@scure/bip39": "1.5.4", + "abitype": "1.0.8", + "isows": "1.0.6", + "ox": "0.6.7", + "ws": "8.18.0" + }, + "peerDependencies": { + "typescript": ">=5.0.4" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@reown/appkit/node_modules/abitype": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/abitype/-/abitype-1.0.8.tgz", + "integrity": "sha512-ZeiI6h3GnW06uYDLx0etQtX/p8E24UaHHBj57RSjK7YBFe7iuVn07EDpOeP451D06sF27VOz9JJPlIKJmXgkEg==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/wevm" + }, + "peerDependencies": { + "typescript": ">=5.0.4", + "zod": "^3 >=3.22.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + }, + "zod": { + "optional": true + } + } + }, + "node_modules/@reown/appkit/node_modules/base-x": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/base-x/-/base-x-5.0.1.tgz", + "integrity": "sha512-M7uio8Zt++eg3jPj+rHMfCC+IuygQHHCOU+IYsVtik6FWjuYpVt/+MRKcgsAMHh8mMFAwnB+Bs+mTrFiXjMzKg==", + "license": "MIT" + }, + "node_modules/@reown/appkit/node_modules/bs58": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/bs58/-/bs58-6.0.0.tgz", + "integrity": "sha512-PD0wEnEYg6ijszw/u8s+iI3H17cTymlrwkKhDhPZq+Sokl3AU4htyBFTjAeNAlCCmg0f53g6ih3jATyCKftTfw==", + "license": "MIT", + "dependencies": { + "base-x": "^5.0.0" + } + }, + "node_modules/@reown/appkit/node_modules/isows": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/isows/-/isows-1.0.6.tgz", + "integrity": "sha512-lPHCayd40oW98/I0uvgaHKWCSvkzY27LjWLbtzOm64yQ+G3Q5npjjbdppU65iZXkK1Zt+kH9pfegli0AYfwYYw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/wevm" + } + ], + "license": "MIT", + "peerDependencies": { + "ws": "*" + } + }, + "node_modules/@reown/appkit/node_modules/lru-cache": { + "version": "11.2.6", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.6.tgz", + "integrity": "sha512-ESL2CrkS/2wTPfuend7Zhkzo2u0daGJ/A2VucJOgQ/C48S/zB8MMeMHSGKYpXhIjbPxfuezITkaBH1wqv00DDQ==", + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/@reown/appkit/node_modules/ox": { + "version": "0.6.7", + "resolved": "https://registry.npmjs.org/ox/-/ox-0.6.7.tgz", + "integrity": "sha512-17Gk/eFsFRAZ80p5eKqv89a57uXjd3NgIf1CaXojATPBuujVc/fQSVhBeAU9JCRB+k7J50WQAyWTxK19T9GgbA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/wevm" + } + ], + "license": "MIT", + "dependencies": { + "@adraffy/ens-normalize": "^1.10.1", + "@noble/curves": "^1.6.0", + "@noble/hashes": "^1.5.0", + "@scure/bip32": "^1.5.0", + "@scure/bip39": "^1.4.0", + "abitype": "^1.0.6", + "eventemitter3": "5.0.1" + }, + "peerDependencies": { + "typescript": ">=5.4.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@reown/appkit/node_modules/unstorage": { + "version": "1.17.4", + "resolved": "https://registry.npmjs.org/unstorage/-/unstorage-1.17.4.tgz", + "integrity": "sha512-fHK0yNg38tBiJKp/Vgsq4j0JEsCmgqH58HAn707S7zGkArbZsVr/CwINoi+nh3h98BRCwKvx1K3Xg9u3VV83sw==", + "license": "MIT", + "dependencies": { + "anymatch": "^3.1.3", + "chokidar": "^5.0.0", + "destr": "^2.0.5", + "h3": "^1.15.5", + "lru-cache": "^11.2.0", + "node-fetch-native": "^1.6.7", + "ofetch": "^1.5.1", + "ufo": "^1.6.3" + }, + "peerDependencies": { + "@azure/app-configuration": "^1.8.0", + "@azure/cosmos": "^4.2.0", + "@azure/data-tables": "^13.3.0", + "@azure/identity": "^4.6.0", + "@azure/keyvault-secrets": "^4.9.0", + "@azure/storage-blob": "^12.26.0", + "@capacitor/preferences": "^6 || ^7 || ^8", + "@deno/kv": ">=0.9.0", + "@netlify/blobs": "^6.5.0 || ^7.0.0 || ^8.1.0 || ^9.0.0 || ^10.0.0", + "@planetscale/database": "^1.19.0", + "@upstash/redis": "^1.34.3", + "@vercel/blob": ">=0.27.1", + "@vercel/functions": "^2.2.12 || ^3.0.0", + "@vercel/kv": "^1 || ^2 || ^3", + "aws4fetch": "^1.0.20", + "db0": ">=0.2.1", + "idb-keyval": "^6.2.1", + "ioredis": "^5.4.2", + "uploadthing": "^7.4.4" + }, + "peerDependenciesMeta": { + "@azure/app-configuration": { + "optional": true + }, + "@azure/cosmos": { + "optional": true + }, + "@azure/data-tables": { + "optional": true + }, + "@azure/identity": { + "optional": true + }, + "@azure/keyvault-secrets": { + "optional": true + }, + "@azure/storage-blob": { + "optional": true + }, + "@capacitor/preferences": { + "optional": true + }, + "@deno/kv": { + "optional": true + }, + "@netlify/blobs": { + "optional": true + }, + "@planetscale/database": { + "optional": true + }, + "@upstash/redis": { + "optional": true + }, + "@vercel/blob": { + "optional": true + }, + "@vercel/functions": { + "optional": true + }, + "@vercel/kv": { + "optional": true + }, + "aws4fetch": { + "optional": true + }, + "db0": { + "optional": true + }, + "idb-keyval": { + "optional": true + }, + "ioredis": { + "optional": true + }, + "uploadthing": { + "optional": true + } + } + }, + "node_modules/@reown/appkit/node_modules/ws": { + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", + "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/@safe-global/safe-apps-provider": { + "version": "0.18.6", + "resolved": "https://registry.npmjs.org/@safe-global/safe-apps-provider/-/safe-apps-provider-0.18.6.tgz", + "integrity": "sha512-4LhMmjPWlIO8TTDC2AwLk44XKXaK6hfBTWyljDm0HQ6TWlOEijVWNrt2s3OCVMSxlXAcEzYfqyu1daHZooTC2Q==", + "license": "MIT", + "dependencies": { + "@safe-global/safe-apps-sdk": "^9.1.0", + "events": "^3.3.0" + } + }, + "node_modules/@safe-global/safe-apps-sdk": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/@safe-global/safe-apps-sdk/-/safe-apps-sdk-9.1.0.tgz", + "integrity": "sha512-N5p/ulfnnA2Pi2M3YeWjULeWbjo7ei22JwU/IXnhoHzKq3pYCN6ynL9mJBOlvDVv892EgLPCWCOwQk/uBT2v0Q==", + "license": "MIT", + "dependencies": { + "@safe-global/safe-gateway-typescript-sdk": "^3.5.3", + "viem": "^2.1.1" + } + }, + "node_modules/@safe-global/safe-gateway-typescript-sdk": { + "version": "3.23.1", + "resolved": "https://registry.npmjs.org/@safe-global/safe-gateway-typescript-sdk/-/safe-gateway-typescript-sdk-3.23.1.tgz", + "integrity": "sha512-6ORQfwtEJYpalCeVO21L4XXGSdbEMfyp2hEv6cP82afKXSwvse6d3sdelgaPWUxHIsFRkWvHDdzh8IyyKHZKxw==", + "license": "MIT", + "engines": { + "node": ">=16" + } + }, + "node_modules/@scure/base": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.2.6.tgz", + "integrity": "sha512-g/nm5FgUa//MCj1gV09zTJTaM6KBAHqLN907YVQqf7zC49+DcO4B1so4ZX07Ef10Twr6nuqYEH9GEggFXA4Fmg==", + "license": "MIT", + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@scure/bip32": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.7.0.tgz", + "integrity": "sha512-E4FFX/N3f4B80AKWp5dP6ow+flD1LQZo/w8UnLGYZO674jS6YnYeepycOOksv+vLPSpgN35wgKgy+ybfTb2SMw==", + "license": "MIT", + "dependencies": { + "@noble/curves": "~1.9.0", + "@noble/hashes": "~1.8.0", + "@scure/base": "~1.2.5" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@scure/bip39": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.6.0.tgz", + "integrity": "sha512-+lF0BbLiJNwVlev4eKelw1WWLaiKXw7sSl8T6FvBlWkdX+94aGJ4o8XjUdlyhTCjd8c+B3KT3JfS8P0bLRNU6A==", + "license": "MIT", + "dependencies": { + "@noble/hashes": "~1.8.0", + "@scure/base": "~1.2.5" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@socket.io/component-emitter": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz", + "integrity": "sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==", + "license": "MIT" + }, + "node_modules/@solana-program/system": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/@solana-program/system/-/system-0.10.0.tgz", + "integrity": "sha512-Go+LOEZmqmNlfr+Gjy5ZWAdY5HbYzk2RBewD9QinEU/bBSzpFfzqDRT55JjFRBGJUvMgf3C2vfXEGT4i8DSI4g==", + "license": "Apache-2.0", + "peerDependencies": { + "@solana/kit": "^5.0" + } + }, + "node_modules/@solana-program/token": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@solana-program/token/-/token-0.9.0.tgz", + "integrity": "sha512-vnZxndd4ED4Fc56sw93cWZ2djEeeOFxtaPS8SPf5+a+JZjKA/EnKqzbE1y04FuMhIVrLERQ8uR8H2h72eZzlsA==", + "license": "Apache-2.0", + "peerDependencies": { + "@solana/kit": "^5.0" + } + }, + "node_modules/@solana/accounts": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/accounts/-/accounts-5.5.1.tgz", + "integrity": "sha512-TfOY9xixg5rizABuLVuZ9XI2x2tmWUC/OoN556xwfDlhBHBjKfszicYYOyD6nbFmwTGYarCmyGIdteXxTXIdhQ==", + "license": "MIT", + "dependencies": { + "@solana/addresses": "5.5.1", + "@solana/codecs-core": "5.5.1", + "@solana/codecs-strings": "5.5.1", + "@solana/errors": "5.5.1", + "@solana/rpc-spec": "5.5.1", + "@solana/rpc-types": "5.5.1" + }, + "engines": { + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@solana/addresses": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/addresses/-/addresses-5.5.1.tgz", + "integrity": "sha512-5xoah3Q9G30HQghu/9BiHLb5pzlPKRC3zydQDmE3O9H//WfayxTFppsUDCL6FjYUHqj/wzK6CWHySglc2RkpdA==", + "license": "MIT", + "dependencies": { + "@solana/assertions": "5.5.1", + "@solana/codecs-core": "5.5.1", + "@solana/codecs-strings": "5.5.1", + "@solana/errors": "5.5.1", + "@solana/nominal-types": "5.5.1" + }, + "engines": { + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@solana/assertions": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/assertions/-/assertions-5.5.1.tgz", + "integrity": "sha512-YTCSWAlGwSlVPnWtWLm3ukz81wH4j2YaCveK+TjpvUU88hTy6fmUqxi0+hvAMAe4zKXpJyj3Az7BrLJRxbIm4Q==", + "license": "MIT", + "dependencies": { + "@solana/errors": "5.5.1" + }, + "engines": { + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@solana/buffer-layout": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@solana/buffer-layout/-/buffer-layout-4.0.1.tgz", + "integrity": "sha512-E1ImOIAD1tBZFRdjeM4/pzTiTApC0AOBGwyAMS4fwIodCWArzJ3DWdoh8cKxeFM2fElkxBh2Aqts1BPC373rHA==", + "license": "MIT", + "dependencies": { + "buffer": "~6.0.3" + }, + "engines": { + "node": ">=5.10" + } + }, + "node_modules/@solana/codecs": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/codecs/-/codecs-5.5.1.tgz", + "integrity": "sha512-Vea29nJub/bXjfzEV7ZZQ/PWr1pYLZo3z0qW0LQL37uKKVzVFRQlwetd7INk3YtTD3xm9WUYr7bCvYUk3uKy2g==", + "license": "MIT", + "dependencies": { + "@solana/codecs-core": "5.5.1", + "@solana/codecs-data-structures": "5.5.1", + "@solana/codecs-numbers": "5.5.1", + "@solana/codecs-strings": "5.5.1", + "@solana/options": "5.5.1" + }, + "engines": { + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@solana/codecs-core": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/codecs-core/-/codecs-core-5.5.1.tgz", + "integrity": "sha512-TgBt//bbKBct0t6/MpA8ElaOA3sa8eYVvR7LGslCZ84WiAwwjCY0lW/lOYsFHJQzwREMdUyuEyy5YWBKtdh8Rw==", + "license": "MIT", + "dependencies": { + "@solana/errors": "5.5.1" + }, + "engines": { + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@solana/codecs-data-structures": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/codecs-data-structures/-/codecs-data-structures-5.5.1.tgz", + "integrity": "sha512-97bJWGyUY9WvBz3mX1UV3YPWGDTez6btCfD0ip3UVEXJbItVuUiOkzcO5iFDUtQT5riKT6xC+Mzl+0nO76gd0w==", + "license": "MIT", + "dependencies": { + "@solana/codecs-core": "5.5.1", + "@solana/codecs-numbers": "5.5.1", + "@solana/errors": "5.5.1" + }, + "engines": { + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@solana/codecs-numbers": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/codecs-numbers/-/codecs-numbers-5.5.1.tgz", + "integrity": "sha512-rllMIZAHqmtvC0HO/dc/21wDuWaD0B8Ryv8o+YtsICQBuiL/0U4AGwH7Pi5GNFySYk0/crSuwfIqQFtmxNSPFw==", + "license": "MIT", + "dependencies": { + "@solana/codecs-core": "5.5.1", + "@solana/errors": "5.5.1" + }, + "engines": { + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@solana/codecs-strings": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/codecs-strings/-/codecs-strings-5.5.1.tgz", + "integrity": "sha512-7klX4AhfHYA+uKKC/nxRGP2MntbYQCR3N6+v7bk1W/rSxYuhNmt+FN8aoThSZtWIKwN6BEyR1167ka8Co1+E7A==", + "license": "MIT", + "dependencies": { + "@solana/codecs-core": "5.5.1", + "@solana/codecs-numbers": "5.5.1", + "@solana/errors": "5.5.1" + }, + "engines": { + "node": ">=20.18.0" + }, + "peerDependencies": { + "fastestsmallesttextencoderdecoder": "^1.0.22", + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "fastestsmallesttextencoderdecoder": { + "optional": true + }, + "typescript": { + "optional": true + } + } + }, + "node_modules/@solana/errors": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/errors/-/errors-5.5.1.tgz", + "integrity": "sha512-vFO3p+S7HoyyrcAectnXbdsMfwUzY2zYFUc2DEe5BwpiE9J1IAxPBGjOWO6hL1bbYdBrlmjNx8DXCslqS+Kcmg==", + "license": "MIT", + "dependencies": { + "chalk": "5.6.2", + "commander": "14.0.2" + }, + "bin": { + "errors": "bin/cli.mjs" + }, + "engines": { + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@solana/fast-stable-stringify": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/fast-stable-stringify/-/fast-stable-stringify-5.5.1.tgz", + "integrity": "sha512-Ni7s2FN33zTzhTFgRjEbOVFO+UAmK8qi3Iu0/GRFYK4jN696OjKHnboSQH/EacQ+yGqS54bfxf409wU5dsLLCw==", + "license": "MIT", + "engines": { + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@solana/functional": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/functional/-/functional-5.5.1.tgz", + "integrity": "sha512-tTHoJcEQq3gQx5qsdsDJ0LEJeFzwNpXD80xApW9o/PPoCNimI3SALkZl+zNW8VnxRrV3l3yYvfHWBKe/X3WG3w==", + "license": "MIT", + "engines": { + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@solana/instruction-plans": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/instruction-plans/-/instruction-plans-5.5.1.tgz", + "integrity": "sha512-7z3CB7YMcFKuVvgcnNY8bY6IsZ8LG61Iytbz7HpNVGX2u1RthOs1tRW8luTzSG1MPL0Ox7afyAVMYeFqSPHnaQ==", + "license": "MIT", + "dependencies": { + "@solana/errors": "5.5.1", + "@solana/instructions": "5.5.1", + "@solana/keys": "5.5.1", + "@solana/promises": "5.5.1", + "@solana/transaction-messages": "5.5.1", + "@solana/transactions": "5.5.1" + }, + "engines": { + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@solana/instructions": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/instructions/-/instructions-5.5.1.tgz", + "integrity": "sha512-h0G1CG6S+gUUSt0eo6rOtsaXRBwCq1+Js2a+Ps9Bzk9q7YHNFA75/X0NWugWLgC92waRp66hrjMTiYYnLBoWOQ==", + "license": "MIT", + "dependencies": { + "@solana/codecs-core": "5.5.1", + "@solana/errors": "5.5.1" + }, + "engines": { + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@solana/keys": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/keys/-/keys-5.5.1.tgz", + "integrity": "sha512-KRD61cL7CRL+b4r/eB9dEoVxIf/2EJ1Pm1DmRYhtSUAJD2dJ5Xw8QFuehobOGm9URqQ7gaQl+Fkc1qvDlsWqKg==", + "license": "MIT", + "dependencies": { + "@solana/assertions": "5.5.1", + "@solana/codecs-core": "5.5.1", + "@solana/codecs-strings": "5.5.1", + "@solana/errors": "5.5.1", + "@solana/nominal-types": "5.5.1" + }, + "engines": { + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@solana/kit": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/kit/-/kit-5.5.1.tgz", + "integrity": "sha512-irKUGiV2yRoyf+4eGQ/ZeCRxa43yjFEL1DUI5B0DkcfZw3cr0VJtVJnrG8OtVF01vT0OUfYOcUn6zJW5TROHvQ==", + "license": "MIT", + "dependencies": { + "@solana/accounts": "5.5.1", + "@solana/addresses": "5.5.1", + "@solana/codecs": "5.5.1", + "@solana/errors": "5.5.1", + "@solana/functional": "5.5.1", + "@solana/instruction-plans": "5.5.1", + "@solana/instructions": "5.5.1", + "@solana/keys": "5.5.1", + "@solana/offchain-messages": "5.5.1", + "@solana/plugin-core": "5.5.1", + "@solana/programs": "5.5.1", + "@solana/rpc": "5.5.1", + "@solana/rpc-api": "5.5.1", + "@solana/rpc-parsed-types": "5.5.1", + "@solana/rpc-spec-types": "5.5.1", + "@solana/rpc-subscriptions": "5.5.1", + "@solana/rpc-types": "5.5.1", + "@solana/signers": "5.5.1", + "@solana/sysvars": "5.5.1", + "@solana/transaction-confirmation": "5.5.1", + "@solana/transaction-messages": "5.5.1", + "@solana/transactions": "5.5.1" + }, + "engines": { + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@solana/nominal-types": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/nominal-types/-/nominal-types-5.5.1.tgz", + "integrity": "sha512-I1ImR+kfrLFxN5z22UDiTWLdRZeKtU0J/pkWkO8qm/8WxveiwdIv4hooi8pb6JnlR4mSrWhq0pCIOxDYrL9GIQ==", + "license": "MIT", + "engines": { + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@solana/offchain-messages": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/offchain-messages/-/offchain-messages-5.5.1.tgz", + "integrity": "sha512-g+xHH95prTU+KujtbOzj8wn+C7ZNoiLhf3hj6nYq3MTyxOXtBEysguc97jJveUZG0K97aIKG6xVUlMutg5yxhw==", + "license": "MIT", + "dependencies": { + "@solana/addresses": "5.5.1", + "@solana/codecs-core": "5.5.1", + "@solana/codecs-data-structures": "5.5.1", + "@solana/codecs-numbers": "5.5.1", + "@solana/codecs-strings": "5.5.1", + "@solana/errors": "5.5.1", + "@solana/keys": "5.5.1", + "@solana/nominal-types": "5.5.1" + }, + "engines": { + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@solana/options": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/options/-/options-5.5.1.tgz", + "integrity": "sha512-eo971c9iLNLmk+yOFyo7yKIJzJ/zou6uKpy6mBuyb/thKtS/haiKIc3VLhyTXty3OH2PW8yOlORJnv4DexJB8A==", + "license": "MIT", + "dependencies": { + "@solana/codecs-core": "5.5.1", + "@solana/codecs-data-structures": "5.5.1", + "@solana/codecs-numbers": "5.5.1", + "@solana/codecs-strings": "5.5.1", + "@solana/errors": "5.5.1" + }, + "engines": { + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@solana/plugin-core": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/plugin-core/-/plugin-core-5.5.1.tgz", + "integrity": "sha512-VUZl30lDQFJeiSyNfzU1EjYt2QZvoBFKEwjn1lilUJw7KgqD5z7mbV7diJhT+dLFs36i0OsjXvq5kSygn8YJ3A==", + "license": "MIT", + "engines": { + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@solana/programs": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/programs/-/programs-5.5.1.tgz", + "integrity": "sha512-7U9kn0Jsx1NuBLn5HRTFYh78MV4XN145Yc3WP/q5BlqAVNlMoU9coG5IUTJIG847TUqC1lRto3Dnpwm6T4YRpA==", + "license": "MIT", + "dependencies": { + "@solana/addresses": "5.5.1", + "@solana/errors": "5.5.1" + }, + "engines": { + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@solana/promises": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/promises/-/promises-5.5.1.tgz", + "integrity": "sha512-T9lfuUYkGykJmppEcssNiCf6yiYQxJkhiLPP+pyAc2z84/7r3UVIb2tNJk4A9sucS66pzJnVHZKcZVGUUp6wzA==", + "license": "MIT", + "engines": { + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@solana/rpc": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/rpc/-/rpc-5.5.1.tgz", + "integrity": "sha512-ku8zTUMrkCWci66PRIBC+1mXepEnZH/q1f3ck0kJZ95a06bOTl5KU7HeXWtskkyefzARJ5zvCs54AD5nxjQJ+A==", + "license": "MIT", + "dependencies": { + "@solana/errors": "5.5.1", + "@solana/fast-stable-stringify": "5.5.1", + "@solana/functional": "5.5.1", + "@solana/rpc-api": "5.5.1", + "@solana/rpc-spec": "5.5.1", + "@solana/rpc-spec-types": "5.5.1", + "@solana/rpc-transformers": "5.5.1", + "@solana/rpc-transport-http": "5.5.1", + "@solana/rpc-types": "5.5.1" + }, + "engines": { + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@solana/rpc-api": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/rpc-api/-/rpc-api-5.5.1.tgz", + "integrity": "sha512-XWOQQPhKl06Vj0xi3RYHAc6oEQd8B82okYJ04K7N0Vvy3J4PN2cxeK7klwkjgavdcN9EVkYCChm2ADAtnztKnA==", + "license": "MIT", + "dependencies": { + "@solana/addresses": "5.5.1", + "@solana/codecs-core": "5.5.1", + "@solana/codecs-strings": "5.5.1", + "@solana/errors": "5.5.1", + "@solana/keys": "5.5.1", + "@solana/rpc-parsed-types": "5.5.1", + "@solana/rpc-spec": "5.5.1", + "@solana/rpc-transformers": "5.5.1", + "@solana/rpc-types": "5.5.1", + "@solana/transaction-messages": "5.5.1", + "@solana/transactions": "5.5.1" + }, + "engines": { + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@solana/rpc-parsed-types": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/rpc-parsed-types/-/rpc-parsed-types-5.5.1.tgz", + "integrity": "sha512-HEi3G2nZqGEsa3vX6U0FrXLaqnUCg4SKIUrOe8CezD+cSFbRTOn3rCLrUmJrhVyXlHoQVaRO9mmeovk31jWxJg==", + "license": "MIT", + "engines": { + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@solana/rpc-spec": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/rpc-spec/-/rpc-spec-5.5.1.tgz", + "integrity": "sha512-m3LX2bChm3E3by4mQrH4YwCAFY57QBzuUSWqlUw7ChuZ+oLLOq7b2czi4i6L4Vna67j3eCmB3e+4tqy1j5wy7Q==", + "license": "MIT", + "dependencies": { + "@solana/errors": "5.5.1", + "@solana/rpc-spec-types": "5.5.1" + }, + "engines": { + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@solana/rpc-spec-types": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/rpc-spec-types/-/rpc-spec-types-5.5.1.tgz", + "integrity": "sha512-6OFKtRpIEJQs8Jb2C4OO8KyP2h2Hy1MFhatMAoXA+0Ik8S3H+CicIuMZvGZ91mIu/tXicuOOsNNLu3HAkrakrw==", + "license": "MIT", + "engines": { + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@solana/rpc-subscriptions": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/rpc-subscriptions/-/rpc-subscriptions-5.5.1.tgz", + "integrity": "sha512-CTMy5bt/6mDh4tc6vUJms9EcuZj3xvK0/xq8IQ90rhkpYvate91RjBP+egvjgSayUg9yucU9vNuUpEjz4spM7w==", + "license": "MIT", + "dependencies": { + "@solana/errors": "5.5.1", + "@solana/fast-stable-stringify": "5.5.1", + "@solana/functional": "5.5.1", + "@solana/promises": "5.5.1", + "@solana/rpc-spec-types": "5.5.1", + "@solana/rpc-subscriptions-api": "5.5.1", + "@solana/rpc-subscriptions-channel-websocket": "5.5.1", + "@solana/rpc-subscriptions-spec": "5.5.1", + "@solana/rpc-transformers": "5.5.1", + "@solana/rpc-types": "5.5.1", + "@solana/subscribable": "5.5.1" + }, + "engines": { + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@solana/rpc-subscriptions-api": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/rpc-subscriptions-api/-/rpc-subscriptions-api-5.5.1.tgz", + "integrity": "sha512-5Oi7k+GdeS8xR2ly1iuSFkAv6CZqwG0Z6b1QZKbEgxadE1XGSDrhM2cn59l+bqCozUWCqh4c/A2znU/qQjROlw==", + "license": "MIT", + "dependencies": { + "@solana/addresses": "5.5.1", + "@solana/keys": "5.5.1", + "@solana/rpc-subscriptions-spec": "5.5.1", + "@solana/rpc-transformers": "5.5.1", + "@solana/rpc-types": "5.5.1", + "@solana/transaction-messages": "5.5.1", + "@solana/transactions": "5.5.1" + }, + "engines": { + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@solana/rpc-subscriptions-channel-websocket": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/rpc-subscriptions-channel-websocket/-/rpc-subscriptions-channel-websocket-5.5.1.tgz", + "integrity": "sha512-7tGfBBrYY8TrngOyxSHoCU5shy86iA9SRMRrPSyBhEaZRAk6dnbdpmUTez7gtdVo0BCvh9nzQtUycKWSS7PnFQ==", + "license": "MIT", + "dependencies": { + "@solana/errors": "5.5.1", + "@solana/functional": "5.5.1", + "@solana/rpc-subscriptions-spec": "5.5.1", + "@solana/subscribable": "5.5.1", + "ws": "^8.19.0" + }, + "engines": { + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@solana/rpc-subscriptions-channel-websocket/node_modules/ws": { + "version": "8.19.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.19.0.tgz", + "integrity": "sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/@solana/rpc-subscriptions-spec": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/rpc-subscriptions-spec/-/rpc-subscriptions-spec-5.5.1.tgz", + "integrity": "sha512-iq+rGq5fMKP3/mKHPNB6MC8IbVW41KGZg83Us/+LE3AWOTWV1WT20KT2iH1F1ik9roi42COv/TpoZZvhKj45XQ==", + "license": "MIT", + "dependencies": { + "@solana/errors": "5.5.1", + "@solana/promises": "5.5.1", + "@solana/rpc-spec-types": "5.5.1", + "@solana/subscribable": "5.5.1" + }, + "engines": { + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@solana/rpc-transformers": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/rpc-transformers/-/rpc-transformers-5.5.1.tgz", + "integrity": "sha512-OsWqLCQdcrRJKvHiMmwFhp9noNZ4FARuMkHT5us3ustDLXaxOjF0gfqZLnMkulSLcKt7TGXqMhBV+HCo7z5M8Q==", + "license": "MIT", + "dependencies": { + "@solana/errors": "5.5.1", + "@solana/functional": "5.5.1", + "@solana/nominal-types": "5.5.1", + "@solana/rpc-spec-types": "5.5.1", + "@solana/rpc-types": "5.5.1" + }, + "engines": { + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@solana/rpc-transport-http": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/rpc-transport-http/-/rpc-transport-http-5.5.1.tgz", + "integrity": "sha512-yv8GoVSHqEV0kUJEIhkdOVkR2SvJ6yoWC51cJn2rSV7plr6huLGe0JgujCmB7uZhhaLbcbP3zxXxu9sOjsi7Fg==", + "license": "MIT", + "dependencies": { + "@solana/errors": "5.5.1", + "@solana/rpc-spec": "5.5.1", + "@solana/rpc-spec-types": "5.5.1", + "undici-types": "^7.19.2" + }, + "engines": { + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@solana/rpc-transport-http/node_modules/undici-types": { + "version": "7.22.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.22.0.tgz", + "integrity": "sha512-RKZvifiL60xdsIuC80UY0dq8Z7DbJUV8/l2hOVbyZAxBzEeQU4Z58+4ZzJ6WN2Lidi9KzT5EbiGX+PI/UGYuRw==", + "license": "MIT" + }, + "node_modules/@solana/rpc-types": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/rpc-types/-/rpc-types-5.5.1.tgz", + "integrity": "sha512-bibTFQ7PbHJJjGJPmfYC2I+/5CRFS4O2p9WwbFraX1Keeel+nRrt/NBXIy8veP5AEn2sVJIyJPpWBRpCx1oATA==", + "license": "MIT", + "dependencies": { + "@solana/addresses": "5.5.1", + "@solana/codecs-core": "5.5.1", + "@solana/codecs-numbers": "5.5.1", + "@solana/codecs-strings": "5.5.1", + "@solana/errors": "5.5.1", + "@solana/nominal-types": "5.5.1" + }, + "engines": { + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@solana/signers": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/signers/-/signers-5.5.1.tgz", + "integrity": "sha512-FY0IVaBT2kCAze55vEieR6hag4coqcuJ31Aw3hqRH7mv6sV8oqwuJmUrx+uFwOp1gwd5OEAzlv6N4hOOple4sQ==", + "license": "MIT", + "dependencies": { + "@solana/addresses": "5.5.1", + "@solana/codecs-core": "5.5.1", + "@solana/errors": "5.5.1", + "@solana/instructions": "5.5.1", + "@solana/keys": "5.5.1", + "@solana/nominal-types": "5.5.1", + "@solana/offchain-messages": "5.5.1", + "@solana/transaction-messages": "5.5.1", + "@solana/transactions": "5.5.1" + }, + "engines": { + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@solana/subscribable": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/subscribable/-/subscribable-5.5.1.tgz", + "integrity": "sha512-9K0PsynFq0CsmK1CDi5Y2vUIJpCqkgSS5yfDN0eKPgHqEptLEaia09Kaxc90cSZDZU5mKY/zv1NBmB6Aro9zQQ==", + "license": "MIT", + "dependencies": { + "@solana/errors": "5.5.1" + }, + "engines": { + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@solana/sysvars": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/sysvars/-/sysvars-5.5.1.tgz", + "integrity": "sha512-k3Quq87Mm+geGUu1GWv6knPk0ALsfY6EKSJGw9xUJDHzY/RkYSBnh0RiOrUhtFm2TDNjOailg8/m0VHmi3reFA==", + "license": "MIT", + "dependencies": { + "@solana/accounts": "5.5.1", + "@solana/codecs": "5.5.1", + "@solana/errors": "5.5.1", + "@solana/rpc-types": "5.5.1" + }, + "engines": { + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@solana/transaction-confirmation": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/transaction-confirmation/-/transaction-confirmation-5.5.1.tgz", + "integrity": "sha512-j4mKlYPHEyu+OD7MBt3jRoX4ScFgkhZC6H65on4Fux6LMScgivPJlwnKoZMnsgxFgWds0pl+BYzSiALDsXlYtw==", + "license": "MIT", + "dependencies": { + "@solana/addresses": "5.5.1", + "@solana/codecs-strings": "5.5.1", + "@solana/errors": "5.5.1", + "@solana/keys": "5.5.1", + "@solana/promises": "5.5.1", + "@solana/rpc": "5.5.1", + "@solana/rpc-subscriptions": "5.5.1", + "@solana/rpc-types": "5.5.1", + "@solana/transaction-messages": "5.5.1", + "@solana/transactions": "5.5.1" + }, + "engines": { + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@solana/transaction-messages": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/transaction-messages/-/transaction-messages-5.5.1.tgz", + "integrity": "sha512-aXyhMCEaAp3M/4fP0akwBBQkFPr4pfwoC5CLDq999r/FUwDax2RE/h4Ic7h2Xk+JdcUwsb+rLq85Y52hq84XvQ==", + "license": "MIT", + "dependencies": { + "@solana/addresses": "5.5.1", + "@solana/codecs-core": "5.5.1", + "@solana/codecs-data-structures": "5.5.1", + "@solana/codecs-numbers": "5.5.1", + "@solana/errors": "5.5.1", + "@solana/functional": "5.5.1", + "@solana/instructions": "5.5.1", + "@solana/nominal-types": "5.5.1", + "@solana/rpc-types": "5.5.1" + }, + "engines": { + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@solana/transactions": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/transactions/-/transactions-5.5.1.tgz", + "integrity": "sha512-8hHtDxtqalZ157pnx6p8k10D7J/KY/biLzfgh9R09VNLLY3Fqi7kJvJCr7M2ik3oRll56pxhraAGCC9yIT6eOA==", + "license": "MIT", + "dependencies": { + "@solana/addresses": "5.5.1", + "@solana/codecs-core": "5.5.1", + "@solana/codecs-data-structures": "5.5.1", + "@solana/codecs-numbers": "5.5.1", + "@solana/codecs-strings": "5.5.1", + "@solana/errors": "5.5.1", + "@solana/functional": "5.5.1", + "@solana/instructions": "5.5.1", + "@solana/keys": "5.5.1", + "@solana/nominal-types": "5.5.1", + "@solana/rpc-types": "5.5.1", + "@solana/transaction-messages": "5.5.1" + }, + "engines": { + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@solana/web3.js": { + "version": "1.98.4", + "resolved": "https://registry.npmjs.org/@solana/web3.js/-/web3.js-1.98.4.tgz", + "integrity": "sha512-vv9lfnvjUsRiq//+j5pBdXig0IQdtzA0BRZ3bXEP4KaIyF1CcaydWqgyzQgfZMNIsWNWmG+AUHwPy4AHOD6gpw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.25.0", + "@noble/curves": "^1.4.2", + "@noble/hashes": "^1.4.0", + "@solana/buffer-layout": "^4.0.1", + "@solana/codecs-numbers": "^2.1.0", + "agentkeepalive": "^4.5.0", + "bn.js": "^5.2.1", + "borsh": "^0.7.0", + "bs58": "^4.0.1", + "buffer": "6.0.3", + "fast-stable-stringify": "^1.0.0", + "jayson": "^4.1.1", + "node-fetch": "^2.7.0", + "rpc-websockets": "^9.0.2", + "superstruct": "^2.0.2" + } + }, + "node_modules/@solana/web3.js/node_modules/@solana/codecs-core": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@solana/codecs-core/-/codecs-core-2.3.0.tgz", + "integrity": "sha512-oG+VZzN6YhBHIoSKgS5ESM9VIGzhWjEHEGNPSibiDTxFhsFWxNaz8LbMDPjBUE69r9wmdGLkrQ+wVPbnJcZPvw==", + "license": "MIT", + "dependencies": { + "@solana/errors": "2.3.0" + }, + "engines": { + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": ">=5.3.3" + } + }, + "node_modules/@solana/web3.js/node_modules/@solana/codecs-numbers": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@solana/codecs-numbers/-/codecs-numbers-2.3.0.tgz", + "integrity": "sha512-jFvvwKJKffvG7Iz9dmN51OGB7JBcy2CJ6Xf3NqD/VP90xak66m/Lg48T01u5IQ/hc15mChVHiBm+HHuOFDUrQg==", + "license": "MIT", + "dependencies": { + "@solana/codecs-core": "2.3.0", + "@solana/errors": "2.3.0" + }, + "engines": { + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": ">=5.3.3" + } + }, + "node_modules/@solana/web3.js/node_modules/@solana/errors": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@solana/errors/-/errors-2.3.0.tgz", + "integrity": "sha512-66RI9MAbwYV0UtP7kGcTBVLxJgUxoZGm8Fbc0ah+lGiAw17Gugco6+9GrJCV83VyF2mDWyYnYM9qdI3yjgpnaQ==", + "license": "MIT", + "dependencies": { + "chalk": "^5.4.1", + "commander": "^14.0.0" + }, + "bin": { + "errors": "bin/cli.mjs" + }, + "engines": { + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": ">=5.3.3" + } + }, + "node_modules/@swc/counter": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz", + "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==", + "license": "Apache-2.0" + }, + "node_modules/@swc/helpers": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.5.tgz", + "integrity": "sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==", + "license": "Apache-2.0", + "dependencies": { + "@swc/counter": "^0.1.3", + "tslib": "^2.4.0" + } + }, + "node_modules/@tailwindcss/node": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.2.1.tgz", + "integrity": "sha512-jlx6sLk4EOwO6hHe1oCGm1Q4AN/s0rSrTTPBGPM0/RQ6Uylwq17FuU8IeJJKEjtc6K6O07zsvP+gDO6MMWo7pg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/remapping": "^2.3.5", + "enhanced-resolve": "^5.19.0", + "jiti": "^2.6.1", + "lightningcss": "1.31.1", + "magic-string": "^0.30.21", + "source-map-js": "^1.2.1", + "tailwindcss": "4.2.1" + } + }, + "node_modules/@tailwindcss/oxide": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.2.1.tgz", + "integrity": "sha512-yv9jeEFWnjKCI6/T3Oq50yQEOqmpmpfzG1hcZsAOaXFQPfzWprWrlHSdGPEF3WQTi8zu8ohC9Mh9J470nT5pUw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 20" + }, + "optionalDependencies": { + "@tailwindcss/oxide-android-arm64": "4.2.1", + "@tailwindcss/oxide-darwin-arm64": "4.2.1", + "@tailwindcss/oxide-darwin-x64": "4.2.1", + "@tailwindcss/oxide-freebsd-x64": "4.2.1", + "@tailwindcss/oxide-linux-arm-gnueabihf": "4.2.1", + "@tailwindcss/oxide-linux-arm64-gnu": "4.2.1", + "@tailwindcss/oxide-linux-arm64-musl": "4.2.1", + "@tailwindcss/oxide-linux-x64-gnu": "4.2.1", + "@tailwindcss/oxide-linux-x64-musl": "4.2.1", + "@tailwindcss/oxide-wasm32-wasi": "4.2.1", + "@tailwindcss/oxide-win32-arm64-msvc": "4.2.1", + "@tailwindcss/oxide-win32-x64-msvc": "4.2.1" + } + }, + "node_modules/@tailwindcss/oxide-android-arm64": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.2.1.tgz", + "integrity": "sha512-eZ7G1Zm5EC8OOKaesIKuw77jw++QJ2lL9N+dDpdQiAB/c/B2wDh0QPFHbkBVrXnwNugvrbJFk1gK2SsVjwWReg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-darwin-arm64": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.2.1.tgz", + "integrity": "sha512-q/LHkOstoJ7pI1J0q6djesLzRvQSIfEto148ppAd+BVQK0JYjQIFSK3JgYZJa+Yzi0DDa52ZsQx2rqytBnf8Hw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-darwin-x64": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.2.1.tgz", + "integrity": "sha512-/f/ozlaXGY6QLbpvd/kFTro2l18f7dHKpB+ieXz+Cijl4Mt9AI2rTrpq7V+t04nK+j9XBQHnSMdeQRhbGyt6fw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-freebsd-x64": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.2.1.tgz", + "integrity": "sha512-5e/AkgYJT/cpbkys/OU2Ei2jdETCLlifwm7ogMC7/hksI2fC3iiq6OcXwjibcIjPung0kRtR3TxEITkqgn0TcA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.2.1.tgz", + "integrity": "sha512-Uny1EcVTTmerCKt/1ZuKTkb0x8ZaiuYucg2/kImO5A5Y/kBz41/+j0gxUZl+hTF3xkWpDmHX+TaWhOtba2Fyuw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.2.1.tgz", + "integrity": "sha512-CTrwomI+c7n6aSSQlsPL0roRiNMDQ/YzMD9EjcR+H4f0I1SQ8QqIuPnsVp7QgMkC1Qi8rtkekLkOFjo7OlEFRQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-musl": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.2.1.tgz", + "integrity": "sha512-WZA0CHRL/SP1TRbA5mp9htsppSEkWuQ4KsSUumYQnyl8ZdT39ntwqmz4IUHGN6p4XdSlYfJwM4rRzZLShHsGAQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-gnu": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.2.1.tgz", + "integrity": "sha512-qMFzxI2YlBOLW5PhblzuSWlWfwLHaneBE0xHzLrBgNtqN6mWfs+qYbhryGSXQjFYB1Dzf5w+LN5qbUTPhW7Y5g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-musl": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.2.1.tgz", + "integrity": "sha512-5r1X2FKnCMUPlXTWRYpHdPYUY6a1Ar/t7P24OuiEdEOmms5lyqjDRvVY1yy9Rmioh+AunQ0rWiOTPE8F9A3v5g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-wasm32-wasi": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.2.1.tgz", + "integrity": "sha512-MGFB5cVPvshR85MTJkEvqDUnuNoysrsRxd6vnk1Lf2tbiqNlXpHYZqkqOQalydienEWOHHFyyuTSYRsLfxFJ2Q==", + "bundleDependencies": [ + "@napi-rs/wasm-runtime", + "@emnapi/core", + "@emnapi/runtime", + "@tybys/wasm-util", + "@emnapi/wasi-threads", + "tslib" + ], + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "^1.8.1", + "@emnapi/runtime": "^1.8.1", + "@emnapi/wasi-threads": "^1.1.0", + "@napi-rs/wasm-runtime": "^1.1.1", + "@tybys/wasm-util": "^0.10.1", + "tslib": "^2.8.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.2.1.tgz", + "integrity": "sha512-YlUEHRHBGnCMh4Nj4GnqQyBtsshUPdiNroZj8VPkvTZSoHsilRCwXcVKnG9kyi0ZFAS/3u+qKHBdDc81SADTRA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-win32-x64-msvc": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.2.1.tgz", + "integrity": "sha512-rbO34G5sMWWyrN/idLeVxAZgAKWrn5LiR3/I90Q9MkA67s6T1oB0xtTe+0heoBvHSpbU9Mk7i6uwJnpo4u21XQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/postcss": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/postcss/-/postcss-4.2.1.tgz", + "integrity": "sha512-OEwGIBnXnj7zJeonOh6ZG9woofIjGrd2BORfvE5p9USYKDCZoQmfqLcfNiRWoJlRWLdNPn2IgVZuWAOM4iTYMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "@tailwindcss/node": "4.2.1", + "@tailwindcss/oxide": "4.2.1", + "postcss": "^8.5.6", + "tailwindcss": "4.2.1" + } + }, + "node_modules/@tanstack/query-core": { + "version": "5.90.20", + "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.90.20.tgz", + "integrity": "sha512-OMD2HLpNouXEfZJWcKeVKUgQ5n+n3A2JFmBaScpNDUqSrQSjiveC7dKMe53uJUg1nDG16ttFPz2xfilz6i2uVg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + } + }, + "node_modules/@tanstack/react-query": { + "version": "5.90.21", + "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.90.21.tgz", + "integrity": "sha512-0Lu6y5t+tvlTJMTO7oh5NSpJfpg/5D41LlThfepTixPYkJ0sE2Jj0m0f6yYqujBwIXlId87e234+MxG3D3g7kg==", + "license": "MIT", + "dependencies": { + "@tanstack/query-core": "5.90.20" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + }, + "peerDependencies": { + "react": "^18 || ^19" + } + }, + "node_modules/@types/connect": { + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", + "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/debug": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", + "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", + "license": "MIT", + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/@types/lodash": { + "version": "4.17.24", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.24.tgz", + "integrity": "sha512-gIW7lQLZbue7lRSWEFql49QJJWThrTFFeIMJdp3eH4tKoxm1OvEPg02rm4wCCSHS0cL3/Fizimb35b7k8atwsQ==", + "license": "MIT" + }, + "node_modules/@types/ms": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz", + "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==", + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "20.19.37", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.37.tgz", + "integrity": "sha512-8kzdPJ3FsNsVIurqBs7oodNnCEVbni9yUEkaHbgptDACOPW04jimGagZ51E6+lXUwJjgnBw+hyko/lkFWCldqw==", + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "node_modules/@types/prop-types": { + "version": "15.7.15", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.15.tgz", + "integrity": "sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/@types/react": { + "version": "18.3.28", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.28.tgz", + "integrity": "sha512-z9VXpC7MWrhfWipitjNdgCauoMLRdIILQsAEV+ZesIzBq/oUlxk0m3ApZuMFCXdnS4U7KrI+l3WRUEGQ8K1QKw==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@types/prop-types": "*", + "csstype": "^3.2.2" + } + }, + "node_modules/@types/react-dom": { + "version": "18.3.7", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.7.tgz", + "integrity": "sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@types/react": "^18.0.0" + } + }, + "node_modules/@types/trusted-types": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", + "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", + "license": "MIT" + }, + "node_modules/@types/uuid": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-10.0.0.tgz", + "integrity": "sha512-7gqG38EyHgyP1S+7+xomFtL+ZNHcKv6DwNaCZmJmo1vgMugyF3TCnXVg4t1uk89mLNwnLtnY3TpOpCOyp1/xHQ==", + "license": "MIT" + }, + "node_modules/@types/ws": { + "version": "7.4.7", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-7.4.7.tgz", + "integrity": "sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@vanilla-extract/css": { + "version": "1.17.3", + "resolved": "https://registry.npmjs.org/@vanilla-extract/css/-/css-1.17.3.tgz", + "integrity": "sha512-jHivr1UPoJTX5Uel4AZSOwrCf4mO42LcdmnhJtUxZaRWhW4FviFbIfs0moAWWld7GOT+2XnuVZjjA/K32uUnMQ==", + "license": "MIT", + "dependencies": { + "@emotion/hash": "^0.9.0", + "@vanilla-extract/private": "^1.0.8", + "css-what": "^6.1.0", + "cssesc": "^3.0.0", + "csstype": "^3.0.7", + "dedent": "^1.5.3", + "deep-object-diff": "^1.1.9", + "deepmerge": "^4.2.2", + "lru-cache": "^10.4.3", + "media-query-parser": "^2.0.2", + "modern-ahocorasick": "^1.0.0", + "picocolors": "^1.0.0" + } + }, + "node_modules/@vanilla-extract/dynamic": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@vanilla-extract/dynamic/-/dynamic-2.1.4.tgz", + "integrity": "sha512-7+Ot7VlP3cIzhJnTsY/kBtNs21s0YD7WI1rKJJKYP56BkbDxi/wrQUWMGEczKPUDkJuFcvbye+E2ub1u/mHH9w==", + "license": "MIT", + "dependencies": { + "@vanilla-extract/private": "^1.0.8" + } + }, + "node_modules/@vanilla-extract/private": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@vanilla-extract/private/-/private-1.0.9.tgz", + "integrity": "sha512-gT2jbfZuaaCLrAxwXbRgIhGhcXbRZCG3v4TTUnjw0EJ7ArdBRxkq4msNJkbuRkCgfIK5ATmprB5t9ljvLeFDEA==", + "license": "MIT" + }, + "node_modules/@vanilla-extract/sprinkles": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/@vanilla-extract/sprinkles/-/sprinkles-1.6.4.tgz", + "integrity": "sha512-lW3MuIcdIeHKX81DzhTnw68YJdL1ial05exiuvTLJMdHXQLKcVB93AncLPajMM6mUhaVVx5ALZzNHMTrq/U9Hg==", + "license": "MIT", + "peerDependencies": { + "@vanilla-extract/css": "^1.0.0" + } + }, + "node_modules/@wagmi/connectors": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/@wagmi/connectors/-/connectors-6.2.0.tgz", + "integrity": "sha512-2NfkbqhNWdjfibb4abRMrn7u6rPjEGolMfApXss6HCDVt9AW2oVC6k8Q5FouzpJezElxLJSagWz9FW1zaRlanA==", + "license": "MIT", + "dependencies": { + "@base-org/account": "2.4.0", + "@coinbase/wallet-sdk": "4.3.6", + "@gemini-wallet/core": "0.3.2", + "@metamask/sdk": "0.33.1", + "@safe-global/safe-apps-provider": "0.18.6", + "@safe-global/safe-apps-sdk": "9.1.0", + "@walletconnect/ethereum-provider": "2.21.1", + "cbw-sdk": "npm:@coinbase/wallet-sdk@3.9.3", + "porto": "0.2.35" + }, + "funding": { + "url": "https://github.com/sponsors/wevm" + }, + "peerDependencies": { + "@wagmi/core": "2.22.1", + "typescript": ">=5.0.4", + "viem": "2.x" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@wagmi/connectors/node_modules/ox": { + "version": "0.9.17", + "resolved": "https://registry.npmjs.org/ox/-/ox-0.9.17.tgz", + "integrity": "sha512-rKAnhzhRU3Xh3hiko+i1ZxywZ55eWQzeS/Q4HRKLx2PqfHOolisZHErSsJVipGlmQKHW5qwOED/GighEw9dbLg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/wevm" + } + ], + "license": "MIT", + "dependencies": { + "@adraffy/ens-normalize": "^1.11.0", + "@noble/ciphers": "^1.3.0", + "@noble/curves": "1.9.1", + "@noble/hashes": "^1.8.0", + "@scure/bip32": "^1.7.0", + "@scure/bip39": "^1.6.0", + "abitype": "^1.0.9", + "eventemitter3": "5.0.1" + }, + "peerDependencies": { + "typescript": ">=5.4.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@wagmi/connectors/node_modules/porto": { + "version": "0.2.35", + "resolved": "https://registry.npmjs.org/porto/-/porto-0.2.35.tgz", + "integrity": "sha512-gu9FfjjvvYBgQXUHWTp6n3wkTxVtEcqFotM7i3GEZeoQbvLGbssAicCz6hFZ8+xggrJWwi/RLmbwNra50SMmUQ==", + "license": "MIT", + "dependencies": { + "hono": "^4.10.3", + "idb-keyval": "^6.2.1", + "mipd": "^0.0.7", + "ox": "^0.9.6", + "zod": "^4.1.5", + "zustand": "^5.0.1" + }, + "bin": { + "porto": "dist/cli/bin/index.js" + }, + "peerDependencies": { + "@tanstack/react-query": ">=5.59.0", + "@wagmi/core": ">=2.16.3", + "expo-auth-session": ">=7.0.8", + "expo-crypto": ">=15.0.7", + "expo-web-browser": ">=15.0.8", + "react": ">=18", + "react-native": ">=0.81.4", + "typescript": ">=5.4.0", + "viem": ">=2.37.0", + "wagmi": ">=2.0.0" + }, + "peerDependenciesMeta": { + "@tanstack/react-query": { + "optional": true + }, + "expo-auth-session": { + "optional": true + }, + "expo-crypto": { + "optional": true + }, + "expo-web-browser": { + "optional": true + }, + "react": { + "optional": true + }, + "react-native": { + "optional": true + }, + "typescript": { + "optional": true + }, + "wagmi": { + "optional": true + } + } + }, + "node_modules/@wagmi/connectors/node_modules/zod": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/zod/-/zod-4.3.6.tgz", + "integrity": "sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "node_modules/@wagmi/core": { + "version": "2.22.1", + "resolved": "https://registry.npmjs.org/@wagmi/core/-/core-2.22.1.tgz", + "integrity": "sha512-cG/xwQWsBEcKgRTkQVhH29cbpbs/TdcUJVFXCyri3ZknxhMyGv0YEjTcrNpRgt2SaswL1KrvslSNYKKo+5YEAg==", + "license": "MIT", + "dependencies": { + "eventemitter3": "5.0.1", + "mipd": "0.0.7", + "zustand": "5.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/wevm" + }, + "peerDependencies": { + "@tanstack/query-core": ">=5.0.0", + "typescript": ">=5.0.4", + "viem": "2.x" + }, + "peerDependenciesMeta": { + "@tanstack/query-core": { + "optional": true + }, + "typescript": { + "optional": true + } + } + }, + "node_modules/@wagmi/core/node_modules/zustand": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/zustand/-/zustand-5.0.0.tgz", + "integrity": "sha512-LE+VcmbartOPM+auOjCCLQOsQ05zUTp8RkgwRzefUk+2jISdMMFnxvyTjA4YNWr5ZGXYbVsEMZosttuxUBkojQ==", + "license": "MIT", + "engines": { + "node": ">=12.20.0" + }, + "peerDependencies": { + "@types/react": ">=18.0.0", + "immer": ">=9.0.6", + "react": ">=18.0.0", + "use-sync-external-store": ">=1.2.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "immer": { + "optional": true + }, + "react": { + "optional": true + }, + "use-sync-external-store": { + "optional": true + } + } + }, + "node_modules/@walletconnect/core": { + "version": "2.21.1", + "resolved": "https://registry.npmjs.org/@walletconnect/core/-/core-2.21.1.tgz", + "integrity": "sha512-Tp4MHJYcdWD846PH//2r+Mu4wz1/ZU/fr9av1UWFiaYQ2t2TPLDiZxjLw54AAEpMqlEHemwCgiRiAmjR1NDdTQ==", + "license": "Apache-2.0", + "dependencies": { + "@walletconnect/heartbeat": "1.2.2", + "@walletconnect/jsonrpc-provider": "1.0.14", + "@walletconnect/jsonrpc-types": "1.0.4", + "@walletconnect/jsonrpc-utils": "1.0.8", + "@walletconnect/jsonrpc-ws-connection": "1.0.16", + "@walletconnect/keyvaluestorage": "1.1.1", + "@walletconnect/logger": "2.1.2", + "@walletconnect/relay-api": "1.0.11", + "@walletconnect/relay-auth": "1.1.0", + "@walletconnect/safe-json": "1.0.2", + "@walletconnect/time": "1.0.2", + "@walletconnect/types": "2.21.1", + "@walletconnect/utils": "2.21.1", + "@walletconnect/window-getters": "1.0.1", + "es-toolkit": "1.33.0", + "events": "3.3.0", + "uint8arrays": "3.1.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@walletconnect/core/node_modules/@walletconnect/keyvaluestorage": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@walletconnect/keyvaluestorage/-/keyvaluestorage-1.1.1.tgz", + "integrity": "sha512-V7ZQq2+mSxAq7MrRqDxanTzu2RcElfK1PfNYiaVnJgJ7Q7G7hTVwF8voIBx92qsRyGHZihrwNPHuZd1aKkd0rA==", + "license": "MIT", + "dependencies": { + "@walletconnect/safe-json": "^1.0.1", + "idb-keyval": "^6.2.1", + "unstorage": "^1.9.0" + }, + "peerDependencies": { + "@react-native-async-storage/async-storage": "1.x" + }, + "peerDependenciesMeta": { + "@react-native-async-storage/async-storage": { + "optional": true + } + } + }, + "node_modules/@walletconnect/core/node_modules/lru-cache": { + "version": "11.2.6", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.6.tgz", + "integrity": "sha512-ESL2CrkS/2wTPfuend7Zhkzo2u0daGJ/A2VucJOgQ/C48S/zB8MMeMHSGKYpXhIjbPxfuezITkaBH1wqv00DDQ==", + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/@walletconnect/core/node_modules/unstorage": { + "version": "1.17.4", + "resolved": "https://registry.npmjs.org/unstorage/-/unstorage-1.17.4.tgz", + "integrity": "sha512-fHK0yNg38tBiJKp/Vgsq4j0JEsCmgqH58HAn707S7zGkArbZsVr/CwINoi+nh3h98BRCwKvx1K3Xg9u3VV83sw==", + "license": "MIT", + "dependencies": { + "anymatch": "^3.1.3", + "chokidar": "^5.0.0", + "destr": "^2.0.5", + "h3": "^1.15.5", + "lru-cache": "^11.2.0", + "node-fetch-native": "^1.6.7", + "ofetch": "^1.5.1", + "ufo": "^1.6.3" + }, + "peerDependencies": { + "@azure/app-configuration": "^1.8.0", + "@azure/cosmos": "^4.2.0", + "@azure/data-tables": "^13.3.0", + "@azure/identity": "^4.6.0", + "@azure/keyvault-secrets": "^4.9.0", + "@azure/storage-blob": "^12.26.0", + "@capacitor/preferences": "^6 || ^7 || ^8", + "@deno/kv": ">=0.9.0", + "@netlify/blobs": "^6.5.0 || ^7.0.0 || ^8.1.0 || ^9.0.0 || ^10.0.0", + "@planetscale/database": "^1.19.0", + "@upstash/redis": "^1.34.3", + "@vercel/blob": ">=0.27.1", + "@vercel/functions": "^2.2.12 || ^3.0.0", + "@vercel/kv": "^1 || ^2 || ^3", + "aws4fetch": "^1.0.20", + "db0": ">=0.2.1", + "idb-keyval": "^6.2.1", + "ioredis": "^5.4.2", + "uploadthing": "^7.4.4" + }, + "peerDependenciesMeta": { + "@azure/app-configuration": { + "optional": true + }, + "@azure/cosmos": { + "optional": true + }, + "@azure/data-tables": { + "optional": true + }, + "@azure/identity": { + "optional": true + }, + "@azure/keyvault-secrets": { + "optional": true + }, + "@azure/storage-blob": { + "optional": true + }, + "@capacitor/preferences": { + "optional": true + }, + "@deno/kv": { + "optional": true + }, + "@netlify/blobs": { + "optional": true + }, + "@planetscale/database": { + "optional": true + }, + "@upstash/redis": { + "optional": true + }, + "@vercel/blob": { + "optional": true + }, + "@vercel/functions": { + "optional": true + }, + "@vercel/kv": { + "optional": true + }, + "aws4fetch": { + "optional": true + }, + "db0": { + "optional": true + }, + "idb-keyval": { + "optional": true + }, + "ioredis": { + "optional": true + }, + "uploadthing": { + "optional": true + } + } + }, + "node_modules/@walletconnect/environment": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@walletconnect/environment/-/environment-1.0.1.tgz", + "integrity": "sha512-T426LLZtHj8e8rYnKfzsw1aG6+M0BT1ZxayMdv/p8yM0MU+eJDISqNY3/bccxRr4LrF9csq02Rhqt08Ibl0VRg==", + "license": "MIT", + "dependencies": { + "tslib": "1.14.1" + } + }, + "node_modules/@walletconnect/environment/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD" + }, + "node_modules/@walletconnect/ethereum-provider": { + "version": "2.21.1", + "resolved": "https://registry.npmjs.org/@walletconnect/ethereum-provider/-/ethereum-provider-2.21.1.tgz", + "integrity": "sha512-SSlIG6QEVxClgl1s0LMk4xr2wg4eT3Zn/Hb81IocyqNSGfXpjtawWxKxiC5/9Z95f1INyBD6MctJbL/R1oBwIw==", + "deprecated": "Reliability and performance improvements. See: https://github.com/WalletConnect/walletconnect-monorepo/releases", + "license": "Apache-2.0", + "dependencies": { + "@reown/appkit": "1.7.8", + "@walletconnect/jsonrpc-http-connection": "1.0.8", + "@walletconnect/jsonrpc-provider": "1.0.14", + "@walletconnect/jsonrpc-types": "1.0.4", + "@walletconnect/jsonrpc-utils": "1.0.8", + "@walletconnect/keyvaluestorage": "1.1.1", + "@walletconnect/sign-client": "2.21.1", + "@walletconnect/types": "2.21.1", + "@walletconnect/universal-provider": "2.21.1", + "@walletconnect/utils": "2.21.1", + "events": "3.3.0" + } + }, + "node_modules/@walletconnect/ethereum-provider/node_modules/@walletconnect/keyvaluestorage": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@walletconnect/keyvaluestorage/-/keyvaluestorage-1.1.1.tgz", + "integrity": "sha512-V7ZQq2+mSxAq7MrRqDxanTzu2RcElfK1PfNYiaVnJgJ7Q7G7hTVwF8voIBx92qsRyGHZihrwNPHuZd1aKkd0rA==", + "license": "MIT", + "dependencies": { + "@walletconnect/safe-json": "^1.0.1", + "idb-keyval": "^6.2.1", + "unstorage": "^1.9.0" + }, + "peerDependencies": { + "@react-native-async-storage/async-storage": "1.x" + }, + "peerDependenciesMeta": { + "@react-native-async-storage/async-storage": { + "optional": true + } + } + }, + "node_modules/@walletconnect/ethereum-provider/node_modules/lru-cache": { + "version": "11.2.6", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.6.tgz", + "integrity": "sha512-ESL2CrkS/2wTPfuend7Zhkzo2u0daGJ/A2VucJOgQ/C48S/zB8MMeMHSGKYpXhIjbPxfuezITkaBH1wqv00DDQ==", + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/@walletconnect/ethereum-provider/node_modules/unstorage": { + "version": "1.17.4", + "resolved": "https://registry.npmjs.org/unstorage/-/unstorage-1.17.4.tgz", + "integrity": "sha512-fHK0yNg38tBiJKp/Vgsq4j0JEsCmgqH58HAn707S7zGkArbZsVr/CwINoi+nh3h98BRCwKvx1K3Xg9u3VV83sw==", + "license": "MIT", + "dependencies": { + "anymatch": "^3.1.3", + "chokidar": "^5.0.0", + "destr": "^2.0.5", + "h3": "^1.15.5", + "lru-cache": "^11.2.0", + "node-fetch-native": "^1.6.7", + "ofetch": "^1.5.1", + "ufo": "^1.6.3" + }, + "peerDependencies": { + "@azure/app-configuration": "^1.8.0", + "@azure/cosmos": "^4.2.0", + "@azure/data-tables": "^13.3.0", + "@azure/identity": "^4.6.0", + "@azure/keyvault-secrets": "^4.9.0", + "@azure/storage-blob": "^12.26.0", + "@capacitor/preferences": "^6 || ^7 || ^8", + "@deno/kv": ">=0.9.0", + "@netlify/blobs": "^6.5.0 || ^7.0.0 || ^8.1.0 || ^9.0.0 || ^10.0.0", + "@planetscale/database": "^1.19.0", + "@upstash/redis": "^1.34.3", + "@vercel/blob": ">=0.27.1", + "@vercel/functions": "^2.2.12 || ^3.0.0", + "@vercel/kv": "^1 || ^2 || ^3", + "aws4fetch": "^1.0.20", + "db0": ">=0.2.1", + "idb-keyval": "^6.2.1", + "ioredis": "^5.4.2", + "uploadthing": "^7.4.4" + }, + "peerDependenciesMeta": { + "@azure/app-configuration": { + "optional": true + }, + "@azure/cosmos": { + "optional": true + }, + "@azure/data-tables": { + "optional": true + }, + "@azure/identity": { + "optional": true + }, + "@azure/keyvault-secrets": { + "optional": true + }, + "@azure/storage-blob": { + "optional": true + }, + "@capacitor/preferences": { + "optional": true + }, + "@deno/kv": { + "optional": true + }, + "@netlify/blobs": { + "optional": true + }, + "@planetscale/database": { + "optional": true + }, + "@upstash/redis": { + "optional": true + }, + "@vercel/blob": { + "optional": true + }, + "@vercel/functions": { + "optional": true + }, + "@vercel/kv": { + "optional": true + }, + "aws4fetch": { + "optional": true + }, + "db0": { + "optional": true + }, + "idb-keyval": { + "optional": true + }, + "ioredis": { + "optional": true + }, + "uploadthing": { + "optional": true + } + } + }, + "node_modules/@walletconnect/events": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@walletconnect/events/-/events-1.0.1.tgz", + "integrity": "sha512-NPTqaoi0oPBVNuLv7qPaJazmGHs5JGyO8eEAk5VGKmJzDR7AHzD4k6ilox5kxk1iwiOnFopBOOMLs86Oa76HpQ==", + "license": "MIT", + "dependencies": { + "keyvaluestorage-interface": "^1.0.0", + "tslib": "1.14.1" + } + }, + "node_modules/@walletconnect/events/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD" + }, + "node_modules/@walletconnect/heartbeat": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@walletconnect/heartbeat/-/heartbeat-1.2.2.tgz", + "integrity": "sha512-uASiRmC5MwhuRuf05vq4AT48Pq8RMi876zV8rr8cV969uTOzWdB/k+Lj5yI2PBtB1bGQisGen7MM1GcZlQTBXw==", + "license": "MIT", + "dependencies": { + "@walletconnect/events": "^1.0.1", + "@walletconnect/time": "^1.0.2", + "events": "^3.3.0" + } + }, + "node_modules/@walletconnect/jsonrpc-http-connection": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-http-connection/-/jsonrpc-http-connection-1.0.8.tgz", + "integrity": "sha512-+B7cRuaxijLeFDJUq5hAzNyef3e3tBDIxyaCNmFtjwnod5AGis3RToNqzFU33vpVcxFhofkpE7Cx+5MYejbMGw==", + "license": "MIT", + "dependencies": { + "@walletconnect/jsonrpc-utils": "^1.0.6", + "@walletconnect/safe-json": "^1.0.1", + "cross-fetch": "^3.1.4", + "events": "^3.3.0" + } + }, + "node_modules/@walletconnect/jsonrpc-http-connection/node_modules/cross-fetch": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.2.0.tgz", + "integrity": "sha512-Q+xVJLoGOeIMXZmbUK4HYk+69cQH6LudR0Vu/pRm2YlU/hDV9CiS0gKUMaWY5f2NeUH9C1nV3bsTlCo0FsTV1Q==", + "license": "MIT", + "dependencies": { + "node-fetch": "^2.7.0" + } + }, + "node_modules/@walletconnect/jsonrpc-provider": { + "version": "1.0.14", + "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-provider/-/jsonrpc-provider-1.0.14.tgz", + "integrity": "sha512-rtsNY1XqHvWj0EtITNeuf8PHMvlCLiS3EjQL+WOkxEOA4KPxsohFnBDeyPYiNm4ZvkQdLnece36opYidmtbmow==", + "license": "MIT", + "dependencies": { + "@walletconnect/jsonrpc-utils": "^1.0.8", + "@walletconnect/safe-json": "^1.0.2", + "events": "^3.3.0" + } + }, + "node_modules/@walletconnect/jsonrpc-types": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-types/-/jsonrpc-types-1.0.4.tgz", + "integrity": "sha512-P6679fG/M+wuWg9TY8mh6xFSdYnFyFjwFelxyISxMDrlbXokorEVXYOxiqEbrU3x1BmBoCAJJ+vtEaEoMlpCBQ==", + "license": "MIT", + "dependencies": { + "events": "^3.3.0", + "keyvaluestorage-interface": "^1.0.0" + } + }, + "node_modules/@walletconnect/jsonrpc-utils": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-utils/-/jsonrpc-utils-1.0.8.tgz", + "integrity": "sha512-vdeb03bD8VzJUL6ZtzRYsFMq1eZQcM3EAzT0a3st59dyLfJ0wq+tKMpmGH7HlB7waD858UWgfIcudbPFsbzVdw==", + "license": "MIT", + "dependencies": { + "@walletconnect/environment": "^1.0.1", + "@walletconnect/jsonrpc-types": "^1.0.3", + "tslib": "1.14.1" + } + }, + "node_modules/@walletconnect/jsonrpc-utils/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD" + }, + "node_modules/@walletconnect/jsonrpc-ws-connection": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-ws-connection/-/jsonrpc-ws-connection-1.0.16.tgz", + "integrity": "sha512-G81JmsMqh5nJheE1mPst1W0WfVv0SG3N7JggwLLGnI7iuDZJq8cRJvQwLGKHn5H1WTW7DEPCo00zz5w62AbL3Q==", + "license": "MIT", + "dependencies": { + "@walletconnect/jsonrpc-utils": "^1.0.6", + "@walletconnect/safe-json": "^1.0.2", + "events": "^3.3.0", + "ws": "^7.5.1" + } + }, + "node_modules/@walletconnect/jsonrpc-ws-connection/node_modules/ws": { + "version": "7.5.10", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", + "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", + "license": "MIT", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/@walletconnect/logger": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@walletconnect/logger/-/logger-2.1.2.tgz", + "integrity": "sha512-aAb28I3S6pYXZHQm5ESB+V6rDqIYfsnHaQyzFbwUUBFY4H0OXx/YtTl8lvhUNhMMfb9UxbwEBS253TlXUYJWSw==", + "license": "MIT", + "dependencies": { + "@walletconnect/safe-json": "^1.0.2", + "pino": "7.11.0" + } + }, + "node_modules/@walletconnect/relay-api": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@walletconnect/relay-api/-/relay-api-1.0.11.tgz", + "integrity": "sha512-tLPErkze/HmC9aCmdZOhtVmYZq1wKfWTJtygQHoWtgg722Jd4homo54Cs4ak2RUFUZIGO2RsOpIcWipaua5D5Q==", + "license": "MIT", + "dependencies": { + "@walletconnect/jsonrpc-types": "^1.0.2" + } + }, + "node_modules/@walletconnect/relay-auth": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@walletconnect/relay-auth/-/relay-auth-1.1.0.tgz", + "integrity": "sha512-qFw+a9uRz26jRCDgL7Q5TA9qYIgcNY8jpJzI1zAWNZ8i7mQjaijRnWFKsCHAU9CyGjvt6RKrRXyFtFOpWTVmCQ==", + "license": "MIT", + "dependencies": { + "@noble/curves": "1.8.0", + "@noble/hashes": "1.7.0", + "@walletconnect/safe-json": "^1.0.1", + "@walletconnect/time": "^1.0.2", + "uint8arrays": "^3.0.0" + } + }, + "node_modules/@walletconnect/relay-auth/node_modules/@noble/curves": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.8.0.tgz", + "integrity": "sha512-j84kjAbzEnQHaSIhRPUmB3/eVXu2k3dKPl2LOrR8fSOIL+89U+7lV117EWHtq/GHM3ReGHM46iRBdZfpc4HRUQ==", + "license": "MIT", + "dependencies": { + "@noble/hashes": "1.7.0" + }, + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@walletconnect/relay-auth/node_modules/@noble/hashes": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.7.0.tgz", + "integrity": "sha512-HXydb0DgzTpDPwbVeDGCG1gIu7X6+AuU6Zl6av/E/KG8LMsvPntvq+w17CHRpKBmN6Ybdrt1eP3k4cj8DJa78w==", + "license": "MIT", + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@walletconnect/safe-json": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@walletconnect/safe-json/-/safe-json-1.0.2.tgz", + "integrity": "sha512-Ogb7I27kZ3LPC3ibn8ldyUr5544t3/STow9+lzz7Sfo808YD7SBWk7SAsdBFlYgP2zDRy2hS3sKRcuSRM0OTmA==", + "license": "MIT", + "dependencies": { + "tslib": "1.14.1" + } + }, + "node_modules/@walletconnect/safe-json/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD" + }, + "node_modules/@walletconnect/sign-client": { + "version": "2.21.1", + "resolved": "https://registry.npmjs.org/@walletconnect/sign-client/-/sign-client-2.21.1.tgz", + "integrity": "sha512-QaXzmPsMnKGV6tc4UcdnQVNOz4zyXgarvdIQibJ4L3EmLat73r5ZVl4c0cCOcoaV7rgM9Wbphgu5E/7jNcd3Zg==", + "deprecated": "Reliability and performance improvements. See: https://github.com/WalletConnect/walletconnect-monorepo/releases", + "license": "Apache-2.0", + "dependencies": { + "@walletconnect/core": "2.21.1", + "@walletconnect/events": "1.0.1", + "@walletconnect/heartbeat": "1.2.2", + "@walletconnect/jsonrpc-utils": "1.0.8", + "@walletconnect/logger": "2.1.2", + "@walletconnect/time": "1.0.2", + "@walletconnect/types": "2.21.1", + "@walletconnect/utils": "2.21.1", + "events": "3.3.0" + } + }, + "node_modules/@walletconnect/time": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@walletconnect/time/-/time-1.0.2.tgz", + "integrity": "sha512-uzdd9woDcJ1AaBZRhqy5rNC9laqWGErfc4dxA9a87mPdKOgWMD85mcFo9dIYIts/Jwocfwn07EC6EzclKubk/g==", + "license": "MIT", + "dependencies": { + "tslib": "1.14.1" + } + }, + "node_modules/@walletconnect/time/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD" + }, + "node_modules/@walletconnect/types": { + "version": "2.21.1", + "resolved": "https://registry.npmjs.org/@walletconnect/types/-/types-2.21.1.tgz", + "integrity": "sha512-UeefNadqP6IyfwWC1Yi7ux+ljbP2R66PLfDrDm8izmvlPmYlqRerJWJvYO4t0Vvr9wrG4Ko7E0c4M7FaPKT/sQ==", + "license": "Apache-2.0", + "dependencies": { + "@walletconnect/events": "1.0.1", + "@walletconnect/heartbeat": "1.2.2", + "@walletconnect/jsonrpc-types": "1.0.4", + "@walletconnect/keyvaluestorage": "1.1.1", + "@walletconnect/logger": "2.1.2", + "events": "3.3.0" + } + }, + "node_modules/@walletconnect/types/node_modules/@walletconnect/keyvaluestorage": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@walletconnect/keyvaluestorage/-/keyvaluestorage-1.1.1.tgz", + "integrity": "sha512-V7ZQq2+mSxAq7MrRqDxanTzu2RcElfK1PfNYiaVnJgJ7Q7G7hTVwF8voIBx92qsRyGHZihrwNPHuZd1aKkd0rA==", + "license": "MIT", + "dependencies": { + "@walletconnect/safe-json": "^1.0.1", + "idb-keyval": "^6.2.1", + "unstorage": "^1.9.0" + }, + "peerDependencies": { + "@react-native-async-storage/async-storage": "1.x" + }, + "peerDependenciesMeta": { + "@react-native-async-storage/async-storage": { + "optional": true + } + } + }, + "node_modules/@walletconnect/types/node_modules/lru-cache": { + "version": "11.2.6", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.6.tgz", + "integrity": "sha512-ESL2CrkS/2wTPfuend7Zhkzo2u0daGJ/A2VucJOgQ/C48S/zB8MMeMHSGKYpXhIjbPxfuezITkaBH1wqv00DDQ==", + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/@walletconnect/types/node_modules/unstorage": { + "version": "1.17.4", + "resolved": "https://registry.npmjs.org/unstorage/-/unstorage-1.17.4.tgz", + "integrity": "sha512-fHK0yNg38tBiJKp/Vgsq4j0JEsCmgqH58HAn707S7zGkArbZsVr/CwINoi+nh3h98BRCwKvx1K3Xg9u3VV83sw==", + "license": "MIT", + "dependencies": { + "anymatch": "^3.1.3", + "chokidar": "^5.0.0", + "destr": "^2.0.5", + "h3": "^1.15.5", + "lru-cache": "^11.2.0", + "node-fetch-native": "^1.6.7", + "ofetch": "^1.5.1", + "ufo": "^1.6.3" + }, + "peerDependencies": { + "@azure/app-configuration": "^1.8.0", + "@azure/cosmos": "^4.2.0", + "@azure/data-tables": "^13.3.0", + "@azure/identity": "^4.6.0", + "@azure/keyvault-secrets": "^4.9.0", + "@azure/storage-blob": "^12.26.0", + "@capacitor/preferences": "^6 || ^7 || ^8", + "@deno/kv": ">=0.9.0", + "@netlify/blobs": "^6.5.0 || ^7.0.0 || ^8.1.0 || ^9.0.0 || ^10.0.0", + "@planetscale/database": "^1.19.0", + "@upstash/redis": "^1.34.3", + "@vercel/blob": ">=0.27.1", + "@vercel/functions": "^2.2.12 || ^3.0.0", + "@vercel/kv": "^1 || ^2 || ^3", + "aws4fetch": "^1.0.20", + "db0": ">=0.2.1", + "idb-keyval": "^6.2.1", + "ioredis": "^5.4.2", + "uploadthing": "^7.4.4" + }, + "peerDependenciesMeta": { + "@azure/app-configuration": { + "optional": true + }, + "@azure/cosmos": { + "optional": true + }, + "@azure/data-tables": { + "optional": true + }, + "@azure/identity": { + "optional": true + }, + "@azure/keyvault-secrets": { + "optional": true + }, + "@azure/storage-blob": { + "optional": true + }, + "@capacitor/preferences": { + "optional": true + }, + "@deno/kv": { + "optional": true + }, + "@netlify/blobs": { + "optional": true + }, + "@planetscale/database": { + "optional": true + }, + "@upstash/redis": { + "optional": true + }, + "@vercel/blob": { + "optional": true + }, + "@vercel/functions": { + "optional": true + }, + "@vercel/kv": { + "optional": true + }, + "aws4fetch": { + "optional": true + }, + "db0": { + "optional": true + }, + "idb-keyval": { + "optional": true + }, + "ioredis": { + "optional": true + }, + "uploadthing": { + "optional": true + } + } + }, + "node_modules/@walletconnect/universal-provider": { + "version": "2.21.1", + "resolved": "https://registry.npmjs.org/@walletconnect/universal-provider/-/universal-provider-2.21.1.tgz", + "integrity": "sha512-Wjx9G8gUHVMnYfxtasC9poGm8QMiPCpXpbbLFT+iPoQskDDly8BwueWnqKs4Mx2SdIAWAwuXeZ5ojk5qQOxJJg==", + "deprecated": "Reliability and performance improvements. See: https://github.com/WalletConnect/walletconnect-monorepo/releases", + "license": "Apache-2.0", + "dependencies": { + "@walletconnect/events": "1.0.1", + "@walletconnect/jsonrpc-http-connection": "1.0.8", + "@walletconnect/jsonrpc-provider": "1.0.14", + "@walletconnect/jsonrpc-types": "1.0.4", + "@walletconnect/jsonrpc-utils": "1.0.8", + "@walletconnect/keyvaluestorage": "1.1.1", + "@walletconnect/logger": "2.1.2", + "@walletconnect/sign-client": "2.21.1", + "@walletconnect/types": "2.21.1", + "@walletconnect/utils": "2.21.1", + "es-toolkit": "1.33.0", + "events": "3.3.0" + } + }, + "node_modules/@walletconnect/universal-provider/node_modules/@walletconnect/keyvaluestorage": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@walletconnect/keyvaluestorage/-/keyvaluestorage-1.1.1.tgz", + "integrity": "sha512-V7ZQq2+mSxAq7MrRqDxanTzu2RcElfK1PfNYiaVnJgJ7Q7G7hTVwF8voIBx92qsRyGHZihrwNPHuZd1aKkd0rA==", + "license": "MIT", + "dependencies": { + "@walletconnect/safe-json": "^1.0.1", + "idb-keyval": "^6.2.1", + "unstorage": "^1.9.0" + }, + "peerDependencies": { + "@react-native-async-storage/async-storage": "1.x" + }, + "peerDependenciesMeta": { + "@react-native-async-storage/async-storage": { + "optional": true + } + } + }, + "node_modules/@walletconnect/universal-provider/node_modules/lru-cache": { + "version": "11.2.6", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.6.tgz", + "integrity": "sha512-ESL2CrkS/2wTPfuend7Zhkzo2u0daGJ/A2VucJOgQ/C48S/zB8MMeMHSGKYpXhIjbPxfuezITkaBH1wqv00DDQ==", + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/@walletconnect/universal-provider/node_modules/unstorage": { + "version": "1.17.4", + "resolved": "https://registry.npmjs.org/unstorage/-/unstorage-1.17.4.tgz", + "integrity": "sha512-fHK0yNg38tBiJKp/Vgsq4j0JEsCmgqH58HAn707S7zGkArbZsVr/CwINoi+nh3h98BRCwKvx1K3Xg9u3VV83sw==", + "license": "MIT", + "dependencies": { + "anymatch": "^3.1.3", + "chokidar": "^5.0.0", + "destr": "^2.0.5", + "h3": "^1.15.5", + "lru-cache": "^11.2.0", + "node-fetch-native": "^1.6.7", + "ofetch": "^1.5.1", + "ufo": "^1.6.3" + }, + "peerDependencies": { + "@azure/app-configuration": "^1.8.0", + "@azure/cosmos": "^4.2.0", + "@azure/data-tables": "^13.3.0", + "@azure/identity": "^4.6.0", + "@azure/keyvault-secrets": "^4.9.0", + "@azure/storage-blob": "^12.26.0", + "@capacitor/preferences": "^6 || ^7 || ^8", + "@deno/kv": ">=0.9.0", + "@netlify/blobs": "^6.5.0 || ^7.0.0 || ^8.1.0 || ^9.0.0 || ^10.0.0", + "@planetscale/database": "^1.19.0", + "@upstash/redis": "^1.34.3", + "@vercel/blob": ">=0.27.1", + "@vercel/functions": "^2.2.12 || ^3.0.0", + "@vercel/kv": "^1 || ^2 || ^3", + "aws4fetch": "^1.0.20", + "db0": ">=0.2.1", + "idb-keyval": "^6.2.1", + "ioredis": "^5.4.2", + "uploadthing": "^7.4.4" + }, + "peerDependenciesMeta": { + "@azure/app-configuration": { + "optional": true + }, + "@azure/cosmos": { + "optional": true + }, + "@azure/data-tables": { + "optional": true + }, + "@azure/identity": { + "optional": true + }, + "@azure/keyvault-secrets": { + "optional": true + }, + "@azure/storage-blob": { + "optional": true + }, + "@capacitor/preferences": { + "optional": true + }, + "@deno/kv": { + "optional": true + }, + "@netlify/blobs": { + "optional": true + }, + "@planetscale/database": { + "optional": true + }, + "@upstash/redis": { + "optional": true + }, + "@vercel/blob": { + "optional": true + }, + "@vercel/functions": { + "optional": true + }, + "@vercel/kv": { + "optional": true + }, + "aws4fetch": { + "optional": true + }, + "db0": { + "optional": true + }, + "idb-keyval": { + "optional": true + }, + "ioredis": { + "optional": true + }, + "uploadthing": { + "optional": true + } + } + }, + "node_modules/@walletconnect/utils": { + "version": "2.21.1", + "resolved": "https://registry.npmjs.org/@walletconnect/utils/-/utils-2.21.1.tgz", + "integrity": "sha512-VPZvTcrNQCkbGOjFRbC24mm/pzbRMUq2DSQoiHlhh0X1U7ZhuIrzVtAoKsrzu6rqjz0EEtGxCr3K1TGRqDG4NA==", + "license": "Apache-2.0", + "dependencies": { + "@noble/ciphers": "1.2.1", + "@noble/curves": "1.8.1", + "@noble/hashes": "1.7.1", + "@walletconnect/jsonrpc-utils": "1.0.8", + "@walletconnect/keyvaluestorage": "1.1.1", + "@walletconnect/relay-api": "1.0.11", + "@walletconnect/relay-auth": "1.1.0", + "@walletconnect/safe-json": "1.0.2", + "@walletconnect/time": "1.0.2", + "@walletconnect/types": "2.21.1", + "@walletconnect/window-getters": "1.0.1", + "@walletconnect/window-metadata": "1.0.1", + "bs58": "6.0.0", + "detect-browser": "5.3.0", + "query-string": "7.1.3", + "uint8arrays": "3.1.0", + "viem": "2.23.2" + } + }, + "node_modules/@walletconnect/utils/node_modules/@noble/ciphers": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@noble/ciphers/-/ciphers-1.2.1.tgz", + "integrity": "sha512-rONPWMC7PeExE077uLE4oqWrZ1IvAfz3oH9LibVAcVCopJiA9R62uavnbEzdkVmJYI6M6Zgkbeb07+tWjlq2XA==", + "license": "MIT", + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@walletconnect/utils/node_modules/@noble/curves": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.8.1.tgz", + "integrity": "sha512-warwspo+UYUPep0Q+vtdVB4Ugn8GGQj8iyB3gnRWsztmUHTI3S1nhdiWNsPUGL0vud7JlRRk1XEu7Lq1KGTnMQ==", + "license": "MIT", + "dependencies": { + "@noble/hashes": "1.7.1" + }, + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@walletconnect/utils/node_modules/@noble/hashes": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.7.1.tgz", + "integrity": "sha512-B8XBPsn4vT/KJAGqDzbwztd+6Yte3P4V7iafm24bxgDe/mlRuK6xmWPuCNrKt2vDafZ8MfJLlchDG/vYafQEjQ==", + "license": "MIT", + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@walletconnect/utils/node_modules/@scure/bip32": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.6.2.tgz", + "integrity": "sha512-t96EPDMbtGgtb7onKKqxRLfE5g05k7uHnHRM2xdE6BP/ZmxaLtPek4J4KfVn/90IQNrU1IOAqMgiDtUdtbe3nw==", + "license": "MIT", + "dependencies": { + "@noble/curves": "~1.8.1", + "@noble/hashes": "~1.7.1", + "@scure/base": "~1.2.2" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@walletconnect/utils/node_modules/@scure/bip39": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.5.4.tgz", + "integrity": "sha512-TFM4ni0vKvCfBpohoh+/lY05i9gRbSwXWngAsF4CABQxoaOHijxuaZ2R6cStDQ5CHtHO9aGJTr4ksVJASRRyMA==", + "license": "MIT", + "dependencies": { + "@noble/hashes": "~1.7.1", + "@scure/base": "~1.2.4" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@walletconnect/utils/node_modules/@walletconnect/keyvaluestorage": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@walletconnect/keyvaluestorage/-/keyvaluestorage-1.1.1.tgz", + "integrity": "sha512-V7ZQq2+mSxAq7MrRqDxanTzu2RcElfK1PfNYiaVnJgJ7Q7G7hTVwF8voIBx92qsRyGHZihrwNPHuZd1aKkd0rA==", + "license": "MIT", + "dependencies": { + "@walletconnect/safe-json": "^1.0.1", + "idb-keyval": "^6.2.1", + "unstorage": "^1.9.0" + }, + "peerDependencies": { + "@react-native-async-storage/async-storage": "1.x" + }, + "peerDependenciesMeta": { + "@react-native-async-storage/async-storage": { + "optional": true + } + } + }, + "node_modules/@walletconnect/utils/node_modules/abitype": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/abitype/-/abitype-1.0.8.tgz", + "integrity": "sha512-ZeiI6h3GnW06uYDLx0etQtX/p8E24UaHHBj57RSjK7YBFe7iuVn07EDpOeP451D06sF27VOz9JJPlIKJmXgkEg==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/wevm" + }, + "peerDependencies": { + "typescript": ">=5.0.4", + "zod": "^3 >=3.22.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + }, + "zod": { + "optional": true + } + } + }, + "node_modules/@walletconnect/utils/node_modules/base-x": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/base-x/-/base-x-5.0.1.tgz", + "integrity": "sha512-M7uio8Zt++eg3jPj+rHMfCC+IuygQHHCOU+IYsVtik6FWjuYpVt/+MRKcgsAMHh8mMFAwnB+Bs+mTrFiXjMzKg==", + "license": "MIT" + }, + "node_modules/@walletconnect/utils/node_modules/bs58": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/bs58/-/bs58-6.0.0.tgz", + "integrity": "sha512-PD0wEnEYg6ijszw/u8s+iI3H17cTymlrwkKhDhPZq+Sokl3AU4htyBFTjAeNAlCCmg0f53g6ih3jATyCKftTfw==", + "license": "MIT", + "dependencies": { + "base-x": "^5.0.0" + } + }, + "node_modules/@walletconnect/utils/node_modules/isows": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/isows/-/isows-1.0.6.tgz", + "integrity": "sha512-lPHCayd40oW98/I0uvgaHKWCSvkzY27LjWLbtzOm64yQ+G3Q5npjjbdppU65iZXkK1Zt+kH9pfegli0AYfwYYw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/wevm" + } + ], + "license": "MIT", + "peerDependencies": { + "ws": "*" + } + }, + "node_modules/@walletconnect/utils/node_modules/lru-cache": { + "version": "11.2.6", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.6.tgz", + "integrity": "sha512-ESL2CrkS/2wTPfuend7Zhkzo2u0daGJ/A2VucJOgQ/C48S/zB8MMeMHSGKYpXhIjbPxfuezITkaBH1wqv00DDQ==", + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/@walletconnect/utils/node_modules/ox": { + "version": "0.6.7", + "resolved": "https://registry.npmjs.org/ox/-/ox-0.6.7.tgz", + "integrity": "sha512-17Gk/eFsFRAZ80p5eKqv89a57uXjd3NgIf1CaXojATPBuujVc/fQSVhBeAU9JCRB+k7J50WQAyWTxK19T9GgbA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/wevm" + } + ], + "license": "MIT", + "dependencies": { + "@adraffy/ens-normalize": "^1.10.1", + "@noble/curves": "^1.6.0", + "@noble/hashes": "^1.5.0", + "@scure/bip32": "^1.5.0", + "@scure/bip39": "^1.4.0", + "abitype": "^1.0.6", + "eventemitter3": "5.0.1" + }, + "peerDependencies": { + "typescript": ">=5.4.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@walletconnect/utils/node_modules/unstorage": { + "version": "1.17.4", + "resolved": "https://registry.npmjs.org/unstorage/-/unstorage-1.17.4.tgz", + "integrity": "sha512-fHK0yNg38tBiJKp/Vgsq4j0JEsCmgqH58HAn707S7zGkArbZsVr/CwINoi+nh3h98BRCwKvx1K3Xg9u3VV83sw==", + "license": "MIT", + "dependencies": { + "anymatch": "^3.1.3", + "chokidar": "^5.0.0", + "destr": "^2.0.5", + "h3": "^1.15.5", + "lru-cache": "^11.2.0", + "node-fetch-native": "^1.6.7", + "ofetch": "^1.5.1", + "ufo": "^1.6.3" + }, + "peerDependencies": { + "@azure/app-configuration": "^1.8.0", + "@azure/cosmos": "^4.2.0", + "@azure/data-tables": "^13.3.0", + "@azure/identity": "^4.6.0", + "@azure/keyvault-secrets": "^4.9.0", + "@azure/storage-blob": "^12.26.0", + "@capacitor/preferences": "^6 || ^7 || ^8", + "@deno/kv": ">=0.9.0", + "@netlify/blobs": "^6.5.0 || ^7.0.0 || ^8.1.0 || ^9.0.0 || ^10.0.0", + "@planetscale/database": "^1.19.0", + "@upstash/redis": "^1.34.3", + "@vercel/blob": ">=0.27.1", + "@vercel/functions": "^2.2.12 || ^3.0.0", + "@vercel/kv": "^1 || ^2 || ^3", + "aws4fetch": "^1.0.20", + "db0": ">=0.2.1", + "idb-keyval": "^6.2.1", + "ioredis": "^5.4.2", + "uploadthing": "^7.4.4" + }, + "peerDependenciesMeta": { + "@azure/app-configuration": { + "optional": true + }, + "@azure/cosmos": { + "optional": true + }, + "@azure/data-tables": { + "optional": true + }, + "@azure/identity": { + "optional": true + }, + "@azure/keyvault-secrets": { + "optional": true + }, + "@azure/storage-blob": { + "optional": true + }, + "@capacitor/preferences": { + "optional": true + }, + "@deno/kv": { + "optional": true + }, + "@netlify/blobs": { + "optional": true + }, + "@planetscale/database": { + "optional": true + }, + "@upstash/redis": { + "optional": true + }, + "@vercel/blob": { + "optional": true + }, + "@vercel/functions": { + "optional": true + }, + "@vercel/kv": { + "optional": true + }, + "aws4fetch": { + "optional": true + }, + "db0": { + "optional": true + }, + "idb-keyval": { + "optional": true + }, + "ioredis": { + "optional": true + }, + "uploadthing": { + "optional": true + } + } + }, + "node_modules/@walletconnect/utils/node_modules/viem": { + "version": "2.23.2", + "resolved": "https://registry.npmjs.org/viem/-/viem-2.23.2.tgz", + "integrity": "sha512-NVmW/E0c5crMOtbEAqMF0e3NmvQykFXhLOc/CkLIXOlzHSA6KXVz3CYVmaKqBF8/xtjsjHAGjdJN3Ru1kFJLaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/wevm" + } + ], + "license": "MIT", + "dependencies": { + "@noble/curves": "1.8.1", + "@noble/hashes": "1.7.1", + "@scure/bip32": "1.6.2", + "@scure/bip39": "1.5.4", + "abitype": "1.0.8", + "isows": "1.0.6", + "ox": "0.6.7", + "ws": "8.18.0" + }, + "peerDependencies": { + "typescript": ">=5.0.4" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@walletconnect/utils/node_modules/ws": { + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", + "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/@walletconnect/window-getters": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@walletconnect/window-getters/-/window-getters-1.0.1.tgz", + "integrity": "sha512-vHp+HqzGxORPAN8gY03qnbTMnhqIwjeRJNOMOAzePRg4xVEEE2WvYsI9G2NMjOknA8hnuYbU3/hwLcKbjhc8+Q==", + "license": "MIT", + "dependencies": { + "tslib": "1.14.1" + } + }, + "node_modules/@walletconnect/window-getters/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD" + }, + "node_modules/@walletconnect/window-metadata": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@walletconnect/window-metadata/-/window-metadata-1.0.1.tgz", + "integrity": "sha512-9koTqyGrM2cqFRW517BPY/iEtUDx2r1+Pwwu5m7sJ7ka79wi3EyqhqcICk/yDmv6jAS1rjKgTKXlEhanYjijcA==", + "license": "MIT", + "dependencies": { + "@walletconnect/window-getters": "^1.0.1", + "tslib": "1.14.1" + } + }, + "node_modules/@walletconnect/window-metadata/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD" + }, + "node_modules/abitype": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/abitype/-/abitype-1.2.3.tgz", + "integrity": "sha512-Ofer5QUnuUdTFsBRwARMoWKOH1ND5ehwYhJ3OJ/BQO+StkwQjHw0XyVh4vDttzHB7QOFhPHa/o413PJ82gU/Tg==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/wevm" + }, + "peerDependencies": { + "typescript": ">=5.0.4", + "zod": "^3.22.0 || ^4.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + }, + "zod": { + "optional": true + } + } + }, + "node_modules/agentkeepalive": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.6.0.tgz", + "integrity": "sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ==", + "license": "MIT", + "dependencies": { + "humanize-ms": "^1.2.1" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/async-mutex": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/async-mutex/-/async-mutex-0.2.6.tgz", + "integrity": "sha512-Hs4R+4SPgamu6rSGW8C7cV9gaWUKEHykfzCCvIRuaVv636Ju10ZdeUbvb4TBEW0INuq2DHZqXbK4Nd3yG4RaRw==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.0" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "license": "MIT" + }, + "node_modules/atomic-sleep": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/atomic-sleep/-/atomic-sleep-1.0.0.tgz", + "integrity": "sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==", + "license": "MIT", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "license": "MIT", + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/axios": { + "version": "1.13.6", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.13.6.tgz", + "integrity": "sha512-ChTCHMouEe2kn713WHbQGcuYrr6fXTBiu460OTwWrWob16g1bXn4vtz07Ope7ewMozJAnEquLk5lWQWtBig9DQ==", + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.15.11", + "form-data": "^4.0.5", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/axios-retry": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/axios-retry/-/axios-retry-4.5.0.tgz", + "integrity": "sha512-aR99oXhpEDGo0UuAlYcn2iGRds30k366Zfa05XWScR9QaQD4JYiP3/1Qt1u7YlefUOK+cn0CcwoL1oefavQUlQ==", + "license": "Apache-2.0", + "dependencies": { + "is-retry-allowed": "^2.2.0" + }, + "peerDependencies": { + "axios": "0.x || 1.x" + } + }, + "node_modules/base-x": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.11.tgz", + "integrity": "sha512-xz7wQ8xDhdyP7tQxwdteLYeFfS68tSMNCZ/Y37WJ4bhGfKPpqEIlmIyueQHqOyoPhE6xNUqjzRr8ra0eF9VRvA==", + "license": "MIT", + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/big.js": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-6.2.2.tgz", + "integrity": "sha512-y/ie+Faknx7sZA5MfGA2xKlu0GDv8RWrXGsmlteyJQ2lvoKv9GBK/fpRMc2qlSoBAgNxrixICFCBefIq8WCQpQ==", + "license": "MIT", + "engines": { + "node": "*" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/bigjs" + } + }, + "node_modules/bn.js": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.3.tgz", + "integrity": "sha512-EAcmnPkxpntVL+DS7bO1zhcZNvCkxqtkd0ZY53h06GNQ3DEkkGZ/gKgmDv6DdZQGj9BgfSPKtJJ7Dp1GPP8f7w==", + "license": "MIT" + }, + "node_modules/borsh": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/borsh/-/borsh-0.7.0.tgz", + "integrity": "sha512-CLCsZGIBCFnPtkNnieW/a8wmreDmfUtjU2m9yHrzPXIlNbqVs0AQrSatSG6vdNYUqdc83tkQi2eHfF98ubzQLA==", + "license": "Apache-2.0", + "dependencies": { + "bn.js": "^5.2.0", + "bs58": "^4.0.0", + "text-encoding-utf-8": "^1.0.2" + } + }, + "node_modules/bowser": { + "version": "2.14.1", + "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.14.1.tgz", + "integrity": "sha512-tzPjzCxygAKWFOJP011oxFHs57HzIhOEracIgAePE4pqB3LikALKnSzUyU4MGs9/iCEUuHlAJTjTc5M+u7YEGg==", + "license": "MIT" + }, + "node_modules/bs58": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", + "integrity": "sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==", + "license": "MIT", + "dependencies": { + "base-x": "^3.0.2" + } + }, + "node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/bufferutil": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.1.0.tgz", + "integrity": "sha512-ZMANVnAixE6AWWnPzlW2KpUrxhm9woycYvPOo67jWHyFowASTEd9s+QN1EIMsSDtwhIxN4sWE1jotpuDUIgyIw==", + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "node-gyp-build": "^4.3.0" + }, + "engines": { + "node": ">=6.14.2" + } + }, + "node_modules/busboy": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", + "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", + "dependencies": { + "streamsearch": "^1.1.0" + }, + "engines": { + "node": ">=10.16.0" + } + }, + "node_modules/call-bind": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", + "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.0", + "es-define-property": "^1.0.0", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001777", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001777.tgz", + "integrity": "sha512-tmN+fJxroPndC74efCdp12j+0rk0RHwV5Jwa1zWaFVyw2ZxAuPeG8ZgWC3Wz7uSjT3qMRQ5XHZ4COgQmsCMJAQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/cbw-sdk": { + "name": "@coinbase/wallet-sdk", + "version": "3.9.3", + "resolved": "https://registry.npmjs.org/@coinbase/wallet-sdk/-/wallet-sdk-3.9.3.tgz", + "integrity": "sha512-N/A2DRIf0Y3PHc1XAMvbBUu4zisna6qAdqABMZwBMNEfWrXpAwx16pZGkYCLGE+Rvv1edbcB2LYDRnACNcmCiw==", + "license": "Apache-2.0", + "dependencies": { + "bn.js": "^5.2.1", + "buffer": "^6.0.3", + "clsx": "^1.2.1", + "eth-block-tracker": "^7.1.0", + "eth-json-rpc-filters": "^6.0.0", + "eventemitter3": "^5.0.1", + "keccak": "^3.0.3", + "preact": "^10.16.0", + "sha.js": "^2.4.11" + } + }, + "node_modules/cbw-sdk/node_modules/clsx": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", + "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/chalk": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz", + "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==", + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/charenc": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", + "integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==", + "license": "BSD-3-Clause", + "engines": { + "node": "*" + } + }, + "node_modules/chokidar": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-5.0.0.tgz", + "integrity": "sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==", + "license": "MIT", + "dependencies": { + "readdirp": "^5.0.0" + }, + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/client-only": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", + "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==", + "license": "MIT" + }, + "node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "14.0.2", + "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.2.tgz", + "integrity": "sha512-TywoWNNRbhoD0BXs1P3ZEScW8W5iKrnbithIl0YH+uCmBd0QpPOA8yc82DS3BIE5Ma6FnBVUsJ7wVUDz4dvOWQ==", + "license": "MIT", + "engines": { + "node": ">=20" + } + }, + "node_modules/cookie-es": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cookie-es/-/cookie-es-1.2.2.tgz", + "integrity": "sha512-+W7VmiVINB+ywl1HGXJXmrqkOhpKrIiVZV6tQuV54ZyQC7MMuBt81Vc336GMLoHBq5hV/F9eXgt5Mnx0Rha5Fg==", + "license": "MIT" + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "license": "MIT" + }, + "node_modules/crc-32": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", + "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", + "license": "Apache-2.0", + "bin": { + "crc32": "bin/crc32.njs" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/cross-fetch": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.1.0.tgz", + "integrity": "sha512-uKm5PU+MHTootlWEY+mZ4vvXoCn4fLQxT9dSc1sXVMSFkINTJVN8cAQROpwcKm8bJ/c7rgZVIBWzH5T78sNZZw==", + "license": "MIT", + "dependencies": { + "node-fetch": "^2.7.0" + } + }, + "node_modules/crossws": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/crossws/-/crossws-0.3.5.tgz", + "integrity": "sha512-ojKiDvcmByhwa8YYqbQI/hg7MEU0NC03+pSdEq4ZUnZR9xXpwk7E43SMNGkn+JxJGPFtNvQ48+vV2p+P1ml5PA==", + "license": "MIT", + "dependencies": { + "uncrypto": "^0.1.3" + } + }, + "node_modules/crypt": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", + "integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==", + "license": "BSD-3-Clause", + "engines": { + "node": "*" + } + }, + "node_modules/css-what": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.2.2.tgz", + "integrity": "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==", + "license": "BSD-2-Clause", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/csstype": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", + "license": "MIT" + }, + "node_modules/cuer": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/cuer/-/cuer-0.0.3.tgz", + "integrity": "sha512-f/UNxRMRCYtfLEGECAViByA3JNflZImOk11G9hwSd+44jvzrc99J35u5l+fbdQ2+ZG441GvOpaeGYBmWquZsbQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/wevm" + } + ], + "license": "MIT", + "dependencies": { + "qr": "~0" + }, + "peerDependencies": { + "react": ">=18", + "react-dom": ">=18", + "typescript": ">=5.4.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/date-fns": { + "version": "2.30.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz", + "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.21.0" + }, + "engines": { + "node": ">=0.11" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/date-fns" + } + }, + "node_modules/dayjs": { + "version": "1.11.13", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.13.tgz", + "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==", + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decode-uri-component": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", + "license": "MIT", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/dedent": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.7.2.tgz", + "integrity": "sha512-WzMx3mW98SN+zn3hgemf4OzdmyNhhhKz5Ay0pUfQiMQ3e1g+xmTJWp/pKdwKVXhdSkAEGIIzqeuWrL3mV/AXbA==", + "license": "MIT", + "peerDependencies": { + "babel-plugin-macros": "^3.1.0" + }, + "peerDependenciesMeta": { + "babel-plugin-macros": { + "optional": true + } + } + }, + "node_modules/deep-object-diff": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/deep-object-diff/-/deep-object-diff-1.1.9.tgz", + "integrity": "sha512-Rn+RuwkmkDwCi2/oXOFS9Gsr5lJZu/yTGpK7wAaAIE75CC+LCGEZHpY6VQJa/RoJcrmaA/docWJZvYohlNkWPA==", + "license": "MIT" + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/defu": { + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.4.tgz", + "integrity": "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==", + "license": "MIT" + }, + "node_modules/delay": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/delay/-/delay-5.0.0.tgz", + "integrity": "sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/derive-valtio": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/derive-valtio/-/derive-valtio-0.1.0.tgz", + "integrity": "sha512-OCg2UsLbXK7GmmpzMXhYkdO64vhJ1ROUUGaTFyHjVwEdMEcTTRj7W1TxLbSBxdY8QLBPCcp66MTyaSy0RpO17A==", + "license": "MIT", + "peerDependencies": { + "valtio": "*" + } + }, + "node_modules/destr": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/destr/-/destr-2.0.5.tgz", + "integrity": "sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA==", + "license": "MIT" + }, + "node_modules/detect-browser": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/detect-browser/-/detect-browser-5.3.0.tgz", + "integrity": "sha512-53rsFbGdwMwlF7qvCt0ypLM5V5/Mbl0szB7GPN8y9NCcbknYOeVVXdrXEq+90IwAfrrzt6Hd+u2E2ntakICU8w==", + "license": "MIT" + }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "node_modules/detect-node-es": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz", + "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==", + "license": "MIT" + }, + "node_modules/dijkstrajs": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/dijkstrajs/-/dijkstrajs-1.0.3.tgz", + "integrity": "sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==", + "license": "MIT" + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/duplexify": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.3.tgz", + "integrity": "sha512-M3BmBhwJRZsSx38lZyhE53Csddgzl5R7xGJNk7CVddZD6CcmwMCH8J+7AprIrQKH7TonKxaCjcv27Qmf+sQ+oA==", + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.4.1", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1", + "stream-shift": "^1.0.2" + } + }, + "node_modules/eciesjs": { + "version": "0.4.17", + "resolved": "https://registry.npmjs.org/eciesjs/-/eciesjs-0.4.17.tgz", + "integrity": "sha512-TOOURki4G7sD1wDCjj7NfLaXZZ49dFOeEb5y39IXpb8p0hRzVvfvzZHOi5JcT+PpyAbi/Y+lxPb8eTag2WYH8w==", + "license": "MIT", + "dependencies": { + "@ecies/ciphers": "^0.2.5", + "@noble/ciphers": "^1.3.0", + "@noble/curves": "^1.9.7", + "@noble/hashes": "^1.8.0" + }, + "engines": { + "bun": ">=1", + "deno": ">=2", + "node": ">=16" + } + }, + "node_modules/eciesjs/node_modules/@noble/curves": { + "version": "1.9.7", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.9.7.tgz", + "integrity": "sha512-gbKGcRUYIjA3/zCCNaWDciTMFI0dCkvou3TL8Zmy5Nc7sJ47a0jtOeZoTaMxkuqRo9cRhjOdZJXegxYE5FN/xw==", + "license": "MIT", + "dependencies": { + "@noble/hashes": "1.8.0" + }, + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/encode-utf8": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/encode-utf8/-/encode-utf8-1.0.3.tgz", + "integrity": "sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==", + "license": "MIT" + }, + "node_modules/end-of-stream": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz", + "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==", + "license": "MIT", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/engine.io-client": { + "version": "6.6.4", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.6.4.tgz", + "integrity": "sha512-+kjUJnZGwzewFDw951CDWcwj35vMNf2fcj7xQWOctq1F2i1jkDdVvdFG9kM/BEChymCH36KgjnW0NsL58JYRxw==", + "license": "MIT", + "dependencies": { + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.4.1", + "engine.io-parser": "~5.2.1", + "ws": "~8.18.3", + "xmlhttprequest-ssl": "~2.1.1" + } + }, + "node_modules/engine.io-client/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/engine.io-client/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/engine.io-parser": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.3.tgz", + "integrity": "sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.20.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.20.0.tgz", + "integrity": "sha512-/ce7+jQ1PQ6rVXwe+jKEg5hW5ciicHwIQUagZkp6IufBoY3YDgdTTY1azVs0qoRgVmvsNB+rbjLJxDAeHHtwsQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.3.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-toolkit": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/es-toolkit/-/es-toolkit-1.33.0.tgz", + "integrity": "sha512-X13Q/ZSc+vsO1q600bvNK4bxgXMkHcf//RxCmYDaRY5DAcT+eoXjY5hoAPGMdRnWQjvyLEcyauG3b6hz76LNqg==", + "license": "MIT", + "workspaces": [ + "docs", + "benchmarks" + ] + }, + "node_modules/es6-promise": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", + "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", + "license": "MIT" + }, + "node_modules/es6-promisify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", + "integrity": "sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==", + "license": "MIT", + "dependencies": { + "es6-promise": "^4.0.3" + } + }, + "node_modules/eth-block-tracker": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/eth-block-tracker/-/eth-block-tracker-7.1.0.tgz", + "integrity": "sha512-8YdplnuE1IK4xfqpf4iU7oBxnOYAc35934o083G8ao+8WM8QQtt/mVlAY6yIAdY1eMeLqg4Z//PZjJGmWGPMRg==", + "license": "MIT", + "dependencies": { + "@metamask/eth-json-rpc-provider": "^1.0.0", + "@metamask/safe-event-emitter": "^3.0.0", + "@metamask/utils": "^5.0.1", + "json-rpc-random-id": "^1.0.1", + "pify": "^3.0.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/eth-block-tracker/node_modules/@metamask/utils": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@metamask/utils/-/utils-5.0.2.tgz", + "integrity": "sha512-yfmE79bRQtnMzarnKfX7AEJBwFTxvTyw3nBQlu/5rmGXrjAeAMltoGxO62TFurxrQAFMNa/fEjIHNvungZp0+g==", + "license": "ISC", + "dependencies": { + "@ethereumjs/tx": "^4.1.2", + "@types/debug": "^4.1.7", + "debug": "^4.3.4", + "semver": "^7.3.8", + "superstruct": "^1.0.3" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/eth-block-tracker/node_modules/superstruct": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/superstruct/-/superstruct-1.0.4.tgz", + "integrity": "sha512-7JpaAoX2NGyoFlI9NBh66BQXGONc+uE+MRS5i2iOBKuS4e+ccgMDjATgZldkah+33DakBxDHiss9kvUcGAO8UQ==", + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/eth-json-rpc-filters": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/eth-json-rpc-filters/-/eth-json-rpc-filters-6.0.1.tgz", + "integrity": "sha512-ITJTvqoCw6OVMLs7pI8f4gG92n/St6x80ACtHodeS+IXmO0w+t1T5OOzfSt7KLSMLRkVUoexV7tztLgDxg+iig==", + "license": "ISC", + "dependencies": { + "@metamask/safe-event-emitter": "^3.0.0", + "async-mutex": "^0.2.6", + "eth-query": "^2.1.2", + "json-rpc-engine": "^6.1.0", + "pify": "^5.0.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/eth-json-rpc-filters/node_modules/pify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-5.0.0.tgz", + "integrity": "sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eth-query": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/eth-query/-/eth-query-2.1.2.tgz", + "integrity": "sha512-srES0ZcvwkR/wd5OQBRA1bIJMww1skfGS0s8wlwK3/oNP4+wnds60krvu5R1QbpRQjMmpG5OMIWro5s7gvDPsA==", + "license": "ISC", + "dependencies": { + "json-rpc-random-id": "^1.0.0", + "xtend": "^4.0.1" + } + }, + "node_modules/eth-rpc-errors": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eth-rpc-errors/-/eth-rpc-errors-4.0.3.tgz", + "integrity": "sha512-Z3ymjopaoft7JDoxZcEb3pwdGh7yiYMhOwm2doUt6ASXlMavpNlK6Cre0+IMl2VSGyEU9rkiperQhp5iRxn5Pg==", + "license": "MIT", + "dependencies": { + "fast-safe-stringify": "^2.0.6" + } + }, + "node_modules/ethereum-cryptography": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-2.2.1.tgz", + "integrity": "sha512-r/W8lkHSiTLxUxW8Rf3u4HGB0xQweG2RyETjywylKZSzLWoWAijRz8WCuOtJ6wah+avllXBqZuk29HCCvhEIRg==", + "license": "MIT", + "dependencies": { + "@noble/curves": "1.4.2", + "@noble/hashes": "1.4.0", + "@scure/bip32": "1.4.0", + "@scure/bip39": "1.3.0" + } + }, + "node_modules/ethereum-cryptography/node_modules/@noble/curves": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.4.2.tgz", + "integrity": "sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw==", + "license": "MIT", + "dependencies": { + "@noble/hashes": "1.4.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/ethereum-cryptography/node_modules/@noble/hashes": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.4.0.tgz", + "integrity": "sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==", + "license": "MIT", + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/ethereum-cryptography/node_modules/@scure/base": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.1.9.tgz", + "integrity": "sha512-8YKhl8GHiNI/pU2VMaofa2Tor7PJRAjwQLBBuilkJ9L5+13yVbC7JO/wS7piioAvPSwR3JKM1IJ/u4xQzbcXKg==", + "license": "MIT", + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/ethereum-cryptography/node_modules/@scure/bip32": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.4.0.tgz", + "integrity": "sha512-sVUpc0Vq3tXCkDGYVWGIZTRfnvu8LoTDaev7vbwh0omSvVORONr960MQWdKqJDCReIEmTj3PAr73O3aoxz7OPg==", + "license": "MIT", + "dependencies": { + "@noble/curves": "~1.4.0", + "@noble/hashes": "~1.4.0", + "@scure/base": "~1.1.6" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/ethereum-cryptography/node_modules/@scure/bip39": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.3.0.tgz", + "integrity": "sha512-disdg7gHuTDZtY+ZdkmLpPCk7fxZSu3gBiEGuoC1XYxv9cGx3Z6cpTggCgW6odSOOIXCiDjuGejW+aJKCY/pIQ==", + "license": "MIT", + "dependencies": { + "@noble/hashes": "~1.4.0", + "@scure/base": "~1.1.6" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/eventemitter2": { + "version": "6.4.9", + "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.9.tgz", + "integrity": "sha512-JEPTiaOt9f04oa6NOkc4aH+nVp5I3wEjpHbIPqfgCdD5v5bUzy7xQqwcVO2aDQgOWhI28da57HksMrzK9HlRxg==", + "license": "MIT" + }, + "node_modules/eventemitter3": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", + "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==", + "license": "MIT" + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "license": "MIT", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/extension-port-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/extension-port-stream/-/extension-port-stream-3.0.0.tgz", + "integrity": "sha512-an2S5quJMiy5bnZKEf6AkfH/7r8CzHvhchU40gxN+OM6HPhe7Z9T1FUychcf2M9PpPOO0Hf7BAEfJkw2TDIBDw==", + "license": "ISC", + "dependencies": { + "readable-stream": "^3.6.2 || ^4.4.2", + "webextension-polyfill": ">=0.10.0 <1.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/eyes": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz", + "integrity": "sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ==", + "engines": { + "node": "> 0.1.90" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "license": "MIT" + }, + "node_modules/fast-redact": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/fast-redact/-/fast-redact-3.5.0.tgz", + "integrity": "sha512-dwsoQlS7h9hMeYUq1W++23NDcBLV4KqONnITDV9DjfS3q1SgDGVrBdvvTLUotWtPSD7asWDV9/CmsZPy8Hf70A==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/fast-safe-stringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", + "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==", + "license": "MIT" + }, + "node_modules/fast-stable-stringify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fast-stable-stringify/-/fast-stable-stringify-1.0.0.tgz", + "integrity": "sha512-wpYMUmFu5f00Sm0cj2pfivpmawLZ0NKdviQ4w9zJeR8JVtOpOxHmLaJuj0vxvGqMJQWyP/COUkF75/57OKyRag==", + "license": "MIT" + }, + "node_modules/filter-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz", + "integrity": "sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/follow-redirects": { + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz", + "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/for-each": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", + "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", + "license": "MIT", + "dependencies": { + "is-callable": "^1.2.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/form-data": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz", + "integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==", + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.2", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/generator-function": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/generator-function/-/generator-function-2.0.1.tgz", + "integrity": "sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-nonce": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz", + "integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "license": "ISC" + }, + "node_modules/h3": { + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/h3/-/h3-1.15.5.tgz", + "integrity": "sha512-xEyq3rSl+dhGX2Lm0+eFQIAzlDN6Fs0EcC4f7BNUmzaRX/PTzeuM+Tr2lHB8FoXggsQIeXLj8EDVgs5ywxyxmg==", + "license": "MIT", + "dependencies": { + "cookie-es": "^1.2.2", + "crossws": "^0.3.5", + "defu": "^6.1.4", + "destr": "^2.0.5", + "iron-webcrypto": "^1.2.1", + "node-mock-http": "^1.0.4", + "radix3": "^1.1.2", + "ufo": "^1.6.3", + "uncrypto": "^0.1.3" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hono": { + "version": "4.12.5", + "resolved": "https://registry.npmjs.org/hono/-/hono-4.12.5.tgz", + "integrity": "sha512-3qq+FUBtlTHhtYxbxheZgY8NIFnkkC/MR8u5TTsr7YZ3wixryQ3cCwn3iZbg8p8B88iDBBAYSfZDS75t8MN7Vg==", + "license": "MIT", + "engines": { + "node": ">=16.9.0" + } + }, + "node_modules/humanize-ms": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", + "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", + "license": "MIT", + "dependencies": { + "ms": "^2.0.0" + } + }, + "node_modules/idb-keyval": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/idb-keyval/-/idb-keyval-6.2.1.tgz", + "integrity": "sha512-8Sb3veuYCyrZL+VBt9LJfZjLUPWVvqn8tG28VqYNFCo43KHcKuq+b4EiXGeuaLAQWL2YmyDgMp2aSpH9JHsEQg==", + "license": "Apache-2.0" + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, + "node_modules/iron-webcrypto": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/iron-webcrypto/-/iron-webcrypto-1.2.1.tgz", + "integrity": "sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/brc-dd" + } + }, + "node_modules/is-arguments": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.2.0.tgz", + "integrity": "sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "license": "MIT" + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-generator-function": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.2.tgz", + "integrity": "sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.4", + "generator-function": "^2.0.0", + "get-proto": "^1.0.1", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-regex": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", + "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-retry-allowed": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-2.2.0.tgz", + "integrity": "sha512-XVm7LOeLpTW4jV19QSH38vkswxoLud8sQ57YwJVTPWdiaI9I8keEhGFpBlslyVsgdQy4Opg8QOLb8YRgsyZiQg==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", + "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", + "license": "MIT", + "dependencies": { + "which-typed-array": "^1.1.16" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "license": "MIT" + }, + "node_modules/isomorphic-ws": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz", + "integrity": "sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==", + "license": "MIT", + "peerDependencies": { + "ws": "*" + } + }, + "node_modules/isows": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/isows/-/isows-1.0.7.tgz", + "integrity": "sha512-I1fSfDCZL5P0v33sVqeTDSpcstAg/N+wF5HS033mogOVIp4B+oHC7oOCsA3axAbBSGTJ8QubbNmnIRN/h8U7hg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/wevm" + } + ], + "license": "MIT", + "peerDependencies": { + "ws": "*" + } + }, + "node_modules/jayson": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/jayson/-/jayson-4.3.0.tgz", + "integrity": "sha512-AauzHcUcqs8OBnCHOkJY280VaTiCm57AbuO7lqzcw7JapGj50BisE3xhksye4zlTSR1+1tAz67wLTl8tEH1obQ==", + "license": "MIT", + "dependencies": { + "@types/connect": "^3.4.33", + "@types/node": "^12.12.54", + "@types/ws": "^7.4.4", + "commander": "^2.20.3", + "delay": "^5.0.0", + "es6-promisify": "^5.0.0", + "eyes": "^0.1.8", + "isomorphic-ws": "^4.0.1", + "json-stringify-safe": "^5.0.1", + "stream-json": "^1.9.1", + "uuid": "^8.3.2", + "ws": "^7.5.10" + }, + "bin": { + "jayson": "bin/jayson.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jayson/node_modules/@types/node": { + "version": "12.20.55", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", + "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==", + "license": "MIT" + }, + "node_modules/jayson/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "license": "MIT" + }, + "node_modules/jayson/node_modules/ws": { + "version": "7.5.10", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", + "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", + "license": "MIT", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/jiti": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.6.1.tgz", + "integrity": "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==", + "dev": true, + "license": "MIT", + "bin": { + "jiti": "lib/jiti-cli.mjs" + } + }, + "node_modules/jose": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/jose/-/jose-6.2.0.tgz", + "integrity": "sha512-xsfE1TcSCbUdo6U07tR0mvhg0flGxU8tPLbF03mirl2ukGQENhUg4ubGYQnhVH0b5stLlPM+WOqDkEl1R1y5sQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/panva" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "license": "MIT" + }, + "node_modules/json-rpc-engine": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/json-rpc-engine/-/json-rpc-engine-6.1.0.tgz", + "integrity": "sha512-NEdLrtrq1jUZyfjkr9OCz9EzCNhnRyWtt1PAnvnhwy6e8XETS0Dtc+ZNCO2gvuAoKsIn2+vCSowXTYE4CkgnAQ==", + "license": "ISC", + "dependencies": { + "@metamask/safe-event-emitter": "^2.0.0", + "eth-rpc-errors": "^4.0.2" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/json-rpc-engine/node_modules/@metamask/safe-event-emitter": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@metamask/safe-event-emitter/-/safe-event-emitter-2.0.0.tgz", + "integrity": "sha512-/kSXhY692qiV1MXu6EeOZvg5nECLclxNXcKCxJ3cXQgYuRymRHpdx/t7JXfsK+JLjwA1e1c1/SBrlQYpusC29Q==", + "license": "ISC" + }, + "node_modules/json-rpc-random-id": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-rpc-random-id/-/json-rpc-random-id-1.0.1.tgz", + "integrity": "sha512-RJ9YYNCkhVDBuP4zN5BBtYAzEl03yq/jIIsyif0JY9qyJuQQZNeDK7anAPKKlyEtLSj2s8h6hNh2F8zO5q7ScA==", + "license": "ISC" + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "license": "ISC" + }, + "node_modules/keccak": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.4.tgz", + "integrity": "sha512-3vKuW0jV8J3XNTzvfyicFR5qvxrSAGl7KIhvgOu5cmWwM7tZRj3fMbj/pfIf4be7aznbc+prBWGjywox/g2Y6Q==", + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "node-addon-api": "^2.0.0", + "node-gyp-build": "^4.2.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/keyvaluestorage-interface": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/keyvaluestorage-interface/-/keyvaluestorage-interface-1.0.0.tgz", + "integrity": "sha512-8t6Q3TclQ4uZynJY9IGr2+SsIGwK9JHcO6ootkHCGA0CrQCRy+VkouYNO2xicET6b9al7QKzpebNow+gkpCL8g==", + "license": "MIT" + }, + "node_modules/lightningcss": { + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.31.1.tgz", + "integrity": "sha512-l51N2r93WmGUye3WuFoN5k10zyvrVs0qfKBhyC5ogUQ6Ew6JUSswh78mbSO+IU3nTWsyOArqPCcShdQSadghBQ==", + "dev": true, + "license": "MPL-2.0", + "dependencies": { + "detect-libc": "^2.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-android-arm64": "1.31.1", + "lightningcss-darwin-arm64": "1.31.1", + "lightningcss-darwin-x64": "1.31.1", + "lightningcss-freebsd-x64": "1.31.1", + "lightningcss-linux-arm-gnueabihf": "1.31.1", + "lightningcss-linux-arm64-gnu": "1.31.1", + "lightningcss-linux-arm64-musl": "1.31.1", + "lightningcss-linux-x64-gnu": "1.31.1", + "lightningcss-linux-x64-musl": "1.31.1", + "lightningcss-win32-arm64-msvc": "1.31.1", + "lightningcss-win32-x64-msvc": "1.31.1" + } + }, + "node_modules/lightningcss-android-arm64": { + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.31.1.tgz", + "integrity": "sha512-HXJF3x8w9nQ4jbXRiNppBCqeZPIAfUo8zE/kOEGbW5NZvGc/K7nMxbhIr+YlFlHW5mpbg/YFPdbnCh1wAXCKFg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.31.1.tgz", + "integrity": "sha512-02uTEqf3vIfNMq3h/z2cJfcOXnQ0GRwQrkmPafhueLb2h7mqEidiCzkE4gBMEH65abHRiQvhdcQ+aP0D0g67sg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.31.1.tgz", + "integrity": "sha512-1ObhyoCY+tGxtsz1lSx5NXCj3nirk0Y0kB/g8B8DT+sSx4G9djitg9ejFnjb3gJNWo7qXH4DIy2SUHvpoFwfTA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.31.1.tgz", + "integrity": "sha512-1RINmQKAItO6ISxYgPwszQE1BrsVU5aB45ho6O42mu96UiZBxEXsuQ7cJW4zs4CEodPUioj/QrXW1r9pLUM74A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.31.1.tgz", + "integrity": "sha512-OOCm2//MZJ87CdDK62rZIu+aw9gBv4azMJuA8/KB74wmfS3lnC4yoPHm0uXZ/dvNNHmnZnB8XLAZzObeG0nS1g==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.31.1.tgz", + "integrity": "sha512-WKyLWztD71rTnou4xAD5kQT+982wvca7E6QoLpoawZ1gP9JM0GJj4Tp5jMUh9B3AitHbRZ2/H3W5xQmdEOUlLg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.31.1.tgz", + "integrity": "sha512-mVZ7Pg2zIbe3XlNbZJdjs86YViQFoJSpc41CbVmKBPiGmC4YrfeOyz65ms2qpAobVd7WQsbW4PdsSJEMymyIMg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.31.1.tgz", + "integrity": "sha512-xGlFWRMl+0KvUhgySdIaReQdB4FNudfUTARn7q0hh/V67PVGCs3ADFjw+6++kG1RNd0zdGRlEKa+T13/tQjPMA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.31.1.tgz", + "integrity": "sha512-eowF8PrKHw9LpoZii5tdZwnBcYDxRw2rRCyvAXLi34iyeYfqCQNA9rmUM0ce62NlPhCvof1+9ivRaTY6pSKDaA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.31.1.tgz", + "integrity": "sha512-aJReEbSEQzx1uBlQizAOBSjcmr9dCdL3XuC/6HLXAxmtErsj2ICo5yYggg1qOODQMtnjNQv2UHb9NpOuFtYe4w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.31.1.tgz", + "integrity": "sha512-I9aiFrbd7oYHwlnQDqr1Roz+fTz61oDDJX7n9tYF9FJymH1cIN1DtKw3iYt6b8WZgEjoNwVSncwF4wx/ZedMhw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lit": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/lit/-/lit-3.3.0.tgz", + "integrity": "sha512-DGVsqsOIHBww2DqnuZzW7QsuCdahp50ojuDaBPC7jUDRpYoH0z7kHBBYZewRzer75FwtrkmkKk7iOAwSaWdBmw==", + "license": "BSD-3-Clause", + "dependencies": { + "@lit/reactive-element": "^2.1.0", + "lit-element": "^4.2.0", + "lit-html": "^3.3.0" + } + }, + "node_modules/lit-element": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-4.2.2.tgz", + "integrity": "sha512-aFKhNToWxoyhkNDmWZwEva2SlQia+jfG0fjIWV//YeTaWrVnOxD89dPKfigCUspXFmjzOEUQpOkejH5Ly6sG0w==", + "license": "BSD-3-Clause", + "dependencies": { + "@lit-labs/ssr-dom-shim": "^1.5.0", + "@lit/reactive-element": "^2.1.0", + "lit-html": "^3.3.0" + } + }, + "node_modules/lit-html": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-3.3.2.tgz", + "integrity": "sha512-Qy9hU88zcmaxBXcc10ZpdK7cOLXvXpRoBxERdtqV9QOrfpMZZ6pSYP91LhpPtap3sFMUiL7Tw2RImbe0Al2/kw==", + "license": "BSD-3-Clause", + "dependencies": { + "@types/trusted-types": "^2.0.2" + } + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lodash": { + "version": "4.17.23", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz", + "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==", + "license": "MIT" + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "license": "MIT", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "license": "ISC" + }, + "node_modules/magic-string": { + "version": "0.30.21", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.5" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/md5": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz", + "integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==", + "license": "BSD-3-Clause", + "dependencies": { + "charenc": "0.0.2", + "crypt": "0.0.2", + "is-buffer": "~1.1.6" + } + }, + "node_modules/media-query-parser": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/media-query-parser/-/media-query-parser-2.0.2.tgz", + "integrity": "sha512-1N4qp+jE0pL5Xv4uEcwVUhIkwdUO3S/9gML90nqKA7v7FcOS5vUtatfzok9S9U1EJU8dHWlcv95WLnKmmxZI9w==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.12.5" + } + }, + "node_modules/micro-ftch": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/micro-ftch/-/micro-ftch-0.3.1.tgz", + "integrity": "sha512-/0LLxhzP0tfiR5hcQebtudP56gUurs2CLkGarnCiB/OqEyUFQ6U3paQi/tgLv0hBJYt2rnr9MNpxz4fiiugstg==", + "license": "MIT" + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mipd": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/mipd/-/mipd-0.0.7.tgz", + "integrity": "sha512-aAPZPNDQ3uMTdKbuO2YmAw2TxLHO0moa4YKAyETM/DTj5FloZo+a+8tU+iv4GmW+sOxKLSRwcSFuczk+Cpt6fg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/wagmi-dev" + } + ], + "license": "MIT", + "peerDependencies": { + "typescript": ">=5.0.4" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/modern-ahocorasick": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/modern-ahocorasick/-/modern-ahocorasick-1.1.0.tgz", + "integrity": "sha512-sEKPVl2rM+MNVkGQt3ChdmD8YsigmXdn5NifZn6jiwn9LRJpWm8F3guhaqrJT/JOat6pwpbXEk6kv+b9DMIjsQ==", + "license": "MIT" + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "license": "MIT" + }, + "node_modules/multiformats": { + "version": "9.9.0", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.9.0.tgz", + "integrity": "sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==", + "license": "(Apache-2.0 AND MIT)" + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/next": { + "version": "14.2.35", + "resolved": "https://registry.npmjs.org/next/-/next-14.2.35.tgz", + "integrity": "sha512-KhYd2Hjt/O1/1aZVX3dCwGXM1QmOV4eNM2UTacK5gipDdPN/oHHK/4oVGy7X8GMfPMsUTUEmGlsy0EY1YGAkig==", + "license": "MIT", + "dependencies": { + "@next/env": "14.2.35", + "@swc/helpers": "0.5.5", + "busboy": "1.6.0", + "caniuse-lite": "^1.0.30001579", + "graceful-fs": "^4.2.11", + "postcss": "8.4.31", + "styled-jsx": "5.1.1" + }, + "bin": { + "next": "dist/bin/next" + }, + "engines": { + "node": ">=18.17.0" + }, + "optionalDependencies": { + "@next/swc-darwin-arm64": "14.2.33", + "@next/swc-darwin-x64": "14.2.33", + "@next/swc-linux-arm64-gnu": "14.2.33", + "@next/swc-linux-arm64-musl": "14.2.33", + "@next/swc-linux-x64-gnu": "14.2.33", + "@next/swc-linux-x64-musl": "14.2.33", + "@next/swc-win32-arm64-msvc": "14.2.33", + "@next/swc-win32-ia32-msvc": "14.2.33", + "@next/swc-win32-x64-msvc": "14.2.33" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.1.0", + "@playwright/test": "^1.41.2", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "sass": "^1.3.0" + }, + "peerDependenciesMeta": { + "@opentelemetry/api": { + "optional": true + }, + "@playwright/test": { + "optional": true + }, + "sass": { + "optional": true + } + } + }, + "node_modules/next/node_modules/postcss": { + "version": "8.4.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/node-addon-api": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz", + "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==", + "license": "MIT" + }, + "node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "license": "MIT", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-fetch-native": { + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.7.tgz", + "integrity": "sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q==", + "license": "MIT" + }, + "node_modules/node-gyp-build": { + "version": "4.8.4", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.4.tgz", + "integrity": "sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==", + "license": "MIT", + "bin": { + "node-gyp-build": "bin.js", + "node-gyp-build-optional": "optional.js", + "node-gyp-build-test": "build-test.js" + } + }, + "node_modules/node-mock-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/node-mock-http/-/node-mock-http-1.0.4.tgz", + "integrity": "sha512-8DY+kFsDkNXy1sJglUfuODx1/opAGJGyrTuFqEoN90oRc2Vk0ZbD4K2qmKXBBEhZQzdKHIVfEJpDU8Ak2NJEvQ==", + "license": "MIT" + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/obj-multiplex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/obj-multiplex/-/obj-multiplex-1.0.0.tgz", + "integrity": "sha512-0GNJAOsHoBHeNTvl5Vt6IWnpUEcc3uSRxzBri7EDyIcMgYvnY2JL2qdeV5zTMjWQX5OHcD5amcW2HFfDh0gjIA==", + "license": "ISC", + "dependencies": { + "end-of-stream": "^1.4.0", + "once": "^1.4.0", + "readable-stream": "^2.3.3" + } + }, + "node_modules/obj-multiplex/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "license": "MIT" + }, + "node_modules/obj-multiplex/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/obj-multiplex/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT" + }, + "node_modules/obj-multiplex/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/ofetch": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/ofetch/-/ofetch-1.5.1.tgz", + "integrity": "sha512-2W4oUZlVaqAPAil6FUg/difl6YhqhUR7x2eZY4bQCko22UXg3hptq9KLQdqFClV+Wu85UX7hNtdGTngi/1BxcA==", + "license": "MIT", + "dependencies": { + "destr": "^2.0.5", + "node-fetch-native": "^1.6.7", + "ufo": "^1.6.1" + } + }, + "node_modules/on-exit-leak-free": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/on-exit-leak-free/-/on-exit-leak-free-0.2.0.tgz", + "integrity": "sha512-dqaz3u44QbRXQooZLTUKU41ZrzYrcvLISVgbrzbyCMxpmSLJvZ3ZamIJIZ29P6OhZIkNIQKosdeM6t1LYbA9hg==", + "license": "MIT" + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/openapi-fetch": { + "version": "0.13.8", + "resolved": "https://registry.npmjs.org/openapi-fetch/-/openapi-fetch-0.13.8.tgz", + "integrity": "sha512-yJ4QKRyNxE44baQ9mY5+r/kAzZ8yXMemtNAOFwOzRXJscdjSxxzWSNlyBAr+o5JjkUw9Lc3W7OIoca0cY3PYnQ==", + "license": "MIT", + "dependencies": { + "openapi-typescript-helpers": "^0.0.15" + } + }, + "node_modules/openapi-typescript-helpers": { + "version": "0.0.15", + "resolved": "https://registry.npmjs.org/openapi-typescript-helpers/-/openapi-typescript-helpers-0.0.15.tgz", + "integrity": "sha512-opyTPaunsklCBpTK8JGef6mfPhLSnyy5a0IN9vKtx3+4aExf+KxEqYwIy3hqkedXIB97u357uLMJsOnm3GVjsw==", + "license": "MIT" + }, + "node_modules/ox": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/ox/-/ox-0.14.0.tgz", + "integrity": "sha512-WLOB7IKnmI3Ol6RAqY7CJdZKl8QaI44LN91OGF1061YIeN6bL5IsFcdp7+oQShRyamE/8fW/CBRWhJAOzI35Dw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/wevm" + } + ], + "license": "MIT", + "dependencies": { + "@adraffy/ens-normalize": "^1.11.0", + "@noble/ciphers": "^1.3.0", + "@noble/curves": "1.9.1", + "@noble/hashes": "^1.8.0", + "@scure/bip32": "^1.7.0", + "@scure/bip39": "^1.6.0", + "abitype": "^1.2.3", + "eventemitter3": "5.0.1" + }, + "peerDependencies": { + "typescript": ">=5.4.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/pino": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/pino/-/pino-7.11.0.tgz", + "integrity": "sha512-dMACeu63HtRLmCG8VKdy4cShCPKaYDR4youZqoSWLxl5Gu99HUw8bw75thbPv9Nip+H+QYX8o3ZJbTdVZZ2TVg==", + "license": "MIT", + "dependencies": { + "atomic-sleep": "^1.0.0", + "fast-redact": "^3.0.0", + "on-exit-leak-free": "^0.2.0", + "pino-abstract-transport": "v0.5.0", + "pino-std-serializers": "^4.0.0", + "process-warning": "^1.0.0", + "quick-format-unescaped": "^4.0.3", + "real-require": "^0.1.0", + "safe-stable-stringify": "^2.1.0", + "sonic-boom": "^2.2.1", + "thread-stream": "^0.15.1" + }, + "bin": { + "pino": "bin.js" + } + }, + "node_modules/pino-abstract-transport": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/pino-abstract-transport/-/pino-abstract-transport-0.5.0.tgz", + "integrity": "sha512-+KAgmVeqXYbTtU2FScx1XS3kNyfZ5TrXY07V96QnUSFqo2gAqlvmaxH67Lj7SWazqsMabf+58ctdTcBgnOLUOQ==", + "license": "MIT", + "dependencies": { + "duplexify": "^4.1.2", + "split2": "^4.0.0" + } + }, + "node_modules/pino-std-serializers": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-4.0.0.tgz", + "integrity": "sha512-cK0pekc1Kjy5w9V2/n+8MkZwusa6EyyxfeQCB799CQRhRt/CqYKiWs5adeu8Shve2ZNffvfC/7J64A2PJo1W/Q==", + "license": "MIT" + }, + "node_modules/pngjs": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-5.0.0.tgz", + "integrity": "sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==", + "license": "MIT", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/pony-cause": { + "version": "2.1.11", + "resolved": "https://registry.npmjs.org/pony-cause/-/pony-cause-2.1.11.tgz", + "integrity": "sha512-M7LhCsdNbNgiLYiP4WjsfLUuFmCfnjdF6jKe2R9NKl4WFN+HZPGHJZ9lnLP7f9ZnKe3U9nuWD0szirmj+migUg==", + "license": "0BSD", + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/possible-typed-array-names": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", + "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/postcss": { + "version": "8.5.8", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.8.tgz", + "integrity": "sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/preact": { + "version": "10.24.2", + "resolved": "https://registry.npmjs.org/preact/-/preact-10.24.2.tgz", + "integrity": "sha512-1cSoF0aCC8uaARATfrlz4VCBqE8LwZwRfLgkxJOQwAlQt6ayTmi0D9OF7nXid1POI5SZidFuG9CnlXbDfLqY/Q==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/preact" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "license": "MIT" + }, + "node_modules/process-warning": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-1.0.0.tgz", + "integrity": "sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q==", + "license": "MIT" + }, + "node_modules/proxy-compare": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/proxy-compare/-/proxy-compare-2.6.0.tgz", + "integrity": "sha512-8xuCeM3l8yqdmbPoYeLbrAXCBWu19XEYc5/F28f5qOaoAIMyfmBUkl5axiK+x9olUvRlcekvnm98AP9RDngOIw==", + "license": "MIT" + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "license": "MIT" + }, + "node_modules/pump": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.4.tgz", + "integrity": "sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA==", + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/qr": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/qr/-/qr-0.5.4.tgz", + "integrity": "sha512-gjVMHOt7CX+BQd7JLQ9fnS4kJK4Lj4u+Conq52tcCbW7YH3mATTtBbTMA+7cQ1rKOkDo61olFHJReawe+XFxIA==", + "license": "(MIT OR Apache-2.0)", + "engines": { + "node": ">= 20.19.0" + } + }, + "node_modules/qrcode": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/qrcode/-/qrcode-1.5.3.tgz", + "integrity": "sha512-puyri6ApkEHYiVl4CFzo1tDkAZ+ATcnbJrJ6RiBM1Fhctdn/ix9MTE3hRph33omisEbC/2fcfemsseiKgBPKZg==", + "license": "MIT", + "dependencies": { + "dijkstrajs": "^1.0.1", + "encode-utf8": "^1.0.3", + "pngjs": "^5.0.0", + "yargs": "^15.3.1" + }, + "bin": { + "qrcode": "bin/qrcode" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/query-string": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-7.1.3.tgz", + "integrity": "sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg==", + "license": "MIT", + "dependencies": { + "decode-uri-component": "^0.2.2", + "filter-obj": "^1.1.0", + "split-on-first": "^1.0.0", + "strict-uri-encode": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/quick-format-unescaped": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz", + "integrity": "sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==", + "license": "MIT" + }, + "node_modules/radix3": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/radix3/-/radix3-1.1.2.tgz", + "integrity": "sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA==", + "license": "MIT" + }, + "node_modules/react": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", + "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.2" + }, + "peerDependencies": { + "react": "^18.3.1" + } + }, + "node_modules/react-remove-scroll": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.6.2.tgz", + "integrity": "sha512-KmONPx5fnlXYJQqC62Q+lwIeAk64ws/cUw6omIumRzMRPqgnYqhSSti99nbj0Ry13bv7dF+BKn7NB+OqkdZGTw==", + "license": "MIT", + "dependencies": { + "react-remove-scroll-bar": "^2.3.7", + "react-style-singleton": "^2.2.1", + "tslib": "^2.1.0", + "use-callback-ref": "^1.3.3", + "use-sidecar": "^1.1.2" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-remove-scroll-bar": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.8.tgz", + "integrity": "sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==", + "license": "MIT", + "dependencies": { + "react-style-singleton": "^2.2.2", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-style-singleton": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.3.tgz", + "integrity": "sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==", + "license": "MIT", + "dependencies": { + "get-nonce": "^1.0.0", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdirp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-5.0.0.tgz", + "integrity": "sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==", + "license": "MIT", + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/real-require": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/real-require/-/real-require-0.1.0.tgz", + "integrity": "sha512-r/H9MzAWtrv8aSVjPCMFpDMl5q66GqtmmRkRjpHTsp4zBAa+snZyiQNlMONiUmEJcsnaw0wCauJ2GWODr/aFkg==", + "license": "MIT", + "engines": { + "node": ">= 12.13.0" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "license": "ISC" + }, + "node_modules/rpc-websockets": { + "version": "9.3.5", + "resolved": "https://registry.npmjs.org/rpc-websockets/-/rpc-websockets-9.3.5.tgz", + "integrity": "sha512-4mAmr+AEhPYJ9TmDtxF3r3ZcbWy7W8kvZ4PoZYw/Xgp2J7WixjwTgiQZsoTDvch5nimmg3Ay6/0Kuh9oIvVs9A==", + "license": "LGPL-3.0-only", + "dependencies": { + "@swc/helpers": "^0.5.11", + "@types/uuid": "^10.0.0", + "@types/ws": "^8.2.2", + "buffer": "^6.0.3", + "eventemitter3": "^5.0.1", + "uuid": "^11.0.0", + "ws": "^8.5.0" + }, + "funding": { + "type": "paypal", + "url": "https://paypal.me/kozjak" + }, + "optionalDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^6.0.0" + } + }, + "node_modules/rpc-websockets/node_modules/@swc/helpers": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.19.tgz", + "integrity": "sha512-QamiFeIK3txNjgUTNppE6MiG3p7TdninpZu0E0PbqVh1a9FNLT2FRhisaa4NcaX52XVhA5l7Pk58Ft7Sqi/2sA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.8.0" + } + }, + "node_modules/rpc-websockets/node_modules/@types/ws": { + "version": "8.18.1", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.18.1.tgz", + "integrity": "sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/rpc-websockets/node_modules/utf-8-validate": { + "version": "6.0.6", + "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-6.0.6.tgz", + "integrity": "sha512-q3l3P9UtEEiAHcsgsqTgf9PPjctrDWoIXW3NpOHFdRDbLvu4DLIcxHangJ4RLrWkBcKjmcs/6NkerI8T/rE4LA==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "dependencies": { + "node-gyp-build": "^4.3.0" + }, + "engines": { + "node": ">=6.14.2" + } + }, + "node_modules/rpc-websockets/node_modules/uuid": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-11.1.0.tgz", + "integrity": "sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "license": "MIT", + "bin": { + "uuid": "dist/esm/bin/uuid" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/safe-regex-test": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", + "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-regex": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-stable-stringify": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.5.0.tgz", + "integrity": "sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/scheduler": { + "version": "0.23.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", + "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "license": "ISC" + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/sha.js": { + "version": "2.4.12", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.12.tgz", + "integrity": "sha512-8LzC5+bvI45BjpfXU8V5fdU2mfeKiQe1D1gIMn7XUlF3OTUrpdJpPPH4EMAnF0DsHHdSZqCdSss5qCmJKuiO3w==", + "license": "(MIT AND BSD-3-Clause)", + "dependencies": { + "inherits": "^2.0.4", + "safe-buffer": "^5.2.1", + "to-buffer": "^1.2.0" + }, + "bin": { + "sha.js": "bin.js" + }, + "engines": { + "node": ">= 0.10" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/socket.io-client": { + "version": "4.8.3", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.8.3.tgz", + "integrity": "sha512-uP0bpjWrjQmUt5DTHq9RuoCBdFJF10cdX9X+a368j/Ft0wmaVgxlrjvK3kjvgCODOMMOz9lcaRzxmso0bTWZ/g==", + "license": "MIT", + "dependencies": { + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.4.1", + "engine.io-client": "~6.6.1", + "socket.io-parser": "~4.2.4" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/socket.io-client/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/socket.io-client/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/socket.io-parser": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.5.tgz", + "integrity": "sha512-bPMmpy/5WWKHea5Y/jYAP6k74A+hvmRCQaJuJB6I/ML5JZq/KfNieUVo/3Mh7SAqn7TyFdIo6wqYHInG1MU1bQ==", + "license": "MIT", + "dependencies": { + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.4.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/socket.io-parser/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/socket.io-parser/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/sonic-boom": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-2.8.0.tgz", + "integrity": "sha512-kuonw1YOYYNOve5iHdSahXPOK49GqwA+LZhI6Wz/l0rP57iKyXXIHaRagOBHAPmGwJC6od2Z9zgvZ5loSgMlVg==", + "license": "MIT", + "dependencies": { + "atomic-sleep": "^1.0.0" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/split-on-first": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz", + "integrity": "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/split2": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", + "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", + "license": "ISC", + "engines": { + "node": ">= 10.x" + } + }, + "node_modules/stream-chain": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/stream-chain/-/stream-chain-2.2.5.tgz", + "integrity": "sha512-1TJmBx6aSWqZ4tx7aTpBDXK0/e2hhcNSTV8+CbFJtDjbb+I1mZ8lHit0Grw9GRT+6JbIrrDd8esncgBi8aBXGA==", + "license": "BSD-3-Clause" + }, + "node_modules/stream-json": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/stream-json/-/stream-json-1.9.1.tgz", + "integrity": "sha512-uWkjJ+2Nt/LO9Z/JyKZbMusL8Dkh97uUBTv3AJQ74y07lVahLY4eEFsPsE97pxYBwr8nnjMAIch5eqI0gPShyw==", + "license": "BSD-3-Clause", + "dependencies": { + "stream-chain": "^2.2.5" + } + }, + "node_modules/stream-shift": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.3.tgz", + "integrity": "sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==", + "license": "MIT" + }, + "node_modules/streamsearch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", + "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/strict-uri-encode": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", + "integrity": "sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/styled-jsx": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.1.tgz", + "integrity": "sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==", + "license": "MIT", + "dependencies": { + "client-only": "0.0.1" + }, + "engines": { + "node": ">= 12.0.0" + }, + "peerDependencies": { + "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "babel-plugin-macros": { + "optional": true + } + } + }, + "node_modules/superstruct": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/superstruct/-/superstruct-2.0.2.tgz", + "integrity": "sha512-uV+TFRZdXsqXTL2pRvujROjdZQ4RAlBUS5BTh9IGm+jTqQntYThciG/qu57Gs69yjnVUSqdxF9YLmSnpupBW9A==", + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tailwindcss": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.2.1.tgz", + "integrity": "sha512-/tBrSQ36vCleJkAOsy9kbNTgaxvGbyOamC30PRePTQe/o1MFwEKHQk4Cn7BNGaPtjp+PuUrByJehM1hgxfq4sw==", + "dev": true, + "license": "MIT" + }, + "node_modules/tapable": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz", + "integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/text-encoding-utf-8": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/text-encoding-utf-8/-/text-encoding-utf-8-1.0.2.tgz", + "integrity": "sha512-8bw4MY9WjdsD2aMtO0OzOCY3pXGYNx2d2FfHRVUKkiCPDWjKuOlhLVASS+pD7VkLTVjW268LYJHwsnPFlBpbAg==" + }, + "node_modules/thread-stream": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/thread-stream/-/thread-stream-0.15.2.tgz", + "integrity": "sha512-UkEhKIg2pD+fjkHQKyJO3yoIvAP3N6RlNFt2dUhcS1FGvCD1cQa1M/PGknCLFIyZdtJOWQjejp7bdNqmN7zwdA==", + "license": "MIT", + "dependencies": { + "real-require": "^0.1.0" + } + }, + "node_modules/to-buffer": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.2.2.tgz", + "integrity": "sha512-db0E3UJjcFhpDhAF4tLo03oli3pwl3dbnzXOUIlRKrp+ldk/VUxzpWYZENsw2SZiuBjHAk7DfB0VU7NKdpb6sw==", + "license": "MIT", + "dependencies": { + "isarray": "^2.0.5", + "safe-buffer": "^5.2.1", + "typed-array-buffer": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "license": "MIT" + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/typed-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", + "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typescript": { + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/ua-parser-js": { + "version": "1.0.41", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.41.tgz", + "integrity": "sha512-LbBDqdIC5s8iROCUjMbW1f5dJQTEFB1+KO9ogbvlb3nm9n4YHa5p4KTvFPWvh2Hs8gZMBuiB1/8+pdfe/tDPug==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/ua-parser-js" + }, + { + "type": "paypal", + "url": "https://paypal.me/faisalman" + }, + { + "type": "github", + "url": "https://github.com/sponsors/faisalman" + } + ], + "license": "MIT", + "bin": { + "ua-parser-js": "script/cli.js" + }, + "engines": { + "node": "*" + } + }, + "node_modules/ufo": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.6.3.tgz", + "integrity": "sha512-yDJTmhydvl5lJzBmy/hyOAA0d+aqCBuwl818haVdYCRrWV84o7YyeVm4QlVHStqNrrJSTb6jKuFAVqAFsr+K3Q==", + "license": "MIT" + }, + "node_modules/uint8arrays": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.1.0.tgz", + "integrity": "sha512-ei5rfKtoRO8OyOIor2Rz5fhzjThwIHJZ3uyDPnDHTXbP0aMQ1RN/6AI5B5d9dBxJOU+BvOAk7ZQ1xphsX8Lrog==", + "license": "MIT", + "dependencies": { + "multiformats": "^9.4.2" + } + }, + "node_modules/uncrypto": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/uncrypto/-/uncrypto-0.1.3.tgz", + "integrity": "sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==", + "license": "MIT" + }, + "node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "license": "MIT" + }, + "node_modules/use-callback-ref": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.3.tgz", + "integrity": "sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/use-sidecar": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.3.tgz", + "integrity": "sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ==", + "license": "MIT", + "dependencies": { + "detect-node-es": "^1.1.0", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/use-sync-external-store": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.4.0.tgz", + "integrity": "sha512-9WXSPC5fMv61vaupRkCKCxsPxBocVnwakBEkMIHHpkTTg6icbJtg6jzgtLDm4bl3cSHAca52rYWih0k4K3PfHw==", + "license": "MIT", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/utf-8-validate": { + "version": "5.0.10", + "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.10.tgz", + "integrity": "sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==", + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "node-gyp-build": "^4.3.0" + }, + "engines": { + "node": ">=6.14.2" + } + }, + "node_modules/util": { + "version": "0.12.5", + "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", + "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "is-arguments": "^1.0.4", + "is-generator-function": "^1.0.7", + "is-typed-array": "^1.1.3", + "which-typed-array": "^1.1.2" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "license": "MIT" + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/valtio": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/valtio/-/valtio-1.13.2.tgz", + "integrity": "sha512-Qik0o+DSy741TmkqmRfjq+0xpZBXi/Y6+fXZLn0xNF1z/waFMbE3rkivv5Zcf9RrMUp6zswf2J7sbh2KBlba5A==", + "license": "MIT", + "dependencies": { + "derive-valtio": "0.1.0", + "proxy-compare": "2.6.0", + "use-sync-external-store": "1.2.0" + }, + "engines": { + "node": ">=12.20.0" + }, + "peerDependencies": { + "@types/react": ">=16.8", + "react": ">=16.8" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "react": { + "optional": true + } + } + }, + "node_modules/valtio/node_modules/use-sync-external-store": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", + "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==", + "license": "MIT", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/viem": { + "version": "2.47.0", + "resolved": "https://registry.npmjs.org/viem/-/viem-2.47.0.tgz", + "integrity": "sha512-jU5e1E1s5E5M1y+YrELDnNar/34U8NXfVcRfxtVETigs2gS1vvW2ngnBoQUGBwLnNr0kNv+NUu4m10OqHByoFw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/wevm" + } + ], + "license": "MIT", + "dependencies": { + "@noble/curves": "1.9.1", + "@noble/hashes": "1.8.0", + "@scure/bip32": "1.7.0", + "@scure/bip39": "1.6.0", + "abitype": "1.2.3", + "isows": "1.0.7", + "ox": "0.14.0", + "ws": "8.18.3" + }, + "peerDependencies": { + "typescript": ">=5.0.4" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/wagmi": { + "version": "2.19.5", + "resolved": "https://registry.npmjs.org/wagmi/-/wagmi-2.19.5.tgz", + "integrity": "sha512-RQUfKMv6U+EcSNNGiPbdkDtJwtuFxZWLmvDiQmjjBgkuPulUwDJsKhi7gjynzJdsx2yDqhHCXkKsbbfbIsHfcQ==", + "license": "MIT", + "dependencies": { + "@wagmi/connectors": "6.2.0", + "@wagmi/core": "2.22.1", + "use-sync-external-store": "1.4.0" + }, + "funding": { + "url": "https://github.com/sponsors/wevm" + }, + "peerDependencies": { + "@tanstack/react-query": ">=5.0.0", + "react": ">=18", + "typescript": ">=5.0.4", + "viem": "2.x" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/webextension-polyfill": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/webextension-polyfill/-/webextension-polyfill-0.10.0.tgz", + "integrity": "sha512-c5s35LgVa5tFaHhrZDnr3FpQpjj1BB+RXhLTYUxGqBVN460HkbM8TBtEqdXWbpTKfzwCcjAZVF7zXCYSKtcp9g==", + "license": "MPL-2.0" + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "license": "BSD-2-Clause" + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "license": "MIT", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/which-module": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", + "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==", + "license": "ISC" + }, + "node_modules/which-typed-array": { + "version": "1.1.20", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.20.tgz", + "integrity": "sha512-LYfpUkmqwl0h9A2HL09Mms427Q1RZWuOHsukfVcKRq9q95iQxdw0ix1JQrqbcDR9PH1QDwf5Qo8OZb5lksZ8Xg==", + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "for-each": "^0.3.5", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "license": "ISC" + }, + "node_modules/ws": { + "version": "8.18.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz", + "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xmlhttprequest-ssl": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.1.2.tgz", + "integrity": "sha512-TEU+nJVUUnA4CYJFLvK5X9AOeH4KvDvhIfm0vV1GaQRtchnG0hgK5p8hw/xjv8cunWYCsiPCSDzObPyhEwq3KQ==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "license": "MIT", + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "license": "ISC" + }, + "node_modules/yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "license": "MIT", + "dependencies": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "license": "ISC", + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/zod": { + "version": "3.25.76", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", + "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "node_modules/zustand": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/zustand/-/zustand-5.0.3.tgz", + "integrity": "sha512-14fwWQtU3pH4dE0dOpdMiWjddcH+QzKIgk1cl8epwSE7yag43k/AD/m4L6+K7DytAOr9gGBe3/EXj9g7cdostg==", + "license": "MIT", + "engines": { + "node": ">=12.20.0" + }, + "peerDependencies": { + "@types/react": ">=18.0.0", + "immer": ">=9.0.6", + "react": ">=18.0.0", + "use-sync-external-store": ">=1.2.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "immer": { + "optional": true + }, + "react": { + "optional": true + }, + "use-sync-external-store": { + "optional": true + } + } + } + } +} diff --git a/week-04/dev/my-dapp/package.json b/week-04/dev/my-dapp/package.json new file mode 100644 index 0000000..eb4df71 --- /dev/null +++ b/week-04/dev/my-dapp/package.json @@ -0,0 +1,29 @@ +{ + "name": "bay-dapp-template", + "version": "0.1.0", + "private": true, + "scripts": { + "dev": "next dev", + "build": "next build", + "start": "next start", + "lint": "next lint" + }, + "dependencies": { + "@rainbow-me/rainbowkit": "^2.0.0", + "@tanstack/react-query": "^5.0.0", + "next": "^14.0.0", + "react": "^18.0.0", + "react-dom": "^18.0.0", + "viem": "^2.0.0", + "wagmi": "^2.0.0" + }, + "devDependencies": { + "@tailwindcss/postcss": "^4.2.1", + "@types/node": "^20.0.0", + "@types/react": "^18.0.0", + "@types/react-dom": "^18.0.0", + "postcss": "^8.5.8", + "tailwindcss": "^4.2.1", + "typescript": "^5.0.0" + } +} diff --git a/week-04/dev/my-dapp/postcss.config.mjs b/week-04/dev/my-dapp/postcss.config.mjs new file mode 100644 index 0000000..61e3684 --- /dev/null +++ b/week-04/dev/my-dapp/postcss.config.mjs @@ -0,0 +1,7 @@ +const config = { + plugins: { + "@tailwindcss/postcss": {}, + }, +}; + +export default config; diff --git a/week-04/dev/my-dapp/public/chick.png b/week-04/dev/my-dapp/public/chick.png new file mode 100755 index 0000000000000000000000000000000000000000..20cbcf06d160560432154f184e53a4e551b7567d GIT binary patch literal 83567 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%0D$rS<+AxEFk?v7zzy8*jMD{-rN|3A4|c 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 m|CUmbK>z>%21!IgR09BJ{Wz;bsO6~u0000 **제출 방법:** 이 파일을 복사하여 답변을 작성한 후, PR로 제출하세요. +> **평가 기준:** 개념 이해도 중심 - 문법 오류보다 논리적 설명을 중시합니다. + +--- + +## 문제 1: 블록 헤더 필드 (객관식) + +다음 상황을 고려하세요: + +``` +블록 100의 해시: 0xabc123... +블록 101의 해시: 0xdef456... +``` + +블록 101의 `parentHash` 필드에는 어떤 값이 저장되어 있나요? 그리고 **왜** 이런 방식으로 연결하나요? + +**보기:** +A) 0xdef456... - 자기 자신의 해시를 저장하여 무결성을 보장한다 +B) 0xabc123... - 이전 블록의 해시를 저장하여 체인 연결과 불변성을 보장한다 +C) 블록 번호 100 - 숫자로 순서를 추적한다 +D) 빈 값 - 헤더에는 해시가 저장되지 않는다 + +**답변:** +정답:B + +블록 101의 parenthash는 바로 이전 블록의 해시를 저장하는 칸이고, 그렇게 해야 블록들이 서로 연결돼서 중간 블록이 바뀌었을때 위조를 쉽게 발견할 수 있습니다. +A처럼 자기 해시를 넣으면 블록들이 연결이 안되고 +C로 번호만 넣으면 내용이 위조됐는지 검증할 수 없고, 필드 안에는 실제로 값이 저장되기 때문에 해시가 저장되지 않는다는 D의 말은 틀렸습니다. + +--- + +## 문제 2: MPT 목적 (객관식) + +이더리움에서 Merkle Patricia Trie(MPT)를 사용하는 **가장 중요한 이유**는 무엇인가요? + +**보기:** +A) 데이터를 암호화하여 외부에서 읽을 수 없게 한다 +B) 트랜잭션 처리 속도를 10배 이상 높인다 +C) 전체 데이터 없이도 특정 데이터의 존재와 정확성을 효율적으로 증명한다 +D) 블록 크기를 줄여서 저장 공간을 절약한다 + +**답변:** +정답:C + +MPT는 이더리움이 데이터를 저장하고, 데이터가 맞는지 증명하는 트리구조입니다. 데이터 하나가 바뀌면 경로 해시들이 연쇄적으로 바뀌고 루트도 바뀌는데 루트 해시만 알아도 이 값이 진짜 포함됐는지 검증 가능하기때문에 전체 데이터 없이 경로 노드들만으로 확인이 가능하기때문에 사용합니다 + +--- + +## 문제 3: 체인 연결과 보안 (객관식) + +공격자가 블록 50의 트랜잭션을 수정하려고 합니다. 현재 체인의 최신 블록은 100입니다. 이 공격이 **왜** 어려운가요? + +**보기:** +A) 블록 50은 너무 오래되어서 시스템에서 접근할 수 없다 +B) 블록 50을 수정하면 해시가 바뀌고, 블록 51부터 100까지 모든 블록의 parentHash가 불일치하게 된다 +C) 블록 50은 이미 암호화되어 있어서 복호화 키가 필요하다 +D) 네트워크 관리자만 과거 블록을 수정할 수 있다 + +**답변:** +정답:B + +블록 50이 수정되면 블록 51의 parenthash랑 안맞게 되어 이 불일치가 52부터 100까지 연쇄적으로 퍼져서 연결이 깨지게 됩니다. 그래서 공격자는 51부터 100까지 전부 다시 계산해서 만들고, 네트워크 합의까지 가져와야 해서 현실적으로 공격이 어려운것 같습니다 + + +--- + +## 문제 4: MPT 진화 과정 (단답형) + +MPT(Merkle Patricia Trie)는 세 가지 자료구조의 장점을 결합한 것입니다: +1. **Trie** -> 2. **Patricia Trie** -> 3. **Merkle Patricia Trie** + +**왜** 각 단계의 발전이 필요했나요? 각 단계가 해결하는 문제를 간단히 설명하세요. + +**답변:** + +1. Trie가 해결하는 문제: + + 기존 key-value저장은 값은 저장이 되지만 구조적으로 경로가 명확하지 않거나 증명하기 어려운 문제가 있었습니다. Trie는 키를 글자단위로 쪼개서 트리 경로로 저장하기 때문에 조회 경로가 일정하고, prefix 기반 구조가 명확해서 특정키를 일관된 방식으로 찾을 수 있습니다 + +2. Patricia Trie가 해결하는 문제 (Trie의 한계): + Trie는 여전히 키가 많고 길면 중간 노드가 엄청 많아진다는 한계가 있었습니다. Patricia 는 단일 자식으로 길게 이어진 경로를 압축해 불필요한 노드를 줄여서 트리를 더 작게 만들어서 이러한 문제를 해결하였습니다 + +3. Merkle Patricia Trie가 해결하는 문제 (Patricia Trie의 한계): + + Patricia Trie는 여전히 이 값이 진짜로 상태에 포함되는지 암호학적으로 강하게 증명하는 기능이 부족했습니다. 즉, 효율은 좋아졌지만 신뢰 검증이 약한데, 여기에 Merkle 아이디어를 붙여서 각 노드를 해시하고, 최상단 루트해시로 전체 상태를 대표하게 함으로써 이 문제를 해결하였습니다. + + - 데이터가 하나만 바뀌어도 해당 경로 해시와 루트 해시가 바뀌기 때문에 위변조 탐지가 용이하고, + - 전체 데이터베이스를 다 가져오지 않고도 경로노드만 받아서 검증할 수 있습니다 + + + + +--- + +## 문제 5: Eclipse Attack 방어 (단답형) + +Eclipse Attack은 공격자가 피해자 노드의 **모든 피어 연결**을 자신이 통제하는 노드로 바꾸는 공격입니다. + +1) 이 공격이 성공하면 피해자에게 **어떤 피해**가 발생할 수 있나요? +2) 개인 노드 운영자가 이 공격을 **방어**하기 위해 할 수 있는 행동은 무엇인가요? + +**답변:** + +1) 가능한 피해 (2가지 이상): + + 공격자가 피해자 노드의 피어를 전부 장악하면 피해자 노드는 공격자가 보여주는 데이터만 보게됩니다. 그래서 + 1. 잘못된 블록 번호, 헤더등 공격자가 왜곡한 체인 상태를 믿게 되고 + 2. 피해자가 보낸 트랜잭션을 피어한테 전달해서 네트워크 전체로 퍼뜨려야 하는데 악성 피어가 둘러싸고 있으면 검열을 당하거나 전파가 느려질 수 있습니다. + +2) 방어 방법 (2가지 이상): + 1. 같은 ip 대역, 같은 ASN 피어에 몰리지 않게 분산시키고, 지역과 네트워크가 다른 피어들과 연결시킵니다 + 2. 신뢰 가능한 고정 피어를 직접 고정 연결해서 완전히 고립되는 상황을 피합니다 + 3. 클라이언트 버젼을 최신으로 유지해서 개선된 로직을 바로바로 반영할 수 있게합니다 + + + + +--- + +## 문제 6: 노드 종류 선택 (단답형) + +친구가 이더리움 개발을 시작하려고 합니다. 다음 세 가지 상황에서 각각 어떤 노드 타입(Full, Light, Archive)을 추천하시겠습니까? **왜** 그 노드를 추천하는지도 설명하세요. + +1) 모바일 지갑 앱 개발 +2) 블록체인 데이터 분석 서비스 개발 +3) 일반적인 dApp 백엔드 개발 + +**답변:** + +1) 모바일 지갑 앱: + 추천 노드:Light node + 이유: 모바일은 저장공간, 배터리, 네트워크 제약이 커서 전체 체인을 다 들고있는 나머지 타입보다 전체 데이터를 저장하지 않고 필요한 정보만 받아서 검증하는 라이트노드가 적합합ㄴ다 + +2) 블록체인 데이터 분석: + 추천 노드:Archive Node + 이유: 과거의 모든 상태 히스토리를 조회해야 하므로 아카이브 노드가 필요하다고 생각합니다 + +3) dApp 백엔드: + 추천 노드:Full + 이유: full노드는 록/트랜잭션을 검증하고 현재 상태를 유지하는 역할을 하는데, 운영 비용도 합리적이기 때문에 최신 상태를 조회하고 트랜잭션을 처리하는 디앱서버에 적합하다고 생각하였습니다 + + + +--- + +## 문제 7: useAccount Hook (빈칸 채우기) + +다음 코드의 빈칸을 채워서 지갑 연결 상태를 표시하는 컴포넌트를 완성하세요: + +```typescript +import { _________________ } from 'wagmi'; + +function WalletStatus() { + // TODO: useAccount hook에서 필요한 값들을 가져오세요 + const { _________________, _________________ } = useAccount(); + + if (!isConnected) { + return
지갑이 연결되지 않았습니다
; + } + + return ( +
+

연결된 주소: {address}

+
+ ); +} +``` + +**답변:** +```typescript +import { useAccount } from 'wagmi';// wagmi 라이브러리에서 useAccount 가져오기 + +//WalletStatus라는 화면 컴포넌트 만들기 +function WalletStatus() { + //useAccount() 실행해서 지갑 정보 받기 그중 address, isConnected만 꺼내 변수로 저장함 + const { address, isConnected } = useAccount(); + + if (!isConnected) { + return
지갑이 연결되지 않았습니다
; + } + + return ( +
+

연결된 주소: {address}

+
+ ); +} + + +``` + +**왜 이렇게 작성했나요:** + +useAccount는 지갑의 현재 상태를 물어보는 함수이고 +const { address, isConnected } = useAccount(); +여기서 isConnected는 지갑이 연결됐는지 여부를 보여주는 조건문이고, address는 연결된 지갑의 주소값을 저장하고 있어서 연결된 경우 사용자에게 현재 주소를 보여줍니다. +--- + +## 문제 8: useReadContract Hook (빈칸 채우기) + +다음 코드의 빈칸을 채워서 컨트랙트의 `getCount` 함수 결과를 화면에 표시하세요: + +```typescript +import { useReadContract } from 'wagmi'; + +const counterABI = [ + { + name: 'getCount', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ name: 'count', type: 'uint256' }], + }, +] as const; + +function CountDisplay() { + const { data, isLoading, error } = useReadContract({ + // TODO: 필요한 설정을 채우세요 + address: '0x1234...5678', + _________________, + _________________, + }); + + if (isLoading) return
로딩 중...
; + if (error) return
에러 발생
; + + return
현재 카운트: {_________________}
; +} +``` + +**답변:** +```typescript +import { useReadContract } from 'wagmi'; + +const counterABI = [ + { + name: 'getCount', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ name: 'count', type: 'uint256' }], + }, +] as const; + +function CountDisplay() { + + const { data, isLoading, error } = + useReadContract({ + address: '0x1234...5678', + abi: counterABI, + functionName: 'getCount', + }); + + if (isLoading) return
로딩 중...
; + if (error) return
에러 발생
; + + return
현재 카운트: {data?.toString() ?? '0'}
; +} + + +``` + +**왜 이렇게 작성했나요:** + +코드는 컨트랙트의 getCount()값을 읽어서 화면에 보여주는 역할을 합니다 useReadContract를 사용하려면 +- adderss: 어떤 컨트랙트를 읽을지 +- abi: 그 컨트랙트 함수의 설명서( 함수 이름/ 입출력 타입) +- functionName: 설명서중 어떤 함수를 호출할지 +를 정확히 설정해야 하고, + +`data?.toString() ?? '0'` +여기서는 +- data: 컨트랙트에서 읽어온 값 +- toString(): 숫자를 화면에 보여주기 쉬운 문자열로 바꾸는 함수이고, bigint는 JS 의 일반 숫자랑 타입이 달라서 UI에서 오류가 나기 쉽기때문에 문자열로 바꿔서 화면에 출력해야합니다 + +--- + +## 문제 9: useWriteContract 버그 (취약점 찾기) + +다음 코드에서 **문제점**을 찾고 수정하세요: + +```typescript +// BAD CODE - 문제점 찾기 +import { useWriteContract } from 'wagmi'; + +function IncrementButton() { + const { writeContract, isPending } = useWriteContract(); + + const handleClick = () => { + // 문제가 있는 코드 + writeContract({ + address: '0x1234...5678', + functionName: 'increment', + // abi가 없음! + }); + }; + + return ( + + ); +} +``` + +**1) 발견한 문제점:** +writeContract 호출에 abi가 빠져있습니다 + + +**2) 왜 이것이 문제인가:** +abi 가 없으면 wagmi, viem이 increment()를 어떤 형식으로 EVM에 보내야될지 몰라서 호출에 실패하게 됩니다. 그래서 문자열을 바이트 데이터로 바꾸기 위해서는 함수이름, 파라미터 개수와 타입, 반환타입을 포함한 ABI가 꼭 필요합니다 + + +**3) 올바른 수정 방법:** +```typescript + +import { useWriteContract } from 'wagmi'; + +const counterABI = [ + { + name: 'increment', + type: 'function', + stateMutability: 'nonpayable', + inputs: [], + outputs: [], + }, +] as const; + +function IncrementButton() { + const { writeContract, isPending } = useWriteContract(); + + const handleClick = () => { + writeContract({ + address: '0x1234...5678', + abi: counterABI, + functionName: 'increment', + }); + }; + + return ( + + ); +} +``` +--- + +## 문제 10: 블록 연결 구조 (다이어그램 해석) + +다음 다이어그램은 블록체인의 연결 구조를 보여줍니다: + +```mermaid +graph LR + subgraph B0["제네시스 블록"] + H0["hash: 0xabc..."] + end + subgraph B1["블록 1"] + PH1["parent: 0xabc..."] + H1["hash: 0xdef..."] + end + subgraph B2["블록 2"] + PH2["parent: 0xdef..."] + H2["hash: 0x123..."] + end + subgraph B3["블록 3"] + PH3["parent: ???"] + H3["hash: 0x789..."] + end + + B0 --> B1 --> B2 --> B3 +``` + +**질문:** + +1) 블록 3의 `parent: ???` 에 들어갈 값은 무엇인가요? + : 블록 2의 해시값은 0x123... 이 들어가야합니다 + +2) 만약 블록 1의 내용이 수정되면, 블록 2와 블록 3에 **어떤 영향**이 있나요? 왜 그런가요? + : 블록 1이 수정되면 블록 1의 해시가 바뀌고, 블록 2의 parentHash가 불일치하게됩니다 그래서 블록 2의 해시도 다시 바뀌고, 그 영향이 블록3까지 다시 연쇄 전파됩니다 + + +3) 제네시스 블록(블록 0)의 parentHash는 어떤 특별한 값을 가지나요? 왜 그런가요? + : 제네시스블록의 parentHash는 보통 0x0000...의 제로해시를 가지는데, 첫 블록이라 부모 블록이 없기 때문입니다 + + +--- + +## 문제 11: MPT 트리 구조 (다이어그램 해석) + +다음 다이어그램은 MPT의 노드 구조를 보여줍니다: + +```mermaid +graph TD + ROOT["Root Hash: 0xfff..."] --> EXT1["Extension Node
path: 0a"] + ROOT --> EXT2["Extension Node
path: 0b"] + + EXT1 --> BRANCH["Branch Node
(16개 슬롯)"] + BRANCH --> LEAF1["Leaf: 계정 A
주소: 0a1234..."] + BRANCH --> LEAF2["Leaf: 계정 B
주소: 0a5678..."] + + EXT2 --> LEAF3["Leaf: 계정 C
주소: 0b9999..."] +``` + +**질문:** + +1) 계정 A와 계정 B가 같은 Branch Node 아래에 있는 이유는 무엇인가요? (주소 패턴을 힌트로 사용하세요) + :계정 A와 B가 같은 브랜치 노드 아래인 이유는 공통 prefix 0a를 공유해서, 그 지점까지는 같은 경로를 타고 내려오다가 이후 자리에서 갈라지기 때문입니다. + + +2) Extension Node가 하는 역할은 무엇인가요? 없다면 어떤 문제가 생기나요? + : extension node는 공통 경로를 압축해서 노드의 수를 줄여서 트리를 효율적으로 만드는 역할을 합니다. 만약 extension 노드가 없으면 중간 노드가 많아져서 저장과 조회, 증명의 경로가 비효율적이게 됩니다. + + +3) Root Hash만 알면 어떻게 특정 계정의 데이터 존재를 **증명**할 수 있나요? (Light Client 관점에서) + : 해당 계정까지의 경로 노드를 받아서 각 노드 해시를 다시 계산해 올라가서 최종값이 루트해시랑 같으면 그 데이터의 존재와 정확성이 증명됩니다 + + +--- + +## 제출 전 체크리스트 + +- [x] 모든 문제에 답변을 작성했는가? +- [x] 객관식 문제: 정답 선택 **이유**를 설명했는가? +- [x] 단답형 문제: 2-3문장 이상으로 충분히 설명했는가? +- [x] 코드 문제: 완성된 코드와 **왜 그렇게 작성했는지** 설명했는가? +- [x] 다이어그램 문제: 각 질문에 논리적으로 답변했는가? From 4666d74f70a5d42782341e95e42b029d280cc7e7 Mon Sep 17 00:00:00 2001 From: summersurf0452 Date: Sun, 8 Mar 2026 20:26:48 +0900 Subject: [PATCH 2/2] =?UTF-8?q?fix(week-04):=20=ED=8A=B8=EB=9E=9C=EC=9E=AD?= =?UTF-8?q?=EC=85=98=20=EC=99=84=EB=A3=8C=20=EC=83=81=ED=83=9C=20=EA=B0=90?= =?UTF-8?q?=EC=A7=80=20=EB=B0=8F=20=EC=97=90=EB=9F=AC=20=ED=91=9C=EC=8B=9C?= =?UTF-8?q?=20=EA=B0=9C=EC=84=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - isSuccess 대신 receipt 데이터로 트랜잭션 확정 감지 - writeError/receiptError 에러 메시지 UI 추가 --- .../dev/my-dapp/components/AddLiquidity.tsx | 45 +++++++++++++--- week-04/dev/my-dapp/components/Swap.tsx | 53 ++++++++++++++----- 2 files changed, 79 insertions(+), 19 deletions(-) diff --git a/week-04/dev/my-dapp/components/AddLiquidity.tsx b/week-04/dev/my-dapp/components/AddLiquidity.tsx index b6ed92b..fbe92dd 100644 --- a/week-04/dev/my-dapp/components/AddLiquidity.tsx +++ b/week-04/dev/my-dapp/components/AddLiquidity.tsx @@ -31,20 +31,37 @@ export function AddLiquidity() { const [amount, setAmount] = useState('1000'); const [step, setStep] = useState('approve0'); - const { writeContract, data: hash, isPending, reset } = useWriteContract(); - const { isSuccess } = useWaitForTransactionReceipt({ hash }); + const { + writeContract, + data: hash, + isPending, + error: writeError, + reset, + } = useWriteContract(); + + const { + data: receipt, + isLoading: isConfirming, + error: receiptError, + } = useWaitForTransactionReceipt({ hash }); + + const [mintHash, setMintHash] = useState<`0x${string}` | undefined>(); useEffect(() => { - if (isSuccess) { + if (receipt && hash) { if (step === 'approve0') { reset(); setStep('approve1'); } else if (step === 'approve1') { reset(); setStep('mint'); + } else if (step === 'mint') { + setMintHash(hash); } } - }, [isSuccess, step, reset]); + }, [receipt, hash, step, reset]); + + const error = writeError || receiptError; const handleClick = () => { if (step === 'approve0') { @@ -118,12 +135,28 @@ export function AddLiquidity() {

{info.desc}

+ + {error && ( +
+

오류 발생

+

+ {(error as Error).message?.slice(0, 200)} +

+
+ )} + + {mintHash && ( +
+

유동성 공급 완료

+

TX: {mintHash}

+
+ )}
); } diff --git a/week-04/dev/my-dapp/components/Swap.tsx b/week-04/dev/my-dapp/components/Swap.tsx index bac9fd6..da8c766 100644 --- a/week-04/dev/my-dapp/components/Swap.tsx +++ b/week-04/dev/my-dapp/components/Swap.tsx @@ -44,16 +44,32 @@ export function Swap() { const [tokenOut, setTokenOut] = useState(CONTRACTS.STAR_TOKEN); const [amountIn, setAmountIn] = useState('100'); const [step, setStep] = useState('approve'); - - const { writeContract, data: hash, isPending, reset } = useWriteContract(); - const { isSuccess } = useWaitForTransactionReceipt({ hash }); + const [swapHash, setSwapHash] = useState<`0x${string}` | undefined>(); + + const { + writeContract, + data: hash, + isPending, + error: writeError, + reset, + } = useWriteContract(); + + const { + data: receipt, + isLoading: isConfirming, + error: receiptError, + } = useWaitForTransactionReceipt({ hash }); useEffect(() => { - if (isSuccess && step === 'approve') { - reset(); - setStep('swap'); + if (receipt && hash) { + if (step === 'approve') { + reset(); + setStep('swap'); + } else if (step === 'swap') { + setSwapHash(hash); + } } - }, [isSuccess, step, reset]); + }, [receipt, hash, step, reset]); const handleApprove = () => { writeContract({ @@ -83,6 +99,8 @@ export function Swap() { }); }; + const error = writeError || receiptError; + return (

스왑

@@ -117,28 +135,37 @@ export function Swap() { {step === 'approve' ? ( ) : ( )}

{step === 'approve' ? '토큰 사용 승인 필요' : '토큰 교환 실행'}

- {isSuccess && step === 'swap' && ( + {error && ( +
+

오류 발생

+

+ {(error as Error).message?.slice(0, 200)} +

+
+ )} + + {swapHash && (

스왑 완료

-

TX: {hash}

+

TX: {swapHash}

)}