diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 788f9d0bb..ea1936b12 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -188,6 +188,17 @@ echo/
- **Echo TS SDK** (`packages/sdk/ts`): Foundation for all framework-specific SDKs
- **Echo React SDK** (`packages/sdk/react`): React hooks and components
- **Echo Next SDK** (`packages/sdk/next`): Next.js App Router integration
+- **Echo CLI** (`templates/echo-cli`): Command-line AI agent with authentication options
+
+### Authentication Methods in Echo
+
+Echo supports multiple authentication and payment methods:
+
+1. **Echo API Keys**: Managed accounts with centralized billing
+2. **WalletConnect**: Connect mobile wallets for decentralized payments
+3. **Local Wallet (Self-Custody)**: Generate and manage private keys locally for full custody
+
+All methods integrate with the X402 payment protocol for USDC-based AI payments.
## Coding Standards
@@ -197,6 +208,9 @@ echo/
- Prefer explicit types over `any`
- Use interfaces for public APIs, types for internal structures
- Enable strict mode in `tsconfig.json`
+- Import from correct module paths:
+ - `privateKeyToAccount` from `viem/accounts`, not `viem`
+ - Use relative paths or absolute imports with `@` alias
### Imports
@@ -308,21 +322,30 @@ The scope indicates which package is affected:
- `react-sdk`: React SDK
- `next-sdk`: Next.js SDK
- `ts-sdk`: TypeScript SDK
+- `cli`: Echo CLI template
- `templates`: Starter templates
- `docs`: Documentation
+When working on the Echo CLI or templates, use `cli` or `templates` scope.
+
### Examples
```bash
feat(react-sdk): add support for streaming responses
+feat(cli): add local wallet self-custody authentication
+
fix(server): correct token counting for Claude models
docs(templates): add environment setup guide for next-chat
+docs(cli): update readme with local wallet instructions
+
refactor(control): simplify balance calculation logic
test(ts-sdk): add integration tests for provider initialization
+
+test(cli): add tests for wallet generation and signing
```
## Pull Request Process
diff --git a/README.md b/README.md
index bba3874ae..54d3f0c7b 100644
--- a/README.md
+++ b/README.md
@@ -111,11 +111,14 @@ Available templates:
- **[next](./templates/next)** - Next.js application with Echo
- **[react](./templates/react)** - Vite React application with Echo
-- **[nextjsChatbot](./templates/nextjs-chatbot)** - Next.js with Echo and Vercel AI SDK
-- **[assistantUi](./templates/assistant-ui)** - Next.js with Echo and Assistant UI
+- **[next-chat](./templates/next-chat)** - Next.js chatbot with Echo and Vercel AI SDK
+- **[assistant-ui](./templates/assistant-ui)** - Next.js with Echo and Assistant UI
+- **[echo-cli](./templates/echo-cli)** - CLI tool for AI chat with Echo (API keys + crypto wallets)
Or run `npx echo-start my-app` to choose interactively.
+**Note:** The CLI template (`echo-cli`) requires manual installation from the repository as it's a command-line tool rather than a web application. See the [templates README](./templates/README.md) for details.
+
# Development
Fill out `packages/app/control/.env` and `packages/app/server/.env`. Then...
diff --git a/packages/app/control/docs/getting-started/templates.mdx b/packages/app/control/docs/getting-started/templates.mdx
index ac0be7640..34e7fcb60 100644
--- a/packages/app/control/docs/getting-started/templates.mdx
+++ b/packages/app/control/docs/getting-started/templates.mdx
@@ -416,4 +416,84 @@ Next.js application demonstrating Echo as an Auth.js provider for authentication
-
\ No newline at end of file
+
+
+## Echo CLI (Echodex)
+
+A command-line interface for AI chat powered by Echo with support for both API key and crypto wallet payments via the X402 protocol.
+
+[View on GitHub](https://github.com/Merit-Systems/echo/tree/master/templates/echo-cli)
+
+
+ **Note:** Unlike web-based templates, the CLI tool requires manual installation from the repository as it's not available through `echo-start`.
+
+
+### Features
+
+- **Dual Authentication**: Echo API keys or WalletConnect for flexible payment options
+- **Multi-Model Support**: GPT-4o, GPT-5, GPT-5 Mini, GPT-5 Nano
+- **X402 Protocol**: Pay-per-use with crypto wallets
+- **Conversation Management**: Resume and export chat history
+- **Secure Storage**: OS keychain integration
+- **Real-time Usage Tracking**: View balance and costs
+
+
+
+ ### Create an Echo App
+ Go to [echo.merit.systems/new](https://echo.merit.systems/new) to get an `app_id`.
+
+
+
+ ### Clone and Install
+ The CLI template is available in the Echo repository:
+
+ ```sh lineNumbers
+ git clone https://github.com/Merit-Systems/echo.git
+ cd echo/templates/echo-cli
+ pnpm install
+ pnpm build
+ ```
+
+
+
+ ### Authenticate
+ Start by logging in to Echo:
+
+ ```sh lineNumbers
+ echodex login
+ ```
+
+ Choose between:
+ - **Echo API Key**: Opens your browser to create an API key
+ - **WalletConnect**: Displays a QR code for mobile wallet authentication
+
+
+
+ ### Start Chatting
+ Once authenticated, start a chat session:
+
+ ```sh lineNumbers
+ echodex
+ ```
+
+ Or use other commands:
+ ```sh lineNumbers
+ echodex model # Select AI model
+ echodex resume # Resume last conversation
+ echodex history # View conversation history
+ echodex export # Export as JSON
+ echodex profile # View profile and balance
+ ```
+
+
+
+### Global Installation (Optional)
+
+To use `echodex` globally on your system:
+
+```sh lineNumbers
+cd echo/templates/echo-cli
+pnpm link --global
+```
+
+For more details, see the [CLI template README](https://github.com/Merit-Systems/echo/tree/master/templates/echo-cli#readme).
\ No newline at end of file
diff --git a/packages/app/control/docs/index.mdx b/packages/app/control/docs/index.mdx
index 8290b9240..6ff8b50c9 100644
--- a/packages/app/control/docs/index.mdx
+++ b/packages/app/control/docs/index.mdx
@@ -129,6 +129,7 @@ We provide a variety of ready-to-use templates to help you get started quickly w
- **Auth.js (NextAuth)** — Next.js app with Echo as an Auth.js provider
- **React Chat** — Chat interface for React apps
- **React Image** — Image generation for React apps
+- **CLI** — Command-line tool for AI chat with Echo (API keys + crypto wallets)
All templates are available through `echo-start` or in the [GitHub repository](https://github.com/Merit-Systems/echo/tree/master/templates). Visit our [templates documentation](/docs/getting-started/templates) for detailed setup instructions.
diff --git a/templates/README.md b/templates/README.md
index 056f7b8e9..d95c84c8e 100644
--- a/templates/README.md
+++ b/templates/README.md
@@ -67,6 +67,46 @@ npx echo-start@latest --template assistant-ui
---
+### CLI Templates
+
+#### Echo CLI (`echo-cli`)
+
+A command-line interface for AI chat powered by Echo with support for both API key and crypto wallet payments.
+
+**Note:** This template is different from web-based templates. Install it directly from the repository:
+
+```bash
+git clone https://github.com/Merit-Systems/echo.git
+cd echo/templates/echo-cli
+pnpm install
+pnpm build
+```
+
+**Features:**
+
+- Dual authentication: Echo API keys or WalletConnect
+- Multi-model support (GPT-4o, GPT-5, etc.)
+- X402 protocol for crypto payments
+- Conversation history and resume
+- Secure OS keychain credential storage
+- Export conversations as JSON
+- Profile and usage management
+
+**Usage:**
+
+```bash
+echodex login # Authenticate
+echodex # Start chat
+echodex model # Select AI model
+echodex resume # Resume conversation
+echodex history # View history
+echodex export # Export as JSON
+echodex profile # View profile
+echodex logout # Sign out
+```
+
+---
+
### Feature-Specific Templates
#### Next.js Chat (`next-chat`)
diff --git a/templates/echo-cli/.gitignore b/templates/echo-cli/.gitignore
new file mode 100644
index 000000000..0895cb2af
--- /dev/null
+++ b/templates/echo-cli/.gitignore
@@ -0,0 +1,4 @@
+node_modules
+dist
+.env*
+.pnpm-store
\ No newline at end of file
diff --git a/templates/echo-cli/README.md b/templates/echo-cli/README.md
new file mode 100644
index 000000000..49f36cce0
--- /dev/null
+++ b/templates/echo-cli/README.md
@@ -0,0 +1,322 @@
+# Echodex
+
+A command-line interface for AI chat powered by [Echo](https://echo.merit.systems) with support for API keys, WalletConnect, and self-custodied local wallets.
+
+## Features
+
+- **Triple Authentication Options**:
+ - Echo API keys for managed accounts
+ - WalletConnect for mobile wallet integration
+ - Local Wallet for full self-custody (NEW!)
+- **Multi-Model Support**: GPT-4o, GPT-5, GPT-5 Mini, GPT-5 Nano
+- **X402 Protocol**: Pay-per-use with crypto wallets via the X402 payment protocol
+- **Conversation Management**: Resume previous conversations and export chat history
+- **Secure Storage**: OS keychain integration for credential and private key storage
+- **Real-time Balance Tracking**: Check USDC balance and usage in real-time
+- **Multi-Chain Support**: Base, Ethereum, Optimism, Polygon, Arbitrum
+
+## Prerequisites
+
+- Node.js 18.0.0 or higher
+- pnpm 10.0.0 or higher
+- An Echo account (sign up at [echo.merit.systems](https://echo.merit.systems))
+
+## Installation
+
+Clone the repository and install dependencies:
+
+```bash
+git clone https://github.com/Merit-Systems/echo.git
+cd echo/templates/echo-cli
+pnpm install
+pnpm build
+```
+
+### Global Installation (Optional)
+
+To use `echodex` globally:
+
+```bash
+pnpm link --global
+```
+
+Or use it directly:
+
+```bash
+pnpm start
+```
+
+## Quick Start
+
+1. **Authenticate**
+
+ ```bash
+ echodex login
+ ```
+
+ Choose your authentication method:
+ - **Echo API Key**: Browser-based API key creation
+ - **WalletConnect**: Mobile wallet via QR code
+ - **Local Wallet**: Generate and self-custody your own wallet (NEW!)
+
+2. **Start chatting**
+
+ ```bash
+ echodex
+ ```
+
+3. **Select a model** (optional)
+
+ ```bash
+ echodex model
+ ```
+
+## Commands
+
+### Authentication
+
+```bash
+echodex login # Authenticate with Echo (API key or wallet)
+echodex logout # Sign out and clear credentials
+```
+
+### Chat
+
+```bash
+echodex # Start a new chat session
+echodex resume # Resume your last conversation
+```
+
+### Model Management
+
+```bash
+echodex model # Select a different AI model
+```
+
+### History
+
+```bash
+echodex history # View your conversation history
+echodex export # Export conversations as JSON
+echodex clear-history # Clear all conversation history
+```
+
+### Profile
+
+```bash
+echodex profile # View your profile and balance
+```
+
+### Local Wallet Management (Self-Custody)
+
+```bash
+echodex wallet-balance # Show USDC balance
+echodex wallet-address # Display wallet address and QR code
+echodex fund-wallet # Show QR code and wait for USDC deposit
+echodex export-private-key # Export private key for backup (⚠️ SENSITIVE)
+```
+
+## Authentication Methods
+
+### Echo API Key
+
+Managed account with web-based API key creation:
+
+1. Run `echodex login` and select "Echo API Key"
+2. Your browser opens to echo.merit.systems
+3. Sign in and create an API key
+4. The key is securely stored in your OS keychain
+5. Pay for AI usage via Echo's account system
+
+### WalletConnect
+
+Connect your mobile wallet via WalletConnect:
+
+1. Run `echodex login` and select "WalletConnect"
+2. Scan the QR code with your mobile wallet (MetaMask, Rainbow, etc.)
+3. Approve the connection
+4. Fund your wallet with USDC on supported chains
+5. Pay for AI usage directly from your wallet via X402
+
+### Local Wallet (Self-Custody) - NEW!
+
+Generate and manage your own wallet locally:
+
+1. Run `echodex login` and select "Local Wallet (Self Custody)"
+2. Select your preferred blockchain (Ethereum, Base, Optimism, Polygon, Arbitrum)
+3. Your private key is generated and stored securely in your OS keychain
+4. A QR code is displayed to fund your wallet with USDC
+5. Scan with any wallet and send USDC to your generated address
+6. The CLI waits for confirmation or press Ctrl+C to continue later
+7. Use `echodex wallet-balance` to check your balance anytime
+8. Use `echodex fund-wallet` to fund later if needed
+
+**Security Features**:
+- ✅ Private keys stored in OS keychain (macOS Keychain, Windows Credential Vault, Linux Secret Service)
+- ✅ You have full custody of your keys
+- ✅ Backup your key with `echodex export-private-key`
+- ✅ Keys are deleted from keychain on logout
+- ✅ No central authority controls your funds
+
+**Supported Networks**:
+- Ethereum Mainnet (chainId 1)
+- Base (chainId 8453)
+- Optimism (chainId 10)
+- Polygon (chainId 137)
+- Arbitrum (chainId 42161)
+
+## Configuration
+
+### Required Setup
+
+Before running the CLI, update the configuration in `src/constants.ts`:
+
+1. **Echo App ID**:
+ - Visit [echo.merit.systems](https://echo.merit.systems)
+ - Create or retrieve your Echo App ID
+ - Replace `YOUR_ECHO_APP_ID` in `src/constants.ts`
+
+2. **WalletConnect Project ID**:
+ - Visit [walletconnect.com](https://walletconnect.com)
+ - Create a new project and get your Project ID
+ - Replace `YOUR_WALLETCONNECT_PROJECT_ID` in `src/constants.ts`
+
+After updating these values, rebuild the project:
+
+```bash
+pnpm build
+```
+
+### Runtime Configuration
+
+Configuration is stored in:
+- **Credentials**: OS keychain (secure)
+- **Settings**: `~/.config/echodex/` (platform-specific)
+
+### Available Models
+
+- GPT-4o
+- GPT-5
+- GPT-5 Mini
+- GPT-5 Nano
+
+Switch models anytime with `echodex model`.
+
+## Tech Stack
+
+- **TypeScript**: ESNext with strict mode
+- **Echo SDK**: TypeScript SDK for Echo integration
+- **Vercel AI SDK**: Streaming AI responses
+- **WalletConnect**: Crypto wallet authentication
+- **X402 Protocol**: Decentralized payment protocol
+- **Keytar**: Secure credential storage
+- **Conf**: Configuration management
+- **Zod**: Runtime validation
+- **Commander**: CLI framework
+- **Clack Prompts**: Interactive CLI prompts
+
+## Development
+
+### Running in Development
+
+```bash
+pnpm dev
+```
+
+### Building
+
+```bash
+pnpm build
+```
+
+### Project Structure
+
+```
+src/
+├── auth/ # Authentication logic (API key, WalletConnect, Local Wallet)
+│ ├── login.ts # Echo API key login
+│ ├── wallet.ts # WalletConnect login
+│ ├── local-wallet.ts # Local wallet initialization
+│ └── providers.ts # AI provider setup
+├── config/ # Configuration, models, and constants
+├── core/ # Core features (chat, history, profile)
+│ └── local-wallet.ts # Wallet management commands
+├── utils/ # Utility functions
+│ ├── signer.ts # Wallet client creation
+│ └── local-wallet.ts # Wallet utilities & balance queries
+├── validation/ # Zod schemas and validators
+└── index.ts # CLI entry point
+```
+
+## Troubleshooting
+
+### Keychain Access
+
+**macOS**:
+- Grant Terminal/iTerm2 access in System Preferences → Privacy & Security
+
+**Linux**:
+- Ensure Secret Service is running: `systemctl --user status secrets-service`
+- Install if needed: `sudo apt-get install gnome-keyring`
+
+**Windows**:
+- Credential Manager should work automatically
+
+### Local Wallet Issues
+
+**Private Key Not Found**:
+- Run `echodex logout` then `echodex login` again
+- Your private key should be stored in OS keychain
+- If issues persist, check keychain/credential vault settings
+
+**Balance Not Showing**:
+- Ensure USDC is sent on the correct network (shown on wallet address screen)
+- Allow 10-30 seconds for blockchain confirmation
+- Run `echodex wallet-balance` to force a refresh
+- Check your address on a block explorer (e.g., Etherscan for Ethereum)
+
+**Deposit Not Being Detected**:
+- Verify the USDC token address matches your network
+- Wait for block confirmation (usually 12-15 seconds)
+- Try `echodex fund-wallet` again to continue monitoring
+- Use block explorer to verify transaction completed
+
+### Connection Issues (WalletConnect)
+
+If WalletConnect fails:
+- Ensure you have a stable internet connection
+- Try regenerating the QR code
+- Check that your wallet supports WalletConnect v2
+
+### Balance Issues (Echo/WalletConnect)
+
+If your balance isn't updating:
+- Run `echodex profile` to refresh
+- Ensure you're authenticated (run `echodex login` again if needed)
+
+### Private Key Security
+
+**Lost or Compromised Key**:
+1. Immediately run `echodex logout` (deletes local key)
+2. Create a new wallet: `echodex login` → select "Local Wallet (Self Custody)"
+3. Transfer remaining USDC from old address to new address (if needed)
+4. Never reuse compromised private keys
+
+## Support
+
+- **Documentation**: [echo.merit.systems/docs](https://echo.merit.systems/docs)
+- **Platform**: [echo.merit.systems](https://echo.merit.systems)
+- **GitHub**: [github.com/Merit-Systems/echo](https://github.com/Merit-Systems/echo)
+- **Discord**: [discord.gg/merit](https://discord.gg/merit)
+
+## Contributing
+
+See [CONTRIBUTING.md](../../CONTRIBUTING.md) for contribution guidelines.
+
+## License
+
+MIT
+
+---
+
+Built with ❤️ by [Merit Systems](https://merit.systems)
diff --git a/templates/echo-cli/package.json b/templates/echo-cli/package.json
new file mode 100644
index 000000000..355a42dbe
--- /dev/null
+++ b/templates/echo-cli/package.json
@@ -0,0 +1,50 @@
+{
+ "name": "echodex",
+ "version": "1.0.0",
+ "description": "",
+ "main": "index.js",
+ "type": "module",
+ "bin": {
+ "echodex": "./dist/index.js"
+ },
+ "scripts": {
+ "start": "tsx src/index.ts",
+ "dev": "tsx src/index.ts",
+ "build": "tsc",
+ "clean": "rm -rf dist",
+ "typecheck": "tsc --noEmit"
+ },
+ "keywords": [],
+ "author": "",
+ "license": "MIT",
+ "packageManager": "pnpm@10.19.0",
+ "devDependencies": {
+ "@types/node": "^22.10.2",
+ "tsx": "^4.20.6"
+ },
+ "dependencies": {
+ "@ai-sdk/openai": "^2.0.64",
+ "@clack/prompts": "^0.11.0",
+ "@merit-systems/ai-x402": "^0.1.3",
+ "@merit-systems/echo-typescript-sdk": "^1.0.23",
+ "@types/qrcode-terminal": "^0.12.2",
+ "@types/react": "^19.2.2",
+ "@walletconnect/ethereum-provider": "^2.23.0",
+ "@walletconnect/keyvaluestorage": "^1.1.1",
+ "ai": "^5.0.89",
+ "chalk": "^5.6.2",
+ "cli-table3": "^0.6.5",
+ "commander": "^14.0.2",
+ "conf": "^15.0.2",
+ "ink": "^6.4.0",
+ "keytar": "^7.9.0",
+ "open": "^10.2.0",
+ "ora": "^9.0.0",
+ "pino": "^10.1.0",
+ "qrcode-terminal": "^0.12.0",
+ "react": "^19.2.0",
+ "viem": "^2.38.6",
+ "x402": "0.6.6",
+ "zod": "^4.1.12"
+ }
+}
diff --git a/templates/echo-cli/pnpm-lock.yaml b/templates/echo-cli/pnpm-lock.yaml
new file mode 100644
index 000000000..79bcbf31a
--- /dev/null
+++ b/templates/echo-cli/pnpm-lock.yaml
@@ -0,0 +1,8153 @@
+lockfileVersion: '9.0'
+
+settings:
+ autoInstallPeers: true
+ excludeLinksFromLockfile: false
+
+importers:
+
+ .:
+ dependencies:
+ '@ai-sdk/openai':
+ specifier: ^2.0.64
+ version: 2.0.64(zod@4.1.12)
+ '@clack/prompts':
+ specifier: ^0.11.0
+ version: 0.11.0
+ '@merit-systems/ai-x402':
+ specifier: ^0.1.3
+ version: 0.1.3(@solana/sysvars@3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3))(@tanstack/query-core@5.90.7)(@tanstack/react-query@5.90.7(react@19.2.0))(@types/react@19.2.2)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))
+ '@merit-systems/echo-typescript-sdk':
+ specifier: ^1.0.23
+ version: 1.0.23(zod@4.1.12)
+ '@types/qrcode-terminal':
+ specifier: ^0.12.2
+ version: 0.12.2
+ '@types/react':
+ specifier: ^19.2.2
+ version: 19.2.2
+ '@walletconnect/ethereum-provider':
+ specifier: ^2.23.0
+ version: 2.23.0(@types/react@19.2.2)(bufferutil@4.0.9)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)
+ '@walletconnect/keyvaluestorage':
+ specifier: ^1.1.1
+ version: 1.1.1
+ ai:
+ specifier: ^5.0.89
+ version: 5.0.89(zod@4.1.12)
+ chalk:
+ specifier: ^5.6.2
+ version: 5.6.2
+ cli-table3:
+ specifier: ^0.6.5
+ version: 0.6.5
+ commander:
+ specifier: ^14.0.2
+ version: 14.0.2
+ conf:
+ specifier: ^15.0.2
+ version: 15.0.2
+ ink:
+ specifier: ^6.4.0
+ version: 6.4.0(@types/react@19.2.2)(bufferutil@4.0.9)(react@19.2.0)(utf-8-validate@5.0.10)
+ keytar:
+ specifier: ^7.9.0
+ version: 7.9.0
+ open:
+ specifier: ^10.2.0
+ version: 10.2.0
+ ora:
+ specifier: ^9.0.0
+ version: 9.0.0
+ pino:
+ specifier: ^10.1.0
+ version: 10.1.0
+ qrcode-terminal:
+ specifier: ^0.12.0
+ version: 0.12.0
+ react:
+ specifier: ^19.2.0
+ version: 19.2.0
+ viem:
+ specifier: ^2.38.6
+ version: 2.38.6(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)
+ x402:
+ specifier: 0.6.6
+ version: 0.6.6(@solana/sysvars@3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3))(@tanstack/query-core@5.90.7)(@tanstack/react-query@5.90.7(react@19.2.0))(@types/react@19.2.2)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))
+ zod:
+ specifier: ^4.1.12
+ version: 4.1.12
+ devDependencies:
+ '@types/node':
+ specifier: ^22.10.2
+ version: 22.19.0
+ tsx:
+ specifier: ^4.20.6
+ version: 4.20.6
+
+packages:
+
+ '@adraffy/ens-normalize@1.11.1':
+ resolution: {integrity: sha512-nhCBV3quEgesuf7c7KYfperqSS14T8bYuvJ8PcLJp6znkZpFc0AuW4qBtr8eKVyPPe/8RSr7sglCWPU5eaxwKQ==}
+
+ '@ai-sdk/anthropic@2.0.17':
+ resolution: {integrity: sha512-fEmGD3H3cI4ahcrtU/ekA6xvUq9kk/IpOh2TI3wOSxqvKqpo+ztwiem5/x5R92Yenl9KRooYIefr0LNlFUR5Ow==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ zod: ^3.25.76 || ^4
+
+ '@ai-sdk/gateway@1.0.24':
+ resolution: {integrity: sha512-Mwp0yYXrEnENoDrc7IH9yVRVJ7RrDW0CXWDtyz1BiyqccbtdWhAKu4wtrDMx2FkeK5riiME1kYYdjRnlba3UFw==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ zod: ^3.25.76 || ^4
+
+ '@ai-sdk/gateway@1.0.8':
+ resolution: {integrity: sha512-yiHYz0bAHEvhL+fSUBI2dNmyj0LOI8zw5qrYpa4gp1ojPgZq/7T1WXoIWRmVdjQwvT4PzSmRKLtbMPfz+umgfw==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ zod: ^3.25.76 || ^4
+
+ '@ai-sdk/gateway@2.0.7':
+ resolution: {integrity: sha512-/AI5AKi4vOK9SEb8Z1dfXkhsJ5NAfWsoJQc96B/mzn2KIrjw5occOjIwD06scuhV9xWlghCoXJT1sQD9QH/tyg==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ zod: ^3.25.76 || ^4.1.8
+
+ '@ai-sdk/google@2.0.14':
+ resolution: {integrity: sha512-OCBBkEUq1RNLkbJuD+ejqGsWDD0M5nRyuFWDchwylxy0J4HSsAiGNhutNYVTdnqmNw+r9LyZlkyZ1P4YfAfLdg==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ zod: ^3.25.76 || ^4
+
+ '@ai-sdk/groq@2.0.17':
+ resolution: {integrity: sha512-Oh6Fk988KNvqy4w1crBhBQU8JIkfqhxSiYCbBZFqZSeDsagZ8SHsS2ni9+7pq6e0DR/XGp6fDGDFsm+01kmsmg==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ zod: ^3.25.76 || ^4
+
+ '@ai-sdk/openai-compatible@1.0.15':
+ resolution: {integrity: sha512-i4TzohCxuFzBSdRNPa9eNFW6AYDZ5itbxz+rJa2kpNTMYqHgqKPGzet3X6eLIUVntA10icrqhWT+hUhxXZIS9Q==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ zod: ^3.25.76 || ^4
+
+ '@ai-sdk/openai@2.0.16':
+ resolution: {integrity: sha512-Boe715q4SkSJedFfAtbP0yuo8DmF9iYElAaDH2g4YgqJqqkskIJJx4hlCYGMMk1eMesRrB2NqZvtOeyTZ/u4fA==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ zod: ^3.25.76 || ^4
+
+ '@ai-sdk/openai@2.0.32':
+ resolution: {integrity: sha512-p7giSkCs66Q1qYO/NPYI41CrSg65mcm8R2uAdF86+Y1D1/q4mUrWMyf5UTOJ0bx/z4jIPiNgGDCg2Kabi5zrKQ==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ zod: ^3.25.76 || ^4
+
+ '@ai-sdk/openai@2.0.64':
+ resolution: {integrity: sha512-+1mqxn42uB32DPZ6kurSyGAmL3MgCaDpkYU7zNDWI4NLy3Zg97RxTsI1jBCGIqkEVvRZKJlIMYtb89OvMnq3AQ==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ zod: ^3.25.76 || ^4.1.8
+
+ '@ai-sdk/provider-utils@3.0.16':
+ resolution: {integrity: sha512-lsWQY9aDXHitw7C1QRYIbVGmgwyT98TF3MfM8alNIXKpdJdi+W782Rzd9f1RyOfgRmZ08gJ2EYNDhWNK7RqpEA==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ zod: ^3.25.76 || ^4.1.8
+
+ '@ai-sdk/provider-utils@3.0.4':
+ resolution: {integrity: sha512-/3Z6lfUp8r+ewFd9yzHkCmPlMOJUXup2Sx3aoUyrdXLhOmAfHRl6Z4lDbIdV0uvw/QYoBcVLJnvXN7ncYeS3uQ==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ zod: ^3.25.76 || ^4
+
+ '@ai-sdk/provider-utils@3.0.8':
+ resolution: {integrity: sha512-cDj1iigu7MW2tgAQeBzOiLhjHOUM9vENsgh4oAVitek0d//WdgfPCsKO3euP7m7LyO/j9a1vr/So+BGNdpFXYw==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ zod: ^3.25.76 || ^4
+
+ '@ai-sdk/provider-utils@3.0.9':
+ resolution: {integrity: sha512-Pm571x5efqaI4hf9yW4KsVlDBDme8++UepZRnq+kqVBWWjgvGhQlzU8glaFq0YJEB9kkxZHbRRyVeHoV2sRYaQ==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ zod: ^3.25.76 || ^4
+
+ '@ai-sdk/provider@2.0.0':
+ resolution: {integrity: sha512-6o7Y2SeO9vFKB8lArHXehNuusnpddKPk7xqL7T2/b+OvXMRIXUO1rR4wcv1hAFUAT9avGZshty3Wlua/XA7TvA==}
+ engines: {node: '>=18'}
+
+ '@ai-sdk/react@2.0.17':
+ resolution: {integrity: sha512-q4hG0gL1vPC/VdmwP1zW4Elv3IY0UGhHBCAHODq1T1SbSd+6wQGPk1g0S8MD2rpp9Lm0IiRZEmPc8ksu6UDUgQ==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ react: ^18 || ^19 || ^19.0.0-rc
+ zod: ^3.25.76 || ^4
+ peerDependenciesMeta:
+ zod:
+ optional: true
+
+ '@ai-sdk/xai@2.0.16':
+ resolution: {integrity: sha512-t/Ohnn5OExgXZe+yhlpqOFZoixIXpaSBycWnvWfJ7JrpiNdg4WZEjWH+298zUXvqAT5wZvM93h1Ba4TkoYSyZg==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ zod: ^3.25.76 || ^4
+
+ '@alcalzone/ansi-tokenize@0.2.2':
+ resolution: {integrity: sha512-mkOh+Wwawzuf5wa30bvc4nA+Qb6DIrGWgBhRR/Pw4T9nsgYait8izvXkNyU78D6Wcu3Z+KUdwCmLCxlWjEotYA==}
+ engines: {node: '>=18'}
+
+ '@babel/runtime@7.28.4':
+ resolution: {integrity: sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==}
+ engines: {node: '>=6.9.0'}
+
+ '@base-org/account@2.4.0':
+ resolution: {integrity: sha512-A4Umpi8B9/pqR78D1Yoze4xHyQaujioVRqqO3d6xuDFw9VRtjg6tK3bPlwE0aW+nVH/ntllCpPa2PbI8Rnjcug==}
+
+ '@clack/core@0.5.0':
+ resolution: {integrity: sha512-p3y0FIOwaYRUPRcMO7+dlmLh8PSRcrjuTndsiA0WAFbWES0mLZlrjVoBRZ9DzkPFJZG6KGkJmoEAY0ZcVWTkow==}
+
+ '@clack/prompts@0.11.0':
+ resolution: {integrity: sha512-pMN5FcrEw9hUkZA4f+zLlzivQSeQf5dRGJjSUbvVYDLvpKCdQx5OaknvKzgbtXOizhP+SJJJjqEbOe55uKKfAw==}
+
+ '@coinbase/cdp-sdk@1.38.5':
+ resolution: {integrity: sha512-j8mvx1wMox/q2SjB7C09HtdRXVOpGpfkP7nG4+OjdowPj8pmQ03rigzycd86L8mawl6TUPXdm41YSQVmtc8SzQ==}
+
+ '@coinbase/wallet-sdk@3.9.3':
+ resolution: {integrity: sha512-N/A2DRIf0Y3PHc1XAMvbBUu4zisna6qAdqABMZwBMNEfWrXpAwx16pZGkYCLGE+Rvv1edbcB2LYDRnACNcmCiw==}
+
+ '@coinbase/wallet-sdk@4.3.6':
+ resolution: {integrity: sha512-4q8BNG1ViL4mSAAvPAtpwlOs1gpC+67eQtgIwNvT3xyeyFFd+guwkc8bcX5rTmQhXpqnhzC4f0obACbP9CqMSA==}
+
+ '@colors/colors@1.5.0':
+ resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==}
+ engines: {node: '>=0.1.90'}
+
+ '@ecies/ciphers@0.2.5':
+ resolution: {integrity: sha512-GalEZH4JgOMHYYcYmVqnFirFsjZHeoGMDt9IxEnM9F7GRUUyUksJ7Ou53L83WHJq3RWKD3AcBpo0iQh0oMpf8A==}
+ engines: {bun: '>=1', deno: '>=2', node: '>=16'}
+ peerDependencies:
+ '@noble/ciphers': ^1.0.0
+
+ '@esbuild/aix-ppc64@0.25.12':
+ resolution: {integrity: sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==}
+ engines: {node: '>=18'}
+ cpu: [ppc64]
+ os: [aix]
+
+ '@esbuild/android-arm64@0.25.12':
+ resolution: {integrity: sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [android]
+
+ '@esbuild/android-arm@0.25.12':
+ resolution: {integrity: sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==}
+ engines: {node: '>=18'}
+ cpu: [arm]
+ os: [android]
+
+ '@esbuild/android-x64@0.25.12':
+ resolution: {integrity: sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [android]
+
+ '@esbuild/darwin-arm64@0.25.12':
+ resolution: {integrity: sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@esbuild/darwin-x64@0.25.12':
+ resolution: {integrity: sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [darwin]
+
+ '@esbuild/freebsd-arm64@0.25.12':
+ resolution: {integrity: sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [freebsd]
+
+ '@esbuild/freebsd-x64@0.25.12':
+ resolution: {integrity: sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [freebsd]
+
+ '@esbuild/linux-arm64@0.25.12':
+ resolution: {integrity: sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [linux]
+
+ '@esbuild/linux-arm@0.25.12':
+ resolution: {integrity: sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==}
+ engines: {node: '>=18'}
+ cpu: [arm]
+ os: [linux]
+
+ '@esbuild/linux-ia32@0.25.12':
+ resolution: {integrity: sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==}
+ engines: {node: '>=18'}
+ cpu: [ia32]
+ os: [linux]
+
+ '@esbuild/linux-loong64@0.25.12':
+ resolution: {integrity: sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==}
+ engines: {node: '>=18'}
+ cpu: [loong64]
+ os: [linux]
+
+ '@esbuild/linux-mips64el@0.25.12':
+ resolution: {integrity: sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==}
+ engines: {node: '>=18'}
+ cpu: [mips64el]
+ os: [linux]
+
+ '@esbuild/linux-ppc64@0.25.12':
+ resolution: {integrity: sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==}
+ engines: {node: '>=18'}
+ cpu: [ppc64]
+ os: [linux]
+
+ '@esbuild/linux-riscv64@0.25.12':
+ resolution: {integrity: sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==}
+ engines: {node: '>=18'}
+ cpu: [riscv64]
+ os: [linux]
+
+ '@esbuild/linux-s390x@0.25.12':
+ resolution: {integrity: sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==}
+ engines: {node: '>=18'}
+ cpu: [s390x]
+ os: [linux]
+
+ '@esbuild/linux-x64@0.25.12':
+ resolution: {integrity: sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [linux]
+
+ '@esbuild/netbsd-arm64@0.25.12':
+ resolution: {integrity: sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [netbsd]
+
+ '@esbuild/netbsd-x64@0.25.12':
+ resolution: {integrity: sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [netbsd]
+
+ '@esbuild/openbsd-arm64@0.25.12':
+ resolution: {integrity: sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [openbsd]
+
+ '@esbuild/openbsd-x64@0.25.12':
+ resolution: {integrity: sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [openbsd]
+
+ '@esbuild/openharmony-arm64@0.25.12':
+ resolution: {integrity: sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [openharmony]
+
+ '@esbuild/sunos-x64@0.25.12':
+ resolution: {integrity: sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [sunos]
+
+ '@esbuild/win32-arm64@0.25.12':
+ resolution: {integrity: sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [win32]
+
+ '@esbuild/win32-ia32@0.25.12':
+ resolution: {integrity: sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==}
+ engines: {node: '>=18'}
+ cpu: [ia32]
+ os: [win32]
+
+ '@esbuild/win32-x64@0.25.12':
+ resolution: {integrity: sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [win32]
+
+ '@ethereumjs/common@3.2.0':
+ resolution: {integrity: sha512-pksvzI0VyLgmuEF2FA/JR/4/y6hcPq8OUail3/AvycBaW1d5VSauOZzqGvJ3RTmR4MU35lWE8KseKOsEhrFRBA==}
+
+ '@ethereumjs/rlp@4.0.1':
+ resolution: {integrity: sha512-tqsQiBQDQdmPWE1xkkBq4rlSW5QZpLOUJ5RJh2/9fug+q9tnUhuZoVLk7s0scUIKTOzEtR72DFBXI4WiZcMpvw==}
+ engines: {node: '>=14'}
+ hasBin: true
+
+ '@ethereumjs/tx@4.2.0':
+ resolution: {integrity: sha512-1nc6VO4jtFd172BbSnTnDQVr9IYBFl1y4xPzZdtkrkKIncBCkdbgfdRV+MiTkJYAtTxvV12GRZLqBFT1PNK6Yw==}
+ engines: {node: '>=14'}
+
+ '@ethereumjs/util@8.1.0':
+ resolution: {integrity: sha512-zQ0IqbdX8FZ9aw11vP+dZkKDkS+kgIvQPHnSAXzP9pLu+Rfu3D3XEeLbicvoXJTYnhZiPmsZUxgdzXwNKxRPbA==}
+ engines: {node: '>=14'}
+
+ '@gemini-wallet/core@0.3.1':
+ resolution: {integrity: sha512-XP+/NRAaRV7Adlt6aFxrF/3a0i3qpxFTSVm/dzG+mceXTSgIGOUUT65w69ttLQ/GWEcAEQL/hKoV6PFAJA/DmQ==}
+ peerDependencies:
+ viem: '>=2.0.0'
+
+ '@lit-labs/ssr-dom-shim@1.4.0':
+ resolution: {integrity: sha512-ficsEARKnmmW5njugNYKipTm4SFnbik7CXtoencDZzmzo/dQ+2Q0bgkzJuoJP20Aj0F+izzJjOqsnkd6F/o1bw==}
+
+ '@lit/react@1.0.8':
+ resolution: {integrity: sha512-p2+YcF+JE67SRX3mMlJ1TKCSTsgyOVdAwd/nxp3NuV1+Cb6MWALbN6nT7Ld4tpmYofcE5kcaSY1YBB9erY+6fw==}
+ peerDependencies:
+ '@types/react': 17 || 18 || 19
+
+ '@lit/reactive-element@2.1.1':
+ resolution: {integrity: sha512-N+dm5PAYdQ8e6UlywyyrgI2t++wFGXfHx+dSJ1oBrg6FAxUj40jId++EaRm80MKX5JnlH1sBsyZ5h0bcZKemCg==}
+
+ '@merit-systems/ai-x402@0.1.3':
+ resolution: {integrity: sha512-SbdJTXdpPvhe1d/9A9VXl0iBG+ddjEokbjFH7pk9xmG2yL0wcEV0t77wHvgvYcCm4DqmnCWv7YFWd1AkZuYj6A==}
+ peerDependencies:
+ react: ^18.0.0
+
+ '@merit-systems/echo-react-sdk@1.0.39':
+ resolution: {integrity: sha512-8u8OyBJd5hP+iztTXV4zdG89wM5kFK/4m5pOBeg782yVUTWWhfnpgqNRyEKSuArU292PImr4WDzDEFU/o/gHrg==}
+ peerDependencies:
+ '@ai-sdk/react': ^2.0.17
+ ai: ^5.0.19
+ openai: ^4.0.0 || ^5.0.0
+ react: ^18.0.0 || ^19.0.0
+ react-dom: ^18.0.0 || ^19.0.0
+ peerDependenciesMeta:
+ openai:
+ optional: true
+
+ '@merit-systems/echo-typescript-sdk@1.0.23':
+ resolution: {integrity: sha512-hSwgb/rFfzZCha8k8oik4FInf4t5RymDkaOiN7BAyDJkS9sJVzLYyDb0OE44g+i1ESGc3DlJ5vbK1V+nVEf8zw==}
+
+ '@metamask/eth-json-rpc-provider@1.0.1':
+ resolution: {integrity: sha512-whiUMPlAOrVGmX8aKYVPvlKyG4CpQXiNNyt74vE1xb5sPvmx5oA7B/kOi/JdBvhGQq97U1/AVdXEdk2zkP8qyA==}
+ engines: {node: '>=14.0.0'}
+
+ '@metamask/json-rpc-engine@7.3.3':
+ resolution: {integrity: sha512-dwZPq8wx9yV3IX2caLi9q9xZBw2XeIoYqdyihDDDpuHVCEiqadJLwqM3zy+uwf6F1QYQ65A8aOMQg1Uw7LMLNg==}
+ engines: {node: '>=16.0.0'}
+
+ '@metamask/json-rpc-engine@8.0.2':
+ resolution: {integrity: sha512-IoQPmql8q7ABLruW7i4EYVHWUbF74yrp63bRuXV5Zf9BQwcn5H9Ww1eLtROYvI1bUXwOiHZ6qT5CWTrDc/t/AA==}
+ engines: {node: '>=16.0.0'}
+
+ '@metamask/json-rpc-middleware-stream@7.0.2':
+ resolution: {integrity: sha512-yUdzsJK04Ev98Ck4D7lmRNQ8FPioXYhEUZOMS01LXW8qTvPGiRVXmVltj2p4wrLkh0vW7u6nv0mNl5xzC5Qmfg==}
+ engines: {node: '>=16.0.0'}
+
+ '@metamask/object-multiplex@2.1.0':
+ resolution: {integrity: sha512-4vKIiv0DQxljcXwfpnbsXcfa5glMj5Zg9mqn4xpIWqkv6uJ2ma5/GtUfLFSxhlxnR8asRMv8dDmWya1Tc1sDFA==}
+ engines: {node: ^16.20 || ^18.16 || >=20}
+
+ '@metamask/onboarding@1.0.1':
+ resolution: {integrity: sha512-FqHhAsCI+Vacx2qa5mAFcWNSrTcVGMNjzxVgaX8ECSny/BJ9/vgXP9V7WF/8vb9DltPeQkxr+Fnfmm6GHfmdTQ==}
+
+ '@metamask/providers@16.1.0':
+ resolution: {integrity: sha512-znVCvux30+3SaUwcUGaSf+pUckzT5ukPRpcBmy+muBLC0yaWnBcvDqGfcsw6CBIenUdFrVoAFa8B6jsuCY/a+g==}
+ engines: {node: ^18.18 || >=20}
+
+ '@metamask/rpc-errors@6.4.0':
+ resolution: {integrity: sha512-1ugFO1UoirU2esS3juZanS/Fo8C8XYocCuBpfZI5N7ECtoG+zu0wF+uWZASik6CkO6w9n/Iebt4iI4pT0vptpg==}
+ engines: {node: '>=16.0.0'}
+
+ '@metamask/rpc-errors@7.0.2':
+ resolution: {integrity: sha512-YYYHsVYd46XwY2QZzpGeU4PSdRhHdxnzkB8piWGvJW2xbikZ3R+epAYEL4q/K8bh9JPTucsUdwRFnACor1aOYw==}
+ engines: {node: ^18.20 || ^20.17 || >=22}
+
+ '@metamask/safe-event-emitter@2.0.0':
+ resolution: {integrity: sha512-/kSXhY692qiV1MXu6EeOZvg5nECLclxNXcKCxJ3cXQgYuRymRHpdx/t7JXfsK+JLjwA1e1c1/SBrlQYpusC29Q==}
+
+ '@metamask/safe-event-emitter@3.1.2':
+ resolution: {integrity: sha512-5yb2gMI1BDm0JybZezeoX/3XhPDOtTbcFvpTXM9kxsoZjPZFh4XciqRbpD6N86HYZqWDhEaKUDuOyR0sQHEjMA==}
+ engines: {node: '>=12.0.0'}
+
+ '@metamask/sdk-analytics@0.0.5':
+ resolution: {integrity: sha512-fDah+keS1RjSUlC8GmYXvx6Y26s3Ax1U9hGpWb6GSY5SAdmTSIqp2CvYy6yW0WgLhnYhW+6xERuD0eVqV63QIQ==}
+
+ '@metamask/sdk-communication-layer@0.33.1':
+ resolution: {integrity: sha512-0bI9hkysxcfbZ/lk0T2+aKVo1j0ynQVTuB3sJ5ssPWlz+Z3VwveCkP1O7EVu1tsVVCb0YV5WxK9zmURu2FIiaA==}
+ peerDependencies:
+ cross-fetch: ^4.0.0
+ eciesjs: '*'
+ eventemitter2: ^6.4.9
+ readable-stream: ^3.6.2
+ socket.io-client: ^4.5.1
+
+ '@metamask/sdk-install-modal-web@0.32.1':
+ resolution: {integrity: sha512-MGmAo6qSjf1tuYXhCu2EZLftq+DSt5Z7fsIKr2P+lDgdTPWgLfZB1tJKzNcwKKOdf6q9Qmmxn7lJuI/gq5LrKw==}
+
+ '@metamask/sdk@0.33.1':
+ resolution: {integrity: sha512-1mcOQVGr9rSrVcbKPNVzbZ8eCl1K0FATsYH3WJ/MH4WcZDWGECWrXJPNMZoEAkLxWiMe8jOQBumg2pmcDa9zpQ==}
+
+ '@metamask/superstruct@3.2.1':
+ resolution: {integrity: sha512-fLgJnDOXFmuVlB38rUN5SmU7hAFQcCjrg3Vrxz67KTY7YHFnSNEKvX4avmEBdOI0yTCxZjwMCFEqsC8k2+Wd3g==}
+ engines: {node: '>=16.0.0'}
+
+ '@metamask/utils@11.8.1':
+ resolution: {integrity: sha512-DIbsNUyqWLFgqJlZxi1OOCMYvI23GqFCvNJAtzv8/WXWzJfnJnvp1M24j7VvUe3URBi3S86UgQ7+7aWU9p/cnQ==}
+ engines: {node: ^18.18 || ^20.14 || >=22}
+
+ '@metamask/utils@5.0.2':
+ resolution: {integrity: sha512-yfmE79bRQtnMzarnKfX7AEJBwFTxvTyw3nBQlu/5rmGXrjAeAMltoGxO62TFurxrQAFMNa/fEjIHNvungZp0+g==}
+ engines: {node: '>=14.0.0'}
+
+ '@metamask/utils@8.5.0':
+ resolution: {integrity: sha512-I6bkduevXb72TIM9q2LRO63JSsF9EXduh3sBr9oybNX2hNNpr/j1tEjXrsG0Uabm4MJ1xkGAQEMwifvKZIkyxQ==}
+ engines: {node: '>=16.0.0'}
+
+ '@metamask/utils@9.3.0':
+ resolution: {integrity: sha512-w8CVbdkDrVXFJbfBSlDfafDR6BAkpDmv1bC1UJVCoVny5tW2RKAdn9i68Xf7asYT4TnUhl/hN4zfUiKQq9II4g==}
+ engines: {node: '>=16.0.0'}
+
+ '@msgpack/msgpack@3.1.2':
+ resolution: {integrity: sha512-JEW4DEtBzfe8HvUYecLU9e6+XJnKDlUAIve8FvPzF3Kzs6Xo/KuZkZJsDH0wJXl/qEZbeeE7edxDNY3kMs39hQ==}
+ engines: {node: '>= 18'}
+
+ '@noble/ciphers@1.2.1':
+ resolution: {integrity: sha512-rONPWMC7PeExE077uLE4oqWrZ1IvAfz3oH9LibVAcVCopJiA9R62uavnbEzdkVmJYI6M6Zgkbeb07+tWjlq2XA==}
+ engines: {node: ^14.21.3 || >=16}
+
+ '@noble/ciphers@1.3.0':
+ resolution: {integrity: sha512-2I0gnIVPtfnMw9ee9h1dJG7tp81+8Ob3OJb3Mv37rx5L40/b0i7djjCVvGOVqc9AEIQyvyu1i6ypKdFw8R8gQw==}
+ engines: {node: ^14.21.3 || >=16}
+
+ '@noble/curves@1.4.2':
+ resolution: {integrity: sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw==}
+
+ '@noble/curves@1.8.0':
+ resolution: {integrity: sha512-j84kjAbzEnQHaSIhRPUmB3/eVXu2k3dKPl2LOrR8fSOIL+89U+7lV117EWHtq/GHM3ReGHM46iRBdZfpc4HRUQ==}
+ engines: {node: ^14.21.3 || >=16}
+
+ '@noble/curves@1.8.1':
+ resolution: {integrity: sha512-warwspo+UYUPep0Q+vtdVB4Ugn8GGQj8iyB3gnRWsztmUHTI3S1nhdiWNsPUGL0vud7JlRRk1XEu7Lq1KGTnMQ==}
+ engines: {node: ^14.21.3 || >=16}
+
+ '@noble/curves@1.9.1':
+ resolution: {integrity: sha512-k11yZxZg+t+gWvBbIswW0yoJlu8cHOC7dhunwOzoWH/mXGBiYyR4YY6hAEK/3EUs4UpB8la1RfdRpeGsFHkWsA==}
+ engines: {node: ^14.21.3 || >=16}
+
+ '@noble/curves@1.9.7':
+ resolution: {integrity: sha512-gbKGcRUYIjA3/zCCNaWDciTMFI0dCkvou3TL8Zmy5Nc7sJ47a0jtOeZoTaMxkuqRo9cRhjOdZJXegxYE5FN/xw==}
+ engines: {node: ^14.21.3 || >=16}
+
+ '@noble/hashes@1.4.0':
+ resolution: {integrity: sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==}
+ engines: {node: '>= 16'}
+
+ '@noble/hashes@1.7.0':
+ resolution: {integrity: sha512-HXydb0DgzTpDPwbVeDGCG1gIu7X6+AuU6Zl6av/E/KG8LMsvPntvq+w17CHRpKBmN6Ybdrt1eP3k4cj8DJa78w==}
+ engines: {node: ^14.21.3 || >=16}
+
+ '@noble/hashes@1.7.1':
+ resolution: {integrity: sha512-B8XBPsn4vT/KJAGqDzbwztd+6Yte3P4V7iafm24bxgDe/mlRuK6xmWPuCNrKt2vDafZ8MfJLlchDG/vYafQEjQ==}
+ engines: {node: ^14.21.3 || >=16}
+
+ '@noble/hashes@1.8.0':
+ resolution: {integrity: sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==}
+ engines: {node: ^14.21.3 || >=16}
+
+ '@openrouter/ai-sdk-provider@1.2.0':
+ resolution: {integrity: sha512-stuIwq7Yb7DNmk3GuCtz+oS3nZOY4TXEV3V5KsknDGQN7Fpu3KRMQVWRc1J073xKdf0FC9EHOctSyzsACmp5Ag==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ ai: ^5.0.0
+ zod: ^3.24.1 || ^v4
+
+ '@opentelemetry/api@1.9.0':
+ resolution: {integrity: sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==}
+ engines: {node: '>=8.0.0'}
+
+ '@paulmillr/qr@0.2.1':
+ resolution: {integrity: sha512-IHnV6A+zxU7XwmKFinmYjUcwlyK9+xkG3/s9KcQhI9BjQKycrJ1JRO+FbNYPwZiPKW3je/DR0k7w8/gLa5eaxQ==}
+ deprecated: 'The package is now available as "qr": npm install qr'
+
+ '@phosphor-icons/webcomponents@2.1.5':
+ resolution: {integrity: sha512-JcvQkZxvcX2jK+QCclm8+e8HXqtdFW9xV4/kk2aL9Y3dJA2oQVt+pzbv1orkumz3rfx4K9mn9fDoMr1He1yr7Q==}
+
+ '@pinojs/redact@0.4.0':
+ resolution: {integrity: sha512-k2ENnmBugE/rzQfEcdWHcCY+/FM3VLzH9cYEsbdsoqrvzAKRhUZeRNhAZvB8OitQJ1TBed3yqWtdjzS6wJKBwg==}
+
+ '@reown/appkit-common@1.7.8':
+ resolution: {integrity: sha512-ridIhc/x6JOp7KbDdwGKY4zwf8/iK8EYBl+HtWrruutSLwZyVi5P8WaZa+8iajL6LcDcDF7LoyLwMTym7SRuwQ==}
+
+ '@reown/appkit-common@1.8.11':
+ resolution: {integrity: sha512-rRcxrah6uouqEo/VbniVH11Y3H27BsP+Psv2+Usic+3Rt4kiSImIyeDG1YBV0gZNmME9N3sXHK8Bt7iqkxdOWw==}
+
+ '@reown/appkit-controllers@1.7.8':
+ resolution: {integrity: sha512-IdXlJlivrlj6m63VsGLsjtPHHsTWvKGVzWIP1fXZHVqmK+rZCBDjCi9j267Rb9/nYRGHWBtlFQhO8dK35WfeDA==}
+
+ '@reown/appkit-controllers@1.8.11':
+ resolution: {integrity: sha512-V3hPB6NE7kM+7pS8n4ygZWbMh/XoHYxdPWxH3qtDlvYlH9Rgc3yvU8+IFWdB79Ta0lyJIbGqVlQeH5sQe4QOsw==}
+
+ '@reown/appkit-pay@1.7.8':
+ resolution: {integrity: sha512-OSGQ+QJkXx0FEEjlpQqIhT8zGJKOoHzVnyy/0QFrl3WrQTjCzg0L6+i91Ad5Iy1zb6V5JjqtfIFpRVRWN4M3pw==}
+
+ '@reown/appkit-pay@1.8.11':
+ resolution: {integrity: sha512-68IB3sKfxlCwLz44jvWWpULnmyIGHwnItojrr/PRXUof3z9t/nV8G7FiRY4ZDIo75EkabcIguhtYNSQ7R3vZbA==}
+
+ '@reown/appkit-polyfills@1.7.8':
+ resolution: {integrity: sha512-W/kq786dcHHAuJ3IV2prRLEgD/2iOey4ueMHf1sIFjhhCGMynMkhsOhQMUH0tzodPqUgAC494z4bpIDYjwWXaA==}
+
+ '@reown/appkit-polyfills@1.8.11':
+ resolution: {integrity: sha512-pP9k5dvtWil88Zv3UgGurtbUmTx47z/5eriClGf8JI0VjBu/IExbAHg2gIZNEFdvkFD5/fIqIg8zno46SKbCKQ==}
+
+ '@reown/appkit-scaffold-ui@1.7.8':
+ resolution: {integrity: sha512-RCeHhAwOrIgcvHwYlNWMcIDibdI91waaoEYBGw71inE0kDB8uZbE7tE6DAXJmDkvl0qPh+DqlC4QbJLF1FVYdQ==}
+
+ '@reown/appkit-scaffold-ui@1.8.11':
+ resolution: {integrity: sha512-oCEhNdUh2d59UHp/rLwfzv5odWg0pw000fg4Z53orjnKzcZfBpBDM00I9hu2pijnaYitJVqwsqCQ1F1q6hju/Q==}
+
+ '@reown/appkit-ui@1.7.8':
+ resolution: {integrity: sha512-1hjCKjf6FLMFzrulhl0Y9Vb9Fu4royE+SXCPSWh4VhZhWqlzUFc7kutnZKx8XZFVQH4pbBvY62SpRC93gqoHow==}
+
+ '@reown/appkit-ui@1.8.11':
+ resolution: {integrity: sha512-kBWZCiGaB/M2exIiDglsaTWYsWR0L89WXi7IFA6RgW0B0piYv5eiS3l/KPNj9/zxK8UnKsGsMefxl/UK/QqMng==}
+
+ '@reown/appkit-utils@1.7.8':
+ resolution: {integrity: sha512-8X7UvmE8GiaoitCwNoB86pttHgQtzy4ryHZM9kQpvjQ0ULpiER44t1qpVLXNM4X35O0v18W0Dk60DnYRMH2WRw==}
+ peerDependencies:
+ valtio: 1.13.2
+
+ '@reown/appkit-utils@1.8.11':
+ resolution: {integrity: sha512-6Wplz7LNe2HoxHmGGYT6FIp8saa0DzVP/427jlNuWpkL65/azPyYjA8tKptxbFWViQ4VYBsqLoQxivXC/xNMBg==}
+ peerDependencies:
+ valtio: 2.1.7
+
+ '@reown/appkit-wallet@1.7.8':
+ resolution: {integrity: sha512-kspz32EwHIOT/eg/ZQbFPxgXq0B/olDOj3YMu7gvLEFz4xyOFd/wgzxxAXkp5LbG4Cp++s/elh79rVNmVFdB9A==}
+
+ '@reown/appkit-wallet@1.8.11':
+ resolution: {integrity: sha512-tCzrieMuOD4tDcNQjMe83T38tJUfRdv4LG+cYGyGK1RpPGaszbq06TQVbCPkRrGiTELwkrKwXjSg1XAuHktS2w==}
+
+ '@reown/appkit@1.7.8':
+ resolution: {integrity: sha512-51kTleozhA618T1UvMghkhKfaPcc9JlKwLJ5uV+riHyvSoWPKPRIa5A6M1Wano5puNyW0s3fwywhyqTHSilkaA==}
+
+ '@reown/appkit@1.8.11':
+ resolution: {integrity: sha512-G96zt1P3ASrivV7HRrFQuzkCEzSmy3ca7cSQxaLeIS+P2VVhjE5YAyINArGVbooY0heHCPvQuTNM+YgK4oBmfg==}
+
+ '@safe-global/safe-apps-provider@0.18.6':
+ resolution: {integrity: sha512-4LhMmjPWlIO8TTDC2AwLk44XKXaK6hfBTWyljDm0HQ6TWlOEijVWNrt2s3OCVMSxlXAcEzYfqyu1daHZooTC2Q==}
+
+ '@safe-global/safe-apps-sdk@9.1.0':
+ resolution: {integrity: sha512-N5p/ulfnnA2Pi2M3YeWjULeWbjo7ei22JwU/IXnhoHzKq3pYCN6ynL9mJBOlvDVv892EgLPCWCOwQk/uBT2v0Q==}
+
+ '@safe-global/safe-gateway-typescript-sdk@3.23.1':
+ resolution: {integrity: sha512-6ORQfwtEJYpalCeVO21L4XXGSdbEMfyp2hEv6cP82afKXSwvse6d3sdelgaPWUxHIsFRkWvHDdzh8IyyKHZKxw==}
+ engines: {node: '>=16'}
+
+ '@scure/base@1.1.9':
+ resolution: {integrity: sha512-8YKhl8GHiNI/pU2VMaofa2Tor7PJRAjwQLBBuilkJ9L5+13yVbC7JO/wS7piioAvPSwR3JKM1IJ/u4xQzbcXKg==}
+
+ '@scure/base@1.2.6':
+ resolution: {integrity: sha512-g/nm5FgUa//MCj1gV09zTJTaM6KBAHqLN907YVQqf7zC49+DcO4B1so4ZX07Ef10Twr6nuqYEH9GEggFXA4Fmg==}
+
+ '@scure/bip32@1.4.0':
+ resolution: {integrity: sha512-sVUpc0Vq3tXCkDGYVWGIZTRfnvu8LoTDaev7vbwh0omSvVORONr960MQWdKqJDCReIEmTj3PAr73O3aoxz7OPg==}
+
+ '@scure/bip32@1.6.2':
+ resolution: {integrity: sha512-t96EPDMbtGgtb7onKKqxRLfE5g05k7uHnHRM2xdE6BP/ZmxaLtPek4J4KfVn/90IQNrU1IOAqMgiDtUdtbe3nw==}
+
+ '@scure/bip32@1.7.0':
+ resolution: {integrity: sha512-E4FFX/N3f4B80AKWp5dP6ow+flD1LQZo/w8UnLGYZO674jS6YnYeepycOOksv+vLPSpgN35wgKgy+ybfTb2SMw==}
+
+ '@scure/bip39@1.3.0':
+ resolution: {integrity: sha512-disdg7gHuTDZtY+ZdkmLpPCk7fxZSu3gBiEGuoC1XYxv9cGx3Z6cpTggCgW6odSOOIXCiDjuGejW+aJKCY/pIQ==}
+
+ '@scure/bip39@1.5.4':
+ resolution: {integrity: sha512-TFM4ni0vKvCfBpohoh+/lY05i9gRbSwXWngAsF4CABQxoaOHijxuaZ2R6cStDQ5CHtHO9aGJTr4ksVJASRRyMA==}
+
+ '@scure/bip39@1.6.0':
+ resolution: {integrity: sha512-+lF0BbLiJNwVlev4eKelw1WWLaiKXw7sSl8T6FvBlWkdX+94aGJ4o8XjUdlyhTCjd8c+B3KT3JfS8P0bLRNU6A==}
+
+ '@socket.io/component-emitter@3.1.2':
+ resolution: {integrity: sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==}
+
+ '@solana-program/compute-budget@0.8.0':
+ resolution: {integrity: sha512-qPKxdxaEsFxebZ4K5RPuy7VQIm/tfJLa1+Nlt3KNA8EYQkz9Xm8htdoEaXVrer9kpgzzp9R3I3Bh6omwCM06tQ==}
+ peerDependencies:
+ '@solana/kit': ^2.1.0
+
+ '@solana-program/system@0.8.1':
+ resolution: {integrity: sha512-71U9Mzdpw8HQtfgfJSL5xKZbLMRnza2Llsfk7gGnmg2waqK+o8MMH4YNma8xXS1UmOBptXIiNvoZ3p7cmOVktg==}
+ peerDependencies:
+ '@solana/kit': ^3.0
+
+ '@solana-program/token-2022@0.4.2':
+ resolution: {integrity: sha512-zIpR5t4s9qEU3hZKupzIBxJ6nUV5/UVyIT400tu9vT1HMs5JHxaTTsb5GUhYjiiTvNwU0MQavbwc4Dl29L0Xvw==}
+ peerDependencies:
+ '@solana/kit': ^2.1.0
+ '@solana/sysvars': ^2.1.0
+
+ '@solana-program/token@0.5.1':
+ resolution: {integrity: sha512-bJvynW5q9SFuVOZ5vqGVkmaPGA0MCC+m9jgJj1nk5m20I389/ms69ASnhWGoOPNcie7S9OwBX0gTj2fiyWpfag==}
+ peerDependencies:
+ '@solana/kit': ^2.1.0
+
+ '@solana-program/token@0.6.0':
+ resolution: {integrity: sha512-omkZh4Tt9rre4wzWHNOhOEHyenXQku3xyc/UrKvShexA/Qlhza67q7uRwmwEDUs4QqoDBidSZPooOmepnA/jig==}
+ peerDependencies:
+ '@solana/kit': ^3.0
+
+ '@solana/accounts@2.3.0':
+ resolution: {integrity: sha512-QgQTj404Z6PXNOyzaOpSzjgMOuGwG8vC66jSDB+3zHaRcEPRVRd2sVSrd1U6sHtnV3aiaS6YyDuPQMheg4K2jw==}
+ engines: {node: '>=20.18.0'}
+ peerDependencies:
+ typescript: '>=5.3.3'
+
+ '@solana/accounts@3.0.3':
+ resolution: {integrity: sha512-KqlePrlZaHXfu8YQTCxN204ZuVm9o68CCcUr6l27MG2cuRUtEM1Ta0iR8JFkRUAEfZJC4Cu0ZDjK/v49loXjZQ==}
+ engines: {node: '>=20.18.0'}
+ peerDependencies:
+ typescript: '>=5.3.3'
+
+ '@solana/addresses@2.3.0':
+ resolution: {integrity: sha512-ypTNkY2ZaRFpHLnHAgaW8a83N0/WoqdFvCqf4CQmnMdFsZSdC7qOwcbd7YzdaQn9dy+P2hybewzB+KP7LutxGA==}
+ engines: {node: '>=20.18.0'}
+ peerDependencies:
+ typescript: '>=5.3.3'
+
+ '@solana/addresses@3.0.3':
+ resolution: {integrity: sha512-AuMwKhJI89ANqiuJ/fawcwxNKkSeHH9CApZd2xelQQLS7X8uxAOovpcmEgiObQuiVP944s9ScGUT62Bdul9qYg==}
+ engines: {node: '>=20.18.0'}
+ peerDependencies:
+ typescript: '>=5.3.3'
+
+ '@solana/assertions@2.3.0':
+ resolution: {integrity: sha512-Ekoet3khNg3XFLN7MIz8W31wPQISpKUGDGTylLptI+JjCDWx3PIa88xjEMqFo02WJ8sBj2NLV64Xg1sBcsHjZQ==}
+ engines: {node: '>=20.18.0'}
+ peerDependencies:
+ typescript: '>=5.3.3'
+
+ '@solana/assertions@3.0.3':
+ resolution: {integrity: sha512-2qspxdbWp2y62dfCIlqeWQr4g+hE8FYSSwcaP6itwMwGRb8393yDGCJfI/znuzJh6m/XVWhMHIgFgsBwnevCmg==}
+ engines: {node: '>=20.18.0'}
+ peerDependencies:
+ typescript: '>=5.3.3'
+
+ '@solana/buffer-layout@4.0.1':
+ resolution: {integrity: sha512-E1ImOIAD1tBZFRdjeM4/pzTiTApC0AOBGwyAMS4fwIodCWArzJ3DWdoh8cKxeFM2fElkxBh2Aqts1BPC373rHA==}
+ engines: {node: '>=5.10'}
+
+ '@solana/codecs-core@2.3.0':
+ resolution: {integrity: sha512-oG+VZzN6YhBHIoSKgS5ESM9VIGzhWjEHEGNPSibiDTxFhsFWxNaz8LbMDPjBUE69r9wmdGLkrQ+wVPbnJcZPvw==}
+ engines: {node: '>=20.18.0'}
+ peerDependencies:
+ typescript: '>=5.3.3'
+
+ '@solana/codecs-core@3.0.3':
+ resolution: {integrity: sha512-emKykJ3h1DmnDOY29Uv9eJXP8E/FHzvlUBJ6te+5EbKdFjj7vdlKYPfDxOI6iGdXTY+YC/ELtbNBh6QwF2uEDQ==}
+ engines: {node: '>=20.18.0'}
+ peerDependencies:
+ typescript: '>=5.3.3'
+
+ '@solana/codecs-data-structures@2.3.0':
+ resolution: {integrity: sha512-qvU5LE5DqEdYMYgELRHv+HMOx73sSoV1ZZkwIrclwUmwTbTaH8QAJURBj0RhQ/zCne7VuLLOZFFGv6jGigWhSw==}
+ engines: {node: '>=20.18.0'}
+ peerDependencies:
+ typescript: '>=5.3.3'
+
+ '@solana/codecs-data-structures@3.0.3':
+ resolution: {integrity: sha512-R15cLp8riJvToXziW8lP6AMSwsztGhEnwgyGmll32Mo0Yjq+hduW2/fJrA/TJs6tA/OgTzMQjlxgk009EqZHCw==}
+ engines: {node: '>=20.18.0'}
+ peerDependencies:
+ typescript: '>=5.3.3'
+
+ '@solana/codecs-numbers@2.3.0':
+ resolution: {integrity: sha512-jFvvwKJKffvG7Iz9dmN51OGB7JBcy2CJ6Xf3NqD/VP90xak66m/Lg48T01u5IQ/hc15mChVHiBm+HHuOFDUrQg==}
+ engines: {node: '>=20.18.0'}
+ peerDependencies:
+ typescript: '>=5.3.3'
+
+ '@solana/codecs-numbers@3.0.3':
+ resolution: {integrity: sha512-pfXkH9J0glrM8qj6389GAn30+cJOxzXLR2FsPOHCUMXrqLhGjMMZAWhsQkpOQ37SGc/7EiQsT/gmyGC7gxHqJQ==}
+ engines: {node: '>=20.18.0'}
+ peerDependencies:
+ typescript: '>=5.3.3'
+
+ '@solana/codecs-strings@2.3.0':
+ resolution: {integrity: sha512-y5pSBYwzVziXu521hh+VxqUtp0hYGTl1eWGoc1W+8mdvBdC1kTqm/X7aYQw33J42hw03JjryvYOvmGgk3Qz/Ug==}
+ engines: {node: '>=20.18.0'}
+ peerDependencies:
+ fastestsmallesttextencoderdecoder: ^1.0.22
+ typescript: '>=5.3.3'
+
+ '@solana/codecs-strings@3.0.3':
+ resolution: {integrity: sha512-VHBXnnTVtcQ1j+7Vrz+qSYo38no+jiHRdGnhFspRXEHNJbllzwKqgBE7YN3qoIXH+MKxgJUcwO5KHmdzf8Wn2A==}
+ engines: {node: '>=20.18.0'}
+ peerDependencies:
+ fastestsmallesttextencoderdecoder: ^1.0.22
+ typescript: '>=5.3.3'
+
+ '@solana/codecs@2.3.0':
+ resolution: {integrity: sha512-JVqGPkzoeyU262hJGdH64kNLH0M+Oew2CIPOa/9tR3++q2pEd4jU2Rxdfye9sd0Ce3XJrR5AIa8ZfbyQXzjh+g==}
+ engines: {node: '>=20.18.0'}
+ peerDependencies:
+ typescript: '>=5.3.3'
+
+ '@solana/codecs@3.0.3':
+ resolution: {integrity: sha512-GOHwTlIQsCoJx9Ryr6cEf0FHKAQ7pY4aO4xgncAftrv0lveTQ1rPP2inQ1QT0gJllsIa8nwbfXAADs9nNJxQDA==}
+ engines: {node: '>=20.18.0'}
+ peerDependencies:
+ typescript: '>=5.3.3'
+
+ '@solana/errors@2.3.0':
+ resolution: {integrity: sha512-66RI9MAbwYV0UtP7kGcTBVLxJgUxoZGm8Fbc0ah+lGiAw17Gugco6+9GrJCV83VyF2mDWyYnYM9qdI3yjgpnaQ==}
+ engines: {node: '>=20.18.0'}
+ hasBin: true
+ peerDependencies:
+ typescript: '>=5.3.3'
+
+ '@solana/errors@3.0.3':
+ resolution: {integrity: sha512-1l84xJlHNva6io62PcYfUamwWlc0eM95nHgCrKX0g0cLoC6D6QHYPCEbEVkR+C5UtP9JDgyQM8MFiv+Ei5tO9Q==}
+ engines: {node: '>=20.18.0'}
+ hasBin: true
+ peerDependencies:
+ typescript: '>=5.3.3'
+
+ '@solana/fast-stable-stringify@2.3.0':
+ resolution: {integrity: sha512-KfJPrMEieUg6D3hfQACoPy0ukrAV8Kio883llt/8chPEG3FVTX9z/Zuf4O01a15xZmBbmQ7toil2Dp0sxMJSxw==}
+ engines: {node: '>=20.18.0'}
+ peerDependencies:
+ typescript: '>=5.3.3'
+
+ '@solana/fast-stable-stringify@3.0.3':
+ resolution: {integrity: sha512-ED0pxB6lSEYvg+vOd5hcuQrgzEDnOrURFgp1ZOY+lQhJkQU6xo+P829NcJZQVP1rdU2/YQPAKJKEseyfe9VMIw==}
+ engines: {node: '>=20.18.0'}
+ peerDependencies:
+ typescript: '>=5.3.3'
+
+ '@solana/functional@2.3.0':
+ resolution: {integrity: sha512-AgsPh3W3tE+nK3eEw/W9qiSfTGwLYEvl0rWaxHht/lRcuDVwfKRzeSa5G79eioWFFqr+pTtoCr3D3OLkwKz02Q==}
+ engines: {node: '>=20.18.0'}
+ peerDependencies:
+ typescript: '>=5.3.3'
+
+ '@solana/functional@3.0.3':
+ resolution: {integrity: sha512-2qX1kKANn8995vOOh5S9AmF4ItGZcfbny0w28Eqy8AFh+GMnSDN4gqpmV2LvxBI9HibXZptGH3RVOMk82h1Mpw==}
+ engines: {node: '>=20.18.0'}
+ peerDependencies:
+ typescript: '>=5.3.3'
+
+ '@solana/instruction-plans@3.0.3':
+ resolution: {integrity: sha512-eqoaPtWtmLTTpdvbt4BZF5H6FIlJtXi9H7qLOM1dLYonkOX2Ncezx5NDCZ9tMb2qxVMF4IocYsQnNSnMfjQF1w==}
+ engines: {node: '>=20.18.0'}
+ peerDependencies:
+ typescript: '>=5.3.3'
+
+ '@solana/instructions@2.3.0':
+ resolution: {integrity: sha512-PLMsmaIKu7hEAzyElrk2T7JJx4D+9eRwebhFZpy2PXziNSmFF929eRHKUsKqBFM3cYR1Yy3m6roBZfA+bGE/oQ==}
+ engines: {node: '>=20.18.0'}
+ peerDependencies:
+ typescript: '>=5.3.3'
+
+ '@solana/instructions@3.0.3':
+ resolution: {integrity: sha512-4csIi8YUDb5j/J+gDzmYtOvq7ZWLbCxj4t0xKn+fPrBk/FD2pK29KVT3Fu7j4Lh1/ojunQUP9X4NHwUexY3PnA==}
+ engines: {node: '>=20.18.0'}
+ peerDependencies:
+ typescript: '>=5.3.3'
+
+ '@solana/keys@2.3.0':
+ resolution: {integrity: sha512-ZVVdga79pNH+2pVcm6fr2sWz9HTwfopDVhYb0Lh3dh+WBmJjwkabXEIHey2rUES7NjFa/G7sV8lrUn/v8LDCCQ==}
+ engines: {node: '>=20.18.0'}
+ peerDependencies:
+ typescript: '>=5.3.3'
+
+ '@solana/keys@3.0.3':
+ resolution: {integrity: sha512-tp8oK9tMadtSIc4vF4aXXWkPd4oU5XPW8nf28NgrGDWGt25fUHIydKjkf2hPtMt9i1WfRyQZ33B5P3dnsNqcPQ==}
+ engines: {node: '>=20.18.0'}
+ peerDependencies:
+ typescript: '>=5.3.3'
+
+ '@solana/kit@2.3.0':
+ resolution: {integrity: sha512-sb6PgwoW2LjE5oTFu4lhlS/cGt/NB3YrShEyx7JgWFWysfgLdJnhwWThgwy/4HjNsmtMrQGWVls0yVBHcMvlMQ==}
+ engines: {node: '>=20.18.0'}
+ peerDependencies:
+ typescript: '>=5.3.3'
+
+ '@solana/kit@3.0.3':
+ resolution: {integrity: sha512-CEEhCDmkvztd1zbgADsEQhmj9GyWOOGeW1hZD+gtwbBSF5YN1uofS/pex5MIh/VIqKRj+A2UnYWI1V+9+q/lyQ==}
+ engines: {node: '>=20.18.0'}
+ peerDependencies:
+ typescript: '>=5.3.3'
+
+ '@solana/nominal-types@2.3.0':
+ resolution: {integrity: sha512-uKlMnlP4PWW5UTXlhKM8lcgIaNj8dvd8xO4Y9l+FVvh9RvW2TO0GwUO6JCo7JBzCB0PSqRJdWWaQ8pu1Ti/OkA==}
+ engines: {node: '>=20.18.0'}
+ peerDependencies:
+ typescript: '>=5.3.3'
+
+ '@solana/nominal-types@3.0.3':
+ resolution: {integrity: sha512-aZavCiexeUAoMHRQg4s1AHkH3wscbOb70diyfjhwZVgFz1uUsFez7csPp9tNFkNolnadVb2gky7yBk3IImQJ6A==}
+ engines: {node: '>=20.18.0'}
+ peerDependencies:
+ typescript: '>=5.3.3'
+
+ '@solana/options@2.3.0':
+ resolution: {integrity: sha512-PPnnZBRCWWoZQ11exPxf//DRzN2C6AoFsDI/u2AsQfYih434/7Kp4XLpfOMT/XESi+gdBMFNNfbES5zg3wAIkw==}
+ engines: {node: '>=20.18.0'}
+ peerDependencies:
+ typescript: '>=5.3.3'
+
+ '@solana/options@3.0.3':
+ resolution: {integrity: sha512-jarsmnQ63RN0JPC5j9sgUat07NrL9PC71XU7pUItd6LOHtu4+wJMio3l5mT0DHVfkfbFLL6iI6+QmXSVhTNF3g==}
+ engines: {node: '>=20.18.0'}
+ peerDependencies:
+ typescript: '>=5.3.3'
+
+ '@solana/programs@2.3.0':
+ resolution: {integrity: sha512-UXKujV71VCI5uPs+cFdwxybtHZAIZyQkqDiDnmK+DawtOO9mBn4Nimdb/6RjR2CXT78mzO9ZCZ3qfyX+ydcB7w==}
+ engines: {node: '>=20.18.0'}
+ peerDependencies:
+ typescript: '>=5.3.3'
+
+ '@solana/programs@3.0.3':
+ resolution: {integrity: sha512-JZlVE3/AeSNDuH3aEzCZoDu8GTXkMpGXxf93zXLzbxfxhiQ/kHrReN4XE/JWZ/uGWbaFZGR5B3UtdN2QsoZL7w==}
+ engines: {node: '>=20.18.0'}
+ peerDependencies:
+ typescript: '>=5.3.3'
+
+ '@solana/promises@2.3.0':
+ resolution: {integrity: sha512-GjVgutZKXVuojd9rWy1PuLnfcRfqsaCm7InCiZc8bqmJpoghlyluweNc7ml9Y5yQn1P2IOyzh9+p/77vIyNybQ==}
+ engines: {node: '>=20.18.0'}
+ peerDependencies:
+ typescript: '>=5.3.3'
+
+ '@solana/promises@3.0.3':
+ resolution: {integrity: sha512-K+UflGBVxj30XQMHTylHHZJdKH5QG3oj5k2s42GrZ/Wbu72oapVJySMBgpK45+p90t8/LEqV6rRPyTXlet9J+Q==}
+ engines: {node: '>=20.18.0'}
+ peerDependencies:
+ typescript: '>=5.3.3'
+
+ '@solana/rpc-api@2.3.0':
+ resolution: {integrity: sha512-UUdiRfWoyYhJL9PPvFeJr4aJ554ob2jXcpn4vKmRVn9ire0sCbpQKYx6K8eEKHZWXKrDW8IDspgTl0gT/aJWVg==}
+ engines: {node: '>=20.18.0'}
+ peerDependencies:
+ typescript: '>=5.3.3'
+
+ '@solana/rpc-api@3.0.3':
+ resolution: {integrity: sha512-Yym9/Ama62OY69rAZgbOCAy1QlqaWAyb0VlqFuwSaZV1pkFCCFSwWEJEsiN1n8pb2ZP+RtwNvmYixvWizx9yvA==}
+ engines: {node: '>=20.18.0'}
+ peerDependencies:
+ typescript: '>=5.3.3'
+
+ '@solana/rpc-parsed-types@2.3.0':
+ resolution: {integrity: sha512-B5pHzyEIbBJf9KHej+zdr5ZNAdSvu7WLU2lOUPh81KHdHQs6dEb310LGxcpCc7HVE8IEdO20AbckewDiAN6OCg==}
+ engines: {node: '>=20.18.0'}
+ peerDependencies:
+ typescript: '>=5.3.3'
+
+ '@solana/rpc-parsed-types@3.0.3':
+ resolution: {integrity: sha512-/koM05IM2fU91kYDQxXil3VBNlOfcP+gXE0js1sdGz8KonGuLsF61CiKB5xt6u1KEXhRyDdXYLjf63JarL4Ozg==}
+ engines: {node: '>=20.18.0'}
+ peerDependencies:
+ typescript: '>=5.3.3'
+
+ '@solana/rpc-spec-types@2.3.0':
+ resolution: {integrity: sha512-xQsb65lahjr8Wc9dMtP7xa0ZmDS8dOE2ncYjlvfyw/h4mpdXTUdrSMi6RtFwX33/rGuztQ7Hwaid5xLNSLvsFQ==}
+ engines: {node: '>=20.18.0'}
+ peerDependencies:
+ typescript: '>=5.3.3'
+
+ '@solana/rpc-spec-types@3.0.3':
+ resolution: {integrity: sha512-A6Jt8SRRetnN3CeGAvGJxigA9zYRslGgWcSjueAZGvPX+MesFxEUjSWZCfl+FogVFvwkqfkgQZQbPAGZQFJQ6Q==}
+ engines: {node: '>=20.18.0'}
+ peerDependencies:
+ typescript: '>=5.3.3'
+
+ '@solana/rpc-spec@2.3.0':
+ resolution: {integrity: sha512-fA2LMX4BMixCrNB2n6T83AvjZ3oUQTu7qyPLyt8gHQaoEAXs8k6GZmu6iYcr+FboQCjUmRPgMaABbcr9j2J9Sw==}
+ engines: {node: '>=20.18.0'}
+ peerDependencies:
+ typescript: '>=5.3.3'
+
+ '@solana/rpc-spec@3.0.3':
+ resolution: {integrity: sha512-MZn5/8BebB6MQ4Gstw6zyfWsFAZYAyLzMK+AUf/rSfT8tPmWiJ/mcxnxqOXvFup/l6D67U8pyGpIoFqwCeZqqA==}
+ engines: {node: '>=20.18.0'}
+ peerDependencies:
+ typescript: '>=5.3.3'
+
+ '@solana/rpc-subscriptions-api@2.3.0':
+ resolution: {integrity: sha512-9mCjVbum2Hg9KGX3LKsrI5Xs0KX390lS+Z8qB80bxhar6MJPugqIPH8uRgLhCW9GN3JprAfjRNl7our8CPvsPQ==}
+ engines: {node: '>=20.18.0'}
+ peerDependencies:
+ typescript: '>=5.3.3'
+
+ '@solana/rpc-subscriptions-api@3.0.3':
+ resolution: {integrity: sha512-MGgVK3PUS15qsjuhimpzGZrKD/CTTvS0mAlQ0Jw84zsr1RJVdQJK/F0igu07BVd172eTZL8d90NoAQ3dahW5pA==}
+ engines: {node: '>=20.18.0'}
+ peerDependencies:
+ typescript: '>=5.3.3'
+
+ '@solana/rpc-subscriptions-channel-websocket@2.3.0':
+ resolution: {integrity: sha512-2oL6ceFwejIgeWzbNiUHI2tZZnaOxNTSerszcin7wYQwijxtpVgUHiuItM/Y70DQmH9sKhmikQp+dqeGalaJxw==}
+ engines: {node: '>=20.18.0'}
+ peerDependencies:
+ typescript: '>=5.3.3'
+ ws: ^8.18.0
+
+ '@solana/rpc-subscriptions-channel-websocket@3.0.3':
+ resolution: {integrity: sha512-zUzUlb8Cwnw+SHlsLrSqyBRtOJKGc+FvSNJo/vWAkLShoV0wUDMPv7VvhTngJx3B/3ANfrOZ4i08i9QfYPAvpQ==}
+ engines: {node: '>=20.18.0'}
+ peerDependencies:
+ typescript: '>=5.3.3'
+ ws: ^8.18.0
+
+ '@solana/rpc-subscriptions-spec@2.3.0':
+ resolution: {integrity: sha512-rdmVcl4PvNKQeA2l8DorIeALCgJEMSu7U8AXJS1PICeb2lQuMeaR+6cs/iowjvIB0lMVjYN2sFf6Q3dJPu6wWg==}
+ engines: {node: '>=20.18.0'}
+ peerDependencies:
+ typescript: '>=5.3.3'
+
+ '@solana/rpc-subscriptions-spec@3.0.3':
+ resolution: {integrity: sha512-9KpQ32OBJWS85mn6q3gkM0AjQe1LKYlMU7gpJRrla/lvXxNLhI95tz5K6StctpUreVmRWTVkNamHE69uUQyY8A==}
+ engines: {node: '>=20.18.0'}
+ peerDependencies:
+ typescript: '>=5.3.3'
+
+ '@solana/rpc-subscriptions@2.3.0':
+ resolution: {integrity: sha512-Uyr10nZKGVzvCOqwCZgwYrzuoDyUdwtgQRefh13pXIrdo4wYjVmoLykH49Omt6abwStB0a4UL5gX9V4mFdDJZg==}
+ engines: {node: '>=20.18.0'}
+ peerDependencies:
+ typescript: '>=5.3.3'
+
+ '@solana/rpc-subscriptions@3.0.3':
+ resolution: {integrity: sha512-LRvz6NaqvtsYFd32KwZ+rwYQ9XCs+DWjV8BvBLsJpt9/NWSuHf/7Sy/vvP6qtKxut692H/TMvHnC4iulg0WmiQ==}
+ engines: {node: '>=20.18.0'}
+ peerDependencies:
+ typescript: '>=5.3.3'
+
+ '@solana/rpc-transformers@2.3.0':
+ resolution: {integrity: sha512-UuHYK3XEpo9nMXdjyGKkPCOr7WsZsxs7zLYDO1A5ELH3P3JoehvrDegYRAGzBS2VKsfApZ86ZpJToP0K3PhmMA==}
+ engines: {node: '>=20.18.0'}
+ peerDependencies:
+ typescript: '>=5.3.3'
+
+ '@solana/rpc-transformers@3.0.3':
+ resolution: {integrity: sha512-lzdaZM/dG3s19Tsk4mkJA5JBoS1eX9DnD7z62gkDwrwJDkDBzkAJT9aLcsYFfTmwTfIp6uU2UPgGYc97i1wezw==}
+ engines: {node: '>=20.18.0'}
+ peerDependencies:
+ typescript: '>=5.3.3'
+
+ '@solana/rpc-transport-http@2.3.0':
+ resolution: {integrity: sha512-HFKydmxGw8nAF5N+S0NLnPBDCe5oMDtI2RAmW8DMqP4U3Zxt2XWhvV1SNkAldT5tF0U1vP+is6fHxyhk4xqEvg==}
+ engines: {node: '>=20.18.0'}
+ peerDependencies:
+ typescript: '>=5.3.3'
+
+ '@solana/rpc-transport-http@3.0.3':
+ resolution: {integrity: sha512-bIXFwr2LR5A97Z46dI661MJPbHnPfcShBjFzOS/8Rnr8P4ho3j/9EUtjDrsqoxGJT3SLWj5OlyXAlaDAvVTOUQ==}
+ engines: {node: '>=20.18.0'}
+ peerDependencies:
+ typescript: '>=5.3.3'
+
+ '@solana/rpc-types@2.3.0':
+ resolution: {integrity: sha512-O09YX2hED2QUyGxrMOxQ9GzH1LlEwwZWu69QbL4oYmIf6P5dzEEHcqRY6L1LsDVqc/dzAdEs/E1FaPrcIaIIPw==}
+ engines: {node: '>=20.18.0'}
+ peerDependencies:
+ typescript: '>=5.3.3'
+
+ '@solana/rpc-types@3.0.3':
+ resolution: {integrity: sha512-petWQ5xSny9UfmC3Qp2owyhNU0w9SyBww4+v7tSVyXMcCC9v6j/XsqTeimH1S0qQUllnv0/FY83ohFaxofmZ6Q==}
+ engines: {node: '>=20.18.0'}
+ peerDependencies:
+ typescript: '>=5.3.3'
+
+ '@solana/rpc@2.3.0':
+ resolution: {integrity: sha512-ZWN76iNQAOCpYC7yKfb3UNLIMZf603JckLKOOLTHuy9MZnTN8XV6uwvDFhf42XvhglgUjGCEnbUqWtxQ9pa/pQ==}
+ engines: {node: '>=20.18.0'}
+ peerDependencies:
+ typescript: '>=5.3.3'
+
+ '@solana/rpc@3.0.3':
+ resolution: {integrity: sha512-3oukAaLK78GegkKcm6iNmRnO4mFeNz+BMvA8T56oizoBNKiRVEq/6DFzVX/LkmZ+wvD601pAB3uCdrTPcC0YKQ==}
+ engines: {node: '>=20.18.0'}
+ peerDependencies:
+ typescript: '>=5.3.3'
+
+ '@solana/signers@2.3.0':
+ resolution: {integrity: sha512-OSv6fGr/MFRx6J+ZChQMRqKNPGGmdjkqarKkRzkwmv7v8quWsIRnJT5EV8tBy3LI4DLO/A8vKiNSPzvm1TdaiQ==}
+ engines: {node: '>=20.18.0'}
+ peerDependencies:
+ typescript: '>=5.3.3'
+
+ '@solana/signers@3.0.3':
+ resolution: {integrity: sha512-UwCd/uPYTZiwd283JKVyOWLLN5sIgMBqGDyUmNU3vo9hcmXKv5ZGm/9TvwMY2z35sXWuIOcj7etxJ8OoWc/ObQ==}
+ engines: {node: '>=20.18.0'}
+ peerDependencies:
+ typescript: '>=5.3.3'
+
+ '@solana/subscribable@2.3.0':
+ resolution: {integrity: sha512-DkgohEDbMkdTWiKAoatY02Njr56WXx9e/dKKfmne8/Ad6/2llUIrax78nCdlvZW9quXMaXPTxZvdQqo9N669Og==}
+ engines: {node: '>=20.18.0'}
+ peerDependencies:
+ typescript: '>=5.3.3'
+
+ '@solana/subscribable@3.0.3':
+ resolution: {integrity: sha512-FJ27LKGHLQ5GGttPvTOLQDLrrOZEgvaJhB7yYaHAhPk25+p+erBaQpjePhfkMyUbL1FQbxn1SUJmS6jUuaPjlQ==}
+ engines: {node: '>=20.18.0'}
+ peerDependencies:
+ typescript: '>=5.3.3'
+
+ '@solana/sysvars@2.3.0':
+ resolution: {integrity: sha512-LvjADZrpZ+CnhlHqfI5cmsRzX9Rpyb1Ox2dMHnbsRNzeKAMhu9w4ZBIaeTdO322zsTr509G1B+k2ABD3whvUBA==}
+ engines: {node: '>=20.18.0'}
+ peerDependencies:
+ typescript: '>=5.3.3'
+
+ '@solana/sysvars@3.0.3':
+ resolution: {integrity: sha512-GnHew+QeKCs2f9ow+20swEJMH4mDfJA/QhtPgOPTYQx/z69J4IieYJ7fZenSHnA//lJ45fVdNdmy1trypvPLBQ==}
+ engines: {node: '>=20.18.0'}
+ peerDependencies:
+ typescript: '>=5.3.3'
+
+ '@solana/transaction-confirmation@2.3.0':
+ resolution: {integrity: sha512-UiEuiHCfAAZEKdfne/XljFNJbsKAe701UQHKXEInYzIgBjRbvaeYZlBmkkqtxwcasgBTOmEaEKT44J14N9VZDw==}
+ engines: {node: '>=20.18.0'}
+ peerDependencies:
+ typescript: '>=5.3.3'
+
+ '@solana/transaction-confirmation@3.0.3':
+ resolution: {integrity: sha512-dXx0OLtR95LMuARgi2dDQlL1QYmk56DOou5q9wKymmeV3JTvfDExeWXnOgjRBBq/dEfj4ugN1aZuTaS18UirFw==}
+ engines: {node: '>=20.18.0'}
+ peerDependencies:
+ typescript: '>=5.3.3'
+
+ '@solana/transaction-messages@2.3.0':
+ resolution: {integrity: sha512-bgqvWuy3MqKS5JdNLH649q+ngiyOu5rGS3DizSnWwYUd76RxZl1kN6CoqHSrrMzFMvis6sck/yPGG3wqrMlAww==}
+ engines: {node: '>=20.18.0'}
+ peerDependencies:
+ typescript: '>=5.3.3'
+
+ '@solana/transaction-messages@3.0.3':
+ resolution: {integrity: sha512-s+6NWRnBhnnjFWV4x2tzBzoWa6e5LiIxIvJlWwVQBFkc8fMGY04w7jkFh0PM08t/QFKeXBEWkyBDa/TFYdkWug==}
+ engines: {node: '>=20.18.0'}
+ peerDependencies:
+ typescript: '>=5.3.3'
+
+ '@solana/transactions@2.3.0':
+ resolution: {integrity: sha512-LnTvdi8QnrQtuEZor5Msje61sDpPstTVwKg4y81tNxDhiyomjuvnSNLAq6QsB9gIxUqbNzPZgOG9IU4I4/Uaug==}
+ engines: {node: '>=20.18.0'}
+ peerDependencies:
+ typescript: '>=5.3.3'
+
+ '@solana/transactions@3.0.3':
+ resolution: {integrity: sha512-iMX+n9j4ON7H1nKlWEbMqMOpKYC6yVGxKKmWHT1KdLRG7v+03I4DnDeFoI+Zmw56FA+7Bbne8jwwX60Q1vk/MQ==}
+ engines: {node: '>=20.18.0'}
+ peerDependencies:
+ typescript: '>=5.3.3'
+
+ '@solana/web3.js@1.98.4':
+ resolution: {integrity: sha512-vv9lfnvjUsRiq//+j5pBdXig0IQdtzA0BRZ3bXEP4KaIyF1CcaydWqgyzQgfZMNIsWNWmG+AUHwPy4AHOD6gpw==}
+
+ '@standard-schema/spec@1.0.0':
+ resolution: {integrity: sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==}
+
+ '@swc/helpers@0.5.17':
+ resolution: {integrity: sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==}
+
+ '@tanstack/query-core@5.90.7':
+ resolution: {integrity: sha512-6PN65csiuTNfBMXqQUxQhCNdtm1rV+9kC9YwWAIKcaxAauq3Wu7p18j3gQY3YIBJU70jT/wzCCZ2uqto/vQgiQ==}
+
+ '@tanstack/react-query@5.90.7':
+ resolution: {integrity: sha512-wAHc/cgKzW7LZNFloThyHnV/AX9gTg3w5yAv0gvQHPZoCnepwqCMtzbuPbb2UvfvO32XZ46e8bPOYbfZhzVnnQ==}
+ peerDependencies:
+ react: ^18 || ^19
+
+ '@types/connect@3.4.38':
+ resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==}
+
+ '@types/debug@4.1.12':
+ resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==}
+
+ '@types/lodash@4.17.20':
+ resolution: {integrity: sha512-H3MHACvFUEiujabxhaI/ImO6gUrd8oOurg7LQtS7mbwIXA/cUqWrvBsaeJ23aZEPk1TAYkurjfMbSELfoCXlGA==}
+
+ '@types/ms@2.1.0':
+ resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==}
+
+ '@types/node@12.20.55':
+ resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==}
+
+ '@types/node@22.19.0':
+ resolution: {integrity: sha512-xpr/lmLPQEj+TUnHmR+Ab91/glhJvsqcjB+yY0Ix9GO70H6Lb4FHH5GeqdOE5btAx7eIMwuHkp4H2MSkLcqWbA==}
+
+ '@types/qrcode-terminal@0.12.2':
+ resolution: {integrity: sha512-v+RcIEJ+Uhd6ygSQ0u5YYY7ZM+la7GgPbs0V/7l/kFs2uO4S8BcIUEMoP7za4DNIqNnUD5npf0A/7kBhrCKG5Q==}
+
+ '@types/react@19.2.2':
+ resolution: {integrity: sha512-6mDvHUFSjyT2B2yeNx2nUgMxh9LtOWvkhIU3uePn2I2oyNymUAX1NIsdgviM4CH+JSrp2D2hsMvJOkxY+0wNRA==}
+
+ '@types/trusted-types@2.0.7':
+ resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==}
+
+ '@types/uuid@8.3.4':
+ resolution: {integrity: sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==}
+
+ '@types/ws@7.4.7':
+ resolution: {integrity: sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==}
+
+ '@types/ws@8.18.1':
+ resolution: {integrity: sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==}
+
+ '@vercel/oidc@3.0.3':
+ resolution: {integrity: sha512-yNEQvPcVrK9sIe637+I0jD6leluPxzwJKx/Haw6F4H77CdDsszUn5V3o96LPziXkSNE2B83+Z3mjqGKBK/R6Gg==}
+ engines: {node: '>= 20'}
+
+ '@wagmi/connectors@6.1.3':
+ resolution: {integrity: sha512-Rx3/4Rug3SrBC/WSuNUC0XEpWC/yP71BhQzz3u064ueemIWtvrIxXZxH2byWd0dF3osarjuHBr904bm3L6eNHg==}
+ peerDependencies:
+ '@wagmi/core': 2.22.1
+ typescript: '>=5.0.4'
+ viem: 2.x
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
+ '@wagmi/core@2.22.1':
+ resolution: {integrity: sha512-cG/xwQWsBEcKgRTkQVhH29cbpbs/TdcUJVFXCyri3ZknxhMyGv0YEjTcrNpRgt2SaswL1KrvslSNYKKo+5YEAg==}
+ peerDependencies:
+ '@tanstack/query-core': '>=5.0.0'
+ typescript: '>=5.0.4'
+ viem: 2.x
+ peerDependenciesMeta:
+ '@tanstack/query-core':
+ optional: true
+ typescript:
+ optional: true
+
+ '@wallet-standard/base@1.1.0':
+ resolution: {integrity: sha512-DJDQhjKmSNVLKWItoKThJS+CsJQjR9AOBOirBVT1F9YpRyC9oYHE+ZnSf8y8bxUphtKqdQMPVQ2mHohYdRvDVQ==}
+ engines: {node: '>=16'}
+
+ '@wallet-standard/wallet@1.1.0':
+ resolution: {integrity: sha512-Gt8TnSlDZpAl+RWOOAB/kuvC7RpcdWAlFbHNoi4gsXsfaWa1QCT6LBcfIYTPdOZC9OVZUDwqGuGAcqZejDmHjg==}
+ engines: {node: '>=16'}
+
+ '@walletconnect/core@2.21.0':
+ resolution: {integrity: sha512-o6R7Ua4myxR8aRUAJ1z3gT9nM+jd2B2mfamu6arzy1Cc6vi10fIwFWb6vg3bC8xJ6o9H3n/cN5TOW3aA9Y1XVw==}
+ engines: {node: '>=18'}
+
+ '@walletconnect/core@2.21.1':
+ resolution: {integrity: sha512-Tp4MHJYcdWD846PH//2r+Mu4wz1/ZU/fr9av1UWFiaYQ2t2TPLDiZxjLw54AAEpMqlEHemwCgiRiAmjR1NDdTQ==}
+ engines: {node: '>=18'}
+
+ '@walletconnect/core@2.22.4':
+ resolution: {integrity: sha512-ZQnyDDpqDPAk5lyLV19BRccQ3wwK3LmAwibuIv3X+44aT/dOs2kQGu9pla3iW2LgZ5qRMYvgvvfr5g3WlDGceQ==}
+ engines: {node: '>=18.20.8'}
+
+ '@walletconnect/core@2.23.0':
+ resolution: {integrity: sha512-W++xuXf+AsMPrBWn1It8GheIbCTp1ynTQP+aoFB86eUwyCtSiK7UQsn/+vJZdwElrn+Ptp2A0RqQx2onTMVHjQ==}
+ engines: {node: '>=18.20.8'}
+
+ '@walletconnect/environment@1.0.1':
+ resolution: {integrity: sha512-T426LLZtHj8e8rYnKfzsw1aG6+M0BT1ZxayMdv/p8yM0MU+eJDISqNY3/bccxRr4LrF9csq02Rhqt08Ibl0VRg==}
+
+ '@walletconnect/ethereum-provider@2.21.1':
+ resolution: {integrity: sha512-SSlIG6QEVxClgl1s0LMk4xr2wg4eT3Zn/Hb81IocyqNSGfXpjtawWxKxiC5/9Z95f1INyBD6MctJbL/R1oBwIw==}
+ deprecated: 'Reliability and performance improvements. See: https://github.com/WalletConnect/walletconnect-monorepo/releases'
+
+ '@walletconnect/ethereum-provider@2.23.0':
+ resolution: {integrity: sha512-jDuFarWWTbET2UhwUBBDfr1ZcPnrKBmqQtIc5EG6+ftzD+GcCz+cEJH7YJ5O77IdT8Uds9ETuIngvRokyWRSUw==}
+
+ '@walletconnect/events@1.0.1':
+ resolution: {integrity: sha512-NPTqaoi0oPBVNuLv7qPaJazmGHs5JGyO8eEAk5VGKmJzDR7AHzD4k6ilox5kxk1iwiOnFopBOOMLs86Oa76HpQ==}
+
+ '@walletconnect/heartbeat@1.2.2':
+ resolution: {integrity: sha512-uASiRmC5MwhuRuf05vq4AT48Pq8RMi876zV8rr8cV969uTOzWdB/k+Lj5yI2PBtB1bGQisGen7MM1GcZlQTBXw==}
+
+ '@walletconnect/jsonrpc-http-connection@1.0.8':
+ resolution: {integrity: sha512-+B7cRuaxijLeFDJUq5hAzNyef3e3tBDIxyaCNmFtjwnod5AGis3RToNqzFU33vpVcxFhofkpE7Cx+5MYejbMGw==}
+
+ '@walletconnect/jsonrpc-provider@1.0.14':
+ resolution: {integrity: sha512-rtsNY1XqHvWj0EtITNeuf8PHMvlCLiS3EjQL+WOkxEOA4KPxsohFnBDeyPYiNm4ZvkQdLnece36opYidmtbmow==}
+
+ '@walletconnect/jsonrpc-types@1.0.4':
+ resolution: {integrity: sha512-P6679fG/M+wuWg9TY8mh6xFSdYnFyFjwFelxyISxMDrlbXokorEVXYOxiqEbrU3x1BmBoCAJJ+vtEaEoMlpCBQ==}
+
+ '@walletconnect/jsonrpc-utils@1.0.8':
+ resolution: {integrity: sha512-vdeb03bD8VzJUL6ZtzRYsFMq1eZQcM3EAzT0a3st59dyLfJ0wq+tKMpmGH7HlB7waD858UWgfIcudbPFsbzVdw==}
+
+ '@walletconnect/jsonrpc-ws-connection@1.0.16':
+ resolution: {integrity: sha512-G81JmsMqh5nJheE1mPst1W0WfVv0SG3N7JggwLLGnI7iuDZJq8cRJvQwLGKHn5H1WTW7DEPCo00zz5w62AbL3Q==}
+
+ '@walletconnect/keyvaluestorage@1.1.1':
+ resolution: {integrity: sha512-V7ZQq2+mSxAq7MrRqDxanTzu2RcElfK1PfNYiaVnJgJ7Q7G7hTVwF8voIBx92qsRyGHZihrwNPHuZd1aKkd0rA==}
+ peerDependencies:
+ '@react-native-async-storage/async-storage': 1.x
+ peerDependenciesMeta:
+ '@react-native-async-storage/async-storage':
+ optional: true
+
+ '@walletconnect/logger@2.1.2':
+ resolution: {integrity: sha512-aAb28I3S6pYXZHQm5ESB+V6rDqIYfsnHaQyzFbwUUBFY4H0OXx/YtTl8lvhUNhMMfb9UxbwEBS253TlXUYJWSw==}
+
+ '@walletconnect/logger@3.0.0':
+ resolution: {integrity: sha512-DDktPBFdmt5d7U3sbp4e3fQHNS1b6amsR8FmtOnt6L2SnV7VfcZr8VmAGL12zetAR+4fndegbREmX0P8Mw6eDg==}
+
+ '@walletconnect/relay-api@1.0.11':
+ resolution: {integrity: sha512-tLPErkze/HmC9aCmdZOhtVmYZq1wKfWTJtygQHoWtgg722Jd4homo54Cs4ak2RUFUZIGO2RsOpIcWipaua5D5Q==}
+
+ '@walletconnect/relay-auth@1.1.0':
+ resolution: {integrity: sha512-qFw+a9uRz26jRCDgL7Q5TA9qYIgcNY8jpJzI1zAWNZ8i7mQjaijRnWFKsCHAU9CyGjvt6RKrRXyFtFOpWTVmCQ==}
+
+ '@walletconnect/safe-json@1.0.2':
+ resolution: {integrity: sha512-Ogb7I27kZ3LPC3ibn8ldyUr5544t3/STow9+lzz7Sfo808YD7SBWk7SAsdBFlYgP2zDRy2hS3sKRcuSRM0OTmA==}
+
+ '@walletconnect/sign-client@2.21.0':
+ resolution: {integrity: sha512-z7h+PeLa5Au2R591d/8ZlziE0stJvdzP9jNFzFolf2RG/OiXulgFKum8PrIyXy+Rg2q95U9nRVUF9fWcn78yBA==}
+ deprecated: 'Reliability and performance improvements. See: https://github.com/WalletConnect/walletconnect-monorepo/releases'
+
+ '@walletconnect/sign-client@2.21.1':
+ resolution: {integrity: sha512-QaXzmPsMnKGV6tc4UcdnQVNOz4zyXgarvdIQibJ4L3EmLat73r5ZVl4c0cCOcoaV7rgM9Wbphgu5E/7jNcd3Zg==}
+ deprecated: 'Reliability and performance improvements. See: https://github.com/WalletConnect/walletconnect-monorepo/releases'
+
+ '@walletconnect/sign-client@2.22.4':
+ resolution: {integrity: sha512-la+sol0KL33Fyx5DRlupHREIv8wA6W33bRfuLAfLm8pINRTT06j9rz0IHIqJihiALebFxVZNYzJnF65PhV0q3g==}
+
+ '@walletconnect/sign-client@2.23.0':
+ resolution: {integrity: sha512-Nzf5x/LnQgC0Yjk0NmkT8kdrIMcScpALiFm9gP0n3CulL+dkf3HumqWzdoTmQSqGPxwHu/TNhGOaRKZLGQXSqw==}
+
+ '@walletconnect/time@1.0.2':
+ resolution: {integrity: sha512-uzdd9woDcJ1AaBZRhqy5rNC9laqWGErfc4dxA9a87mPdKOgWMD85mcFo9dIYIts/Jwocfwn07EC6EzclKubk/g==}
+
+ '@walletconnect/types@2.21.0':
+ resolution: {integrity: sha512-ll+9upzqt95ZBWcfkOszXZkfnpbJJ2CmxMfGgE5GmhdxxxCcO5bGhXkI+x8OpiS555RJ/v/sXJYMSOLkmu4fFw==}
+
+ '@walletconnect/types@2.21.1':
+ resolution: {integrity: sha512-UeefNadqP6IyfwWC1Yi7ux+ljbP2R66PLfDrDm8izmvlPmYlqRerJWJvYO4t0Vvr9wrG4Ko7E0c4M7FaPKT/sQ==}
+
+ '@walletconnect/types@2.22.4':
+ resolution: {integrity: sha512-KJdiS9ezXzx1uASanldYaaenDwb42VOQ6Rj86H7FRwfYddhNnYnyEaDjDKOdToGRGcpt5Uzom6qYUOnrWEbp5g==}
+
+ '@walletconnect/types@2.23.0':
+ resolution: {integrity: sha512-9ZEOJyx/kNVCRncDHh3Qr9eH7Ih1dXBFB4k1J8iEudkv3t4GhYpXhqIt2kNdQWluPb1BBB4wEuckAT96yKuA8g==}
+
+ '@walletconnect/universal-provider@2.21.0':
+ resolution: {integrity: sha512-mtUQvewt+X0VBQay/xOJBvxsB3Xsm1lTwFjZ6WUwSOTR1X+FNb71hSApnV5kbsdDIpYPXeQUbGt2se1n5E5UBg==}
+ deprecated: 'Reliability and performance improvements. See: https://github.com/WalletConnect/walletconnect-monorepo/releases'
+
+ '@walletconnect/universal-provider@2.21.1':
+ resolution: {integrity: sha512-Wjx9G8gUHVMnYfxtasC9poGm8QMiPCpXpbbLFT+iPoQskDDly8BwueWnqKs4Mx2SdIAWAwuXeZ5ojk5qQOxJJg==}
+ deprecated: 'Reliability and performance improvements. See: https://github.com/WalletConnect/walletconnect-monorepo/releases'
+
+ '@walletconnect/universal-provider@2.22.4':
+ resolution: {integrity: sha512-TF2RNX13qxa0rrBAhVDs5+C2G8CHX7L0PH5hF2uyQHdGyxZ3pFbXf8rxmeW1yKlB76FSbW80XXNrUes6eK/xHg==}
+
+ '@walletconnect/universal-provider@2.23.0':
+ resolution: {integrity: sha512-3ZEqAsbtCbk+CV0ZLpy7Qzc04KXEnrW4zCboZ+gkkC0ey4H62x9h23kBOIrU9qew6orjA7D5gg0ikRC2Up1lbw==}
+
+ '@walletconnect/utils@2.21.0':
+ resolution: {integrity: sha512-zfHLiUoBrQ8rP57HTPXW7rQMnYxYI4gT9yTACxVW6LhIFROTF6/ytm5SKNoIvi4a5nX5dfXG4D9XwQUCu8Ilig==}
+
+ '@walletconnect/utils@2.21.1':
+ resolution: {integrity: sha512-VPZvTcrNQCkbGOjFRbC24mm/pzbRMUq2DSQoiHlhh0X1U7ZhuIrzVtAoKsrzu6rqjz0EEtGxCr3K1TGRqDG4NA==}
+
+ '@walletconnect/utils@2.22.4':
+ resolution: {integrity: sha512-coAPrNiTiD+snpiXQyXakMVeYcddqVqII7aLU39TeILdPoXeNPc2MAja+MF7cKNM/PA3tespljvvxck/oTm4+Q==}
+
+ '@walletconnect/utils@2.23.0':
+ resolution: {integrity: sha512-bVyv4Hl+/wVGueZ6rEO0eYgDy5deSBA4JjpJHAMOdaNoYs05NTE1HymV2lfPQQHuqc7suYexo9jwuW7i3JLuAA==}
+
+ '@walletconnect/window-getters@1.0.1':
+ resolution: {integrity: sha512-vHp+HqzGxORPAN8gY03qnbTMnhqIwjeRJNOMOAzePRg4xVEEE2WvYsI9G2NMjOknA8hnuYbU3/hwLcKbjhc8+Q==}
+
+ '@walletconnect/window-metadata@1.0.1':
+ resolution: {integrity: sha512-9koTqyGrM2cqFRW517BPY/iEtUDx2r1+Pwwu5m7sJ7ka79wi3EyqhqcICk/yDmv6jAS1rjKgTKXlEhanYjijcA==}
+
+ abitype@1.0.6:
+ resolution: {integrity: sha512-MMSqYh4+C/aVqI2RQaWqbvI4Kxo5cQV40WQ4QFtDnNzCkqChm8MuENhElmynZlO0qUy/ObkEUaXtKqYnx1Kp3A==}
+ peerDependencies:
+ typescript: '>=5.0.4'
+ zod: ^3 >=3.22.0
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ zod:
+ optional: true
+
+ abitype@1.0.8:
+ resolution: {integrity: sha512-ZeiI6h3GnW06uYDLx0etQtX/p8E24UaHHBj57RSjK7YBFe7iuVn07EDpOeP451D06sF27VOz9JJPlIKJmXgkEg==}
+ peerDependencies:
+ typescript: '>=5.0.4'
+ zod: ^3 >=3.22.0
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ zod:
+ optional: true
+
+ abitype@1.1.0:
+ resolution: {integrity: sha512-6Vh4HcRxNMLA0puzPjM5GBgT4aAcFGKZzSgAXvuZ27shJP6NEpielTuqbBmZILR5/xd0PizkBGy5hReKz9jl5A==}
+ peerDependencies:
+ typescript: '>=5.0.4'
+ zod: ^3.22.0 || ^4.0.0
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ zod:
+ optional: true
+
+ abitype@1.1.1:
+ resolution: {integrity: sha512-Loe5/6tAgsBukY95eGaPSDmQHIjRZYQq8PB1MpsNccDIK8WiV+Uw6WzaIXipvaxTEL2yEB0OpEaQv3gs8pkS9Q==}
+ peerDependencies:
+ typescript: '>=5.0.4'
+ zod: ^3.22.0 || ^4.0.0
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ zod:
+ optional: true
+
+ agentkeepalive@4.6.0:
+ resolution: {integrity: sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ==}
+ engines: {node: '>= 8.0.0'}
+
+ ai@5.0.17:
+ resolution: {integrity: sha512-DLZikqZZJdwSkRhFikw6Mt7pUmPZ7Ue38TjdOcw2U6iZtBbuiyWGIhHyJXlUpLcZrtBE5yqPTozyZri1lRjduw==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ zod: ^3.25.76 || ^4
+
+ ai@5.0.47:
+ resolution: {integrity: sha512-/DKfU9tTsQVcUYSDCTu1L7jmvEgzUWOr1xf5UHwwDbRf/HED8LDb60QlWYs6f4BkZsVoLvpliCSjliXiRZywFQ==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ zod: ^3.25.76 || ^4
+
+ ai@5.0.89:
+ resolution: {integrity: sha512-8Nq+ZojGacQrupoJEQLrTDzT5VtR3gyp5AaqFSV3tzsAXlYQ9Igb7QE3yeoEdzOk5IRfDwWL7mDCUD+oBg1hDA==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ zod: ^3.25.76 || ^4.1.8
+
+ ajv-formats@3.0.1:
+ resolution: {integrity: sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==}
+ peerDependencies:
+ ajv: ^8.0.0
+ peerDependenciesMeta:
+ ajv:
+ optional: true
+
+ ajv@8.17.1:
+ resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==}
+
+ ansi-escapes@7.2.0:
+ resolution: {integrity: sha512-g6LhBsl+GBPRWGWsBtutpzBYuIIdBkLEvad5C/va/74Db018+5TZiyA26cZJAr3Rft5lprVqOIPxf5Vid6tqAw==}
+ engines: {node: '>=18'}
+
+ ansi-regex@5.0.1:
+ resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
+ engines: {node: '>=8'}
+
+ ansi-regex@6.2.2:
+ resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==}
+ engines: {node: '>=12'}
+
+ ansi-styles@4.3.0:
+ resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
+ engines: {node: '>=8'}
+
+ ansi-styles@6.2.3:
+ resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==}
+ engines: {node: '>=12'}
+
+ anymatch@3.1.3:
+ resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
+ engines: {node: '>= 8'}
+
+ async-mutex@0.2.6:
+ resolution: {integrity: sha512-Hs4R+4SPgamu6rSGW8C7cV9gaWUKEHykfzCCvIRuaVv636Ju10ZdeUbvb4TBEW0INuq2DHZqXbK4Nd3yG4RaRw==}
+
+ asynckit@0.4.0:
+ resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
+
+ atomic-sleep@1.0.0:
+ resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==}
+ engines: {node: '>=8.0.0'}
+
+ atomically@2.1.0:
+ resolution: {integrity: sha512-+gDffFXRW6sl/HCwbta7zK4uNqbPjv4YJEAdz7Vu+FLQHe77eZ4bvbJGi4hE0QPeJlMYMA3piXEr1UL3dAwx7Q==}
+
+ auto-bind@5.0.1:
+ resolution: {integrity: sha512-ooviqdwwgfIfNmDwo94wlshcdzfO64XV0Cg6oDsDYBJfITDz1EngD2z7DkbvCWn+XIMsIqW27sEVF6qcpJrRcg==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+ available-typed-arrays@1.0.7:
+ resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==}
+ engines: {node: '>= 0.4'}
+
+ axios-retry@4.5.0:
+ resolution: {integrity: sha512-aR99oXhpEDGo0UuAlYcn2iGRds30k366Zfa05XWScR9QaQD4JYiP3/1Qt1u7YlefUOK+cn0CcwoL1oefavQUlQ==}
+ peerDependencies:
+ axios: 0.x || 1.x
+
+ axios@1.13.2:
+ resolution: {integrity: sha512-VPk9ebNqPcy5lRGuSlKx752IlDatOjT9paPlm8A7yOuW2Fbvp4X3JznJtT4f0GzGLLiWE9W8onz51SqLYwzGaA==}
+
+ base-x@3.0.11:
+ resolution: {integrity: sha512-xz7wQ8xDhdyP7tQxwdteLYeFfS68tSMNCZ/Y37WJ4bhGfKPpqEIlmIyueQHqOyoPhE6xNUqjzRr8ra0eF9VRvA==}
+
+ base-x@5.0.1:
+ resolution: {integrity: sha512-M7uio8Zt++eg3jPj+rHMfCC+IuygQHHCOU+IYsVtik6FWjuYpVt/+MRKcgsAMHh8mMFAwnB+Bs+mTrFiXjMzKg==}
+
+ base64-js@1.5.1:
+ resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
+
+ big.js@6.2.2:
+ resolution: {integrity: sha512-y/ie+Faknx7sZA5MfGA2xKlu0GDv8RWrXGsmlteyJQ2lvoKv9GBK/fpRMc2qlSoBAgNxrixICFCBefIq8WCQpQ==}
+
+ bl@4.1.0:
+ resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==}
+
+ blakejs@1.2.1:
+ resolution: {integrity: sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==}
+
+ bn.js@5.2.2:
+ resolution: {integrity: sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==}
+
+ borsh@0.7.0:
+ resolution: {integrity: sha512-CLCsZGIBCFnPtkNnieW/a8wmreDmfUtjU2m9yHrzPXIlNbqVs0AQrSatSG6vdNYUqdc83tkQi2eHfF98ubzQLA==}
+
+ bowser@2.12.1:
+ resolution: {integrity: sha512-z4rE2Gxh7tvshQ4hluIT7XcFrgLIQaw9X3A+kTTRdovCz5PMukm/0QC/BKSYPj3omF5Qfypn9O/c5kgpmvYUCw==}
+
+ bs58@4.0.1:
+ resolution: {integrity: sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==}
+
+ bs58@6.0.0:
+ resolution: {integrity: sha512-PD0wEnEYg6ijszw/u8s+iI3H17cTymlrwkKhDhPZq+Sokl3AU4htyBFTjAeNAlCCmg0f53g6ih3jATyCKftTfw==}
+
+ buffer@5.7.1:
+ resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==}
+
+ buffer@6.0.3:
+ resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==}
+
+ bufferutil@4.0.9:
+ resolution: {integrity: sha512-WDtdLmJvAuNNPzByAYpRo2rF1Mmradw6gvWsQKf63476DDXmomT9zUiGypLcG4ibIM67vhAj8jJRdbmEws2Aqw==}
+ engines: {node: '>=6.14.2'}
+
+ bundle-name@4.1.0:
+ resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==}
+ engines: {node: '>=18'}
+
+ call-bind-apply-helpers@1.0.2:
+ resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==}
+ engines: {node: '>= 0.4'}
+
+ call-bind@1.0.8:
+ resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==}
+ engines: {node: '>= 0.4'}
+
+ call-bound@1.0.4:
+ resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==}
+ engines: {node: '>= 0.4'}
+
+ camelcase@5.3.1:
+ resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==}
+ engines: {node: '>=6'}
+
+ chalk@5.6.2:
+ resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==}
+ engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
+
+ charenc@0.0.2:
+ resolution: {integrity: sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==}
+
+ chokidar@4.0.3:
+ resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==}
+ engines: {node: '>= 14.16.0'}
+
+ chownr@1.1.4:
+ resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==}
+
+ cli-boxes@3.0.0:
+ resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==}
+ engines: {node: '>=10'}
+
+ cli-cursor@4.0.0:
+ resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+ cli-cursor@5.0.0:
+ resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==}
+ engines: {node: '>=18'}
+
+ cli-spinners@3.3.0:
+ resolution: {integrity: sha512-/+40ljC3ONVnYIttjMWrlL51nItDAbBrq2upN8BPyvGU/2n5Oxw3tbNwORCaNuNqLJnxGqOfjUuhsv7l5Q4IsQ==}
+ engines: {node: '>=18.20'}
+
+ cli-table3@0.6.5:
+ resolution: {integrity: sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==}
+ engines: {node: 10.* || >= 12.*}
+
+ cli-truncate@4.0.0:
+ resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==}
+ engines: {node: '>=18'}
+
+ cliui@6.0.0:
+ resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==}
+
+ clsx@1.2.1:
+ resolution: {integrity: sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==}
+ engines: {node: '>=6'}
+
+ code-excerpt@4.0.0:
+ resolution: {integrity: sha512-xxodCmBen3iy2i0WtAK8FlFNrRzjUqjRsMfho58xT/wvZU1YTM3fCnRjcy1gJPMepaRlgm/0e6w8SpWHpn3/cA==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+ color-convert@2.0.1:
+ resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
+ engines: {node: '>=7.0.0'}
+
+ color-name@1.1.4:
+ resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
+
+ combined-stream@1.0.8:
+ resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
+ engines: {node: '>= 0.8'}
+
+ commander@14.0.0:
+ resolution: {integrity: sha512-2uM9rYjPvyq39NwLRqaiLtWHyDC1FvryJDa2ATTVims5YAS4PupsEQsDvP14FqhFr0P49CYDugi59xaxJlTXRA==}
+ engines: {node: '>=20'}
+
+ commander@14.0.2:
+ resolution: {integrity: sha512-TywoWNNRbhoD0BXs1P3ZEScW8W5iKrnbithIl0YH+uCmBd0QpPOA8yc82DS3BIE5Ma6FnBVUsJ7wVUDz4dvOWQ==}
+ engines: {node: '>=20'}
+
+ commander@2.20.3:
+ resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==}
+
+ conf@15.0.2:
+ resolution: {integrity: sha512-JBSrutapCafTrddF9dH3lc7+T2tBycGF4uPkI4Js+g4vLLEhG6RZcFi3aJd5zntdf5tQxAejJt8dihkoQ/eSJw==}
+ engines: {node: '>=20'}
+
+ convert-to-spaces@2.0.1:
+ resolution: {integrity: sha512-rcQ1bsQO9799wq24uE5AM2tAILy4gXGIK/njFWcVQkGNZ96edlpY+A7bjwvzjYvLDyzmG1MmMLZhpcsb+klNMQ==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+ cookie-es@1.2.2:
+ resolution: {integrity: sha512-+W7VmiVINB+ywl1HGXJXmrqkOhpKrIiVZV6tQuV54ZyQC7MMuBt81Vc336GMLoHBq5hV/F9eXgt5Mnx0Rha5Fg==}
+
+ core-util-is@1.0.3:
+ resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==}
+
+ crc-32@1.2.2:
+ resolution: {integrity: sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==}
+ engines: {node: '>=0.8'}
+ hasBin: true
+
+ cross-fetch@3.2.0:
+ resolution: {integrity: sha512-Q+xVJLoGOeIMXZmbUK4HYk+69cQH6LudR0Vu/pRm2YlU/hDV9CiS0gKUMaWY5f2NeUH9C1nV3bsTlCo0FsTV1Q==}
+
+ cross-fetch@4.1.0:
+ resolution: {integrity: sha512-uKm5PU+MHTootlWEY+mZ4vvXoCn4fLQxT9dSc1sXVMSFkINTJVN8cAQROpwcKm8bJ/c7rgZVIBWzH5T78sNZZw==}
+
+ crossws@0.3.5:
+ resolution: {integrity: sha512-ojKiDvcmByhwa8YYqbQI/hg7MEU0NC03+pSdEq4ZUnZR9xXpwk7E43SMNGkn+JxJGPFtNvQ48+vV2p+P1ml5PA==}
+
+ crypt@0.0.2:
+ resolution: {integrity: sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==}
+
+ csstype@3.1.3:
+ resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
+
+ date-fns@2.30.0:
+ resolution: {integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==}
+ engines: {node: '>=0.11'}
+
+ dayjs@1.11.13:
+ resolution: {integrity: sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==}
+
+ debounce-fn@6.0.0:
+ resolution: {integrity: sha512-rBMW+F2TXryBwB54Q0d8drNEI+TfoS9JpNTAoVpukbWEhjXQq4rySFYLaqXMFXwdv61Zb2OHtj5bviSoimqxRQ==}
+ engines: {node: '>=18'}
+
+ debug@4.3.4:
+ resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
+ engines: {node: '>=6.0'}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+
+ debug@4.4.3:
+ resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==}
+ engines: {node: '>=6.0'}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+
+ decamelize@1.2.0:
+ resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==}
+ engines: {node: '>=0.10.0'}
+
+ decode-uri-component@0.2.2:
+ resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==}
+ engines: {node: '>=0.10'}
+
+ decompress-response@6.0.0:
+ resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==}
+ engines: {node: '>=10'}
+
+ deep-extend@0.6.0:
+ resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==}
+ engines: {node: '>=4.0.0'}
+
+ default-browser-id@5.0.0:
+ resolution: {integrity: sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==}
+ engines: {node: '>=18'}
+
+ default-browser@5.2.1:
+ resolution: {integrity: sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==}
+ engines: {node: '>=18'}
+
+ define-data-property@1.1.4:
+ resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==}
+ engines: {node: '>= 0.4'}
+
+ define-lazy-prop@3.0.0:
+ resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==}
+ engines: {node: '>=12'}
+
+ defu@6.1.4:
+ resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==}
+
+ delay@5.0.0:
+ resolution: {integrity: sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw==}
+ engines: {node: '>=10'}
+
+ delayed-stream@1.0.0:
+ resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
+ engines: {node: '>=0.4.0'}
+
+ dequal@2.0.3:
+ resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
+ engines: {node: '>=6'}
+
+ derive-valtio@0.1.0:
+ resolution: {integrity: sha512-OCg2UsLbXK7GmmpzMXhYkdO64vhJ1ROUUGaTFyHjVwEdMEcTTRj7W1TxLbSBxdY8QLBPCcp66MTyaSy0RpO17A==}
+ peerDependencies:
+ valtio: '*'
+
+ destr@2.0.5:
+ resolution: {integrity: sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA==}
+
+ detect-browser@5.3.0:
+ resolution: {integrity: sha512-53rsFbGdwMwlF7qvCt0ypLM5V5/Mbl0szB7GPN8y9NCcbknYOeVVXdrXEq+90IwAfrrzt6Hd+u2E2ntakICU8w==}
+
+ detect-libc@2.1.2:
+ resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==}
+ engines: {node: '>=8'}
+
+ dijkstrajs@1.0.3:
+ resolution: {integrity: sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==}
+
+ dompurify@3.3.0:
+ resolution: {integrity: sha512-r+f6MYR1gGN1eJv0TVQbhA7if/U7P87cdPl3HN5rikqaBSBxLiCb/b9O+2eG0cxz0ghyU+mU1QkbsOwERMYlWQ==}
+
+ dot-prop@10.1.0:
+ resolution: {integrity: sha512-MVUtAugQMOff5RnBy2d9N31iG0lNwg1qAoAOn7pOK5wf94WIaE3My2p3uwTQuvS2AcqchkcR3bHByjaM0mmi7Q==}
+ engines: {node: '>=20'}
+
+ dunder-proto@1.0.1:
+ resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==}
+ engines: {node: '>= 0.4'}
+
+ duplexify@4.1.3:
+ resolution: {integrity: sha512-M3BmBhwJRZsSx38lZyhE53Csddgzl5R7xGJNk7CVddZD6CcmwMCH8J+7AprIrQKH7TonKxaCjcv27Qmf+sQ+oA==}
+
+ eciesjs@0.4.16:
+ resolution: {integrity: sha512-dS5cbA9rA2VR4Ybuvhg6jvdmp46ubLn3E+px8cG/35aEDNclrqoCjg6mt0HYZ/M+OoESS3jSkCrqk1kWAEhWAw==}
+ engines: {bun: '>=1', deno: '>=2', node: '>=16'}
+
+ emoji-regex@10.6.0:
+ resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==}
+
+ emoji-regex@8.0.0:
+ resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
+
+ encode-utf8@1.0.3:
+ resolution: {integrity: sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==}
+
+ end-of-stream@1.4.5:
+ resolution: {integrity: sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==}
+
+ engine.io-client@6.6.3:
+ resolution: {integrity: sha512-T0iLjnyNWahNyv/lcjS2y4oE358tVS/SYQNxYXGAJ9/GLgH4VCvOQ/mhTjqU88mLZCQgiG8RIegFHYCdVC+j5w==}
+
+ engine.io-parser@5.2.3:
+ resolution: {integrity: sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==}
+ engines: {node: '>=10.0.0'}
+
+ env-paths@3.0.0:
+ resolution: {integrity: sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+ environment@1.1.0:
+ resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==}
+ engines: {node: '>=18'}
+
+ es-define-property@1.0.1:
+ resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==}
+ engines: {node: '>= 0.4'}
+
+ es-errors@1.3.0:
+ resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
+ engines: {node: '>= 0.4'}
+
+ es-object-atoms@1.1.1:
+ resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==}
+ engines: {node: '>= 0.4'}
+
+ es-set-tostringtag@2.1.0:
+ resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==}
+ engines: {node: '>= 0.4'}
+
+ es-toolkit@1.33.0:
+ resolution: {integrity: sha512-X13Q/ZSc+vsO1q600bvNK4bxgXMkHcf//RxCmYDaRY5DAcT+eoXjY5hoAPGMdRnWQjvyLEcyauG3b6hz76LNqg==}
+
+ es-toolkit@1.39.3:
+ resolution: {integrity: sha512-Qb/TCFCldgOy8lZ5uC7nLGdqJwSabkQiYQShmw4jyiPk1pZzaYWTwaYKYP7EgLccWYgZocMrtItrwh683voaww==}
+
+ es-toolkit@1.41.0:
+ resolution: {integrity: sha512-bDd3oRmbVgqZCJS6WmeQieOrzpl3URcWBUVDXxOELlUW2FuW+0glPOz1n0KnRie+PdyvUZcXz2sOn00c6pPRIA==}
+
+ es6-promise@4.2.8:
+ resolution: {integrity: sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==}
+
+ es6-promisify@5.0.0:
+ resolution: {integrity: sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==}
+
+ esbuild@0.25.12:
+ resolution: {integrity: sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==}
+ engines: {node: '>=18'}
+ hasBin: true
+
+ escape-string-regexp@2.0.0:
+ resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==}
+ engines: {node: '>=8'}
+
+ eth-block-tracker@7.1.0:
+ resolution: {integrity: sha512-8YdplnuE1IK4xfqpf4iU7oBxnOYAc35934o083G8ao+8WM8QQtt/mVlAY6yIAdY1eMeLqg4Z//PZjJGmWGPMRg==}
+ engines: {node: '>=14.0.0'}
+
+ eth-json-rpc-filters@6.0.1:
+ resolution: {integrity: sha512-ITJTvqoCw6OVMLs7pI8f4gG92n/St6x80ACtHodeS+IXmO0w+t1T5OOzfSt7KLSMLRkVUoexV7tztLgDxg+iig==}
+ engines: {node: '>=14.0.0'}
+
+ eth-query@2.1.2:
+ resolution: {integrity: sha512-srES0ZcvwkR/wd5OQBRA1bIJMww1skfGS0s8wlwK3/oNP4+wnds60krvu5R1QbpRQjMmpG5OMIWro5s7gvDPsA==}
+
+ eth-rpc-errors@4.0.3:
+ resolution: {integrity: sha512-Z3ymjopaoft7JDoxZcEb3pwdGh7yiYMhOwm2doUt6ASXlMavpNlK6Cre0+IMl2VSGyEU9rkiperQhp5iRxn5Pg==}
+
+ ethereum-cryptography@2.2.1:
+ resolution: {integrity: sha512-r/W8lkHSiTLxUxW8Rf3u4HGB0xQweG2RyETjywylKZSzLWoWAijRz8WCuOtJ6wah+avllXBqZuk29HCCvhEIRg==}
+
+ eventemitter2@6.4.9:
+ resolution: {integrity: sha512-JEPTiaOt9f04oa6NOkc4aH+nVp5I3wEjpHbIPqfgCdD5v5bUzy7xQqwcVO2aDQgOWhI28da57HksMrzK9HlRxg==}
+
+ eventemitter3@5.0.1:
+ resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==}
+
+ events@3.3.0:
+ resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==}
+ engines: {node: '>=0.8.x'}
+
+ eventsource-parser@3.0.6:
+ resolution: {integrity: sha512-Vo1ab+QXPzZ4tCa8SwIHJFaSzy4R6SHf7BY79rFBDf0idraZWAkYrDjDj8uWaSm3S2TK+hJ7/t1CEmZ7jXw+pg==}
+ engines: {node: '>=18.0.0'}
+
+ expand-template@2.0.3:
+ resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==}
+ engines: {node: '>=6'}
+
+ extension-port-stream@3.0.0:
+ resolution: {integrity: sha512-an2S5quJMiy5bnZKEf6AkfH/7r8CzHvhchU40gxN+OM6HPhe7Z9T1FUychcf2M9PpPOO0Hf7BAEfJkw2TDIBDw==}
+ engines: {node: '>=12.0.0'}
+
+ eyes@0.1.8:
+ resolution: {integrity: sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ==}
+ engines: {node: '> 0.1.90'}
+
+ fast-deep-equal@3.1.3:
+ resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
+
+ fast-redact@3.5.0:
+ resolution: {integrity: sha512-dwsoQlS7h9hMeYUq1W++23NDcBLV4KqONnITDV9DjfS3q1SgDGVrBdvvTLUotWtPSD7asWDV9/CmsZPy8Hf70A==}
+ engines: {node: '>=6'}
+
+ fast-safe-stringify@2.1.1:
+ resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==}
+
+ fast-stable-stringify@1.0.0:
+ resolution: {integrity: sha512-wpYMUmFu5f00Sm0cj2pfivpmawLZ0NKdviQ4w9zJeR8JVtOpOxHmLaJuj0vxvGqMJQWyP/COUkF75/57OKyRag==}
+
+ fast-uri@3.1.0:
+ resolution: {integrity: sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==}
+
+ fastestsmallesttextencoderdecoder@1.0.22:
+ resolution: {integrity: sha512-Pb8d48e+oIuY4MaM64Cd7OW1gt4nxCHs7/ddPPZ/Ic3sg8yVGM7O9wDvZ7us6ScaUupzM+pfBolwtYhN1IxBIw==}
+
+ filter-obj@1.1.0:
+ resolution: {integrity: sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==}
+ engines: {node: '>=0.10.0'}
+
+ find-up@4.1.0:
+ resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==}
+ engines: {node: '>=8'}
+
+ follow-redirects@1.15.11:
+ resolution: {integrity: sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==}
+ engines: {node: '>=4.0'}
+ peerDependencies:
+ debug: '*'
+ peerDependenciesMeta:
+ debug:
+ optional: true
+
+ for-each@0.3.5:
+ resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==}
+ engines: {node: '>= 0.4'}
+
+ form-data@4.0.4:
+ resolution: {integrity: sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==}
+ engines: {node: '>= 6'}
+
+ fs-constants@1.0.0:
+ resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==}
+
+ fsevents@2.3.3:
+ resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
+ engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
+ os: [darwin]
+
+ function-bind@1.1.2:
+ resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
+
+ generator-function@2.0.1:
+ resolution: {integrity: sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==}
+ engines: {node: '>= 0.4'}
+
+ get-caller-file@2.0.5:
+ resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
+ engines: {node: 6.* || 8.* || >= 10.*}
+
+ get-east-asian-width@1.4.0:
+ resolution: {integrity: sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q==}
+ engines: {node: '>=18'}
+
+ get-intrinsic@1.3.0:
+ resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==}
+ engines: {node: '>= 0.4'}
+
+ get-proto@1.0.1:
+ resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==}
+ engines: {node: '>= 0.4'}
+
+ get-tsconfig@4.13.0:
+ resolution: {integrity: sha512-1VKTZJCwBrvbd+Wn3AOgQP/2Av+TfTCOlE4AcRJE72W1ksZXbAx8PPBR9RzgTeSPzlPMHrbANMH3LbltH73wxQ==}
+
+ github-from-package@0.0.0:
+ resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==}
+
+ gopd@1.2.0:
+ resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==}
+ engines: {node: '>= 0.4'}
+
+ h3@1.15.4:
+ resolution: {integrity: sha512-z5cFQWDffyOe4vQ9xIqNfCZdV4p//vy6fBnr8Q1AWnVZ0teurKMG66rLj++TKwKPUP3u7iMUvrvKaEUiQw2QWQ==}
+
+ has-property-descriptors@1.0.2:
+ resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==}
+
+ has-symbols@1.1.0:
+ resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==}
+ engines: {node: '>= 0.4'}
+
+ has-tostringtag@1.0.2:
+ resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==}
+ engines: {node: '>= 0.4'}
+
+ hasown@2.0.2:
+ resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
+ engines: {node: '>= 0.4'}
+
+ hono@4.10.4:
+ resolution: {integrity: sha512-YG/fo7zlU3KwrBL5vDpWKisLYiM+nVstBQqfr7gCPbSYURnNEP9BDxEMz8KfsDR9JX0lJWDRNc6nXX31v7ZEyg==}
+ engines: {node: '>=16.9.0'}
+
+ humanize-ms@1.2.1:
+ resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==}
+
+ idb-keyval@6.2.1:
+ resolution: {integrity: sha512-8Sb3veuYCyrZL+VBt9LJfZjLUPWVvqn8tG28VqYNFCo43KHcKuq+b4EiXGeuaLAQWL2YmyDgMp2aSpH9JHsEQg==}
+
+ idb-keyval@6.2.2:
+ resolution: {integrity: sha512-yjD9nARJ/jb1g+CvD0tlhUHOrJ9Sy0P8T9MF3YaLlHnSRpwPfpTX0XIvpmw3gAJUmEu3FiICLBDPXVwyEvrleg==}
+
+ ieee754@1.2.1:
+ resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
+
+ indent-string@5.0.0:
+ resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==}
+ engines: {node: '>=12'}
+
+ inherits@2.0.4:
+ resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
+
+ ini@1.3.8:
+ resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==}
+
+ ink@6.4.0:
+ resolution: {integrity: sha512-v43isNGrHeFfipbQbwz7/Eg0+aWz3ASEdT/s1Ty2JtyBzR3maE0P77FwkMET+Nzh5KbRL3efLgkT/ZzPFzW3BA==}
+ engines: {node: '>=20'}
+ peerDependencies:
+ '@types/react': '>=19.0.0'
+ react: '>=19.0.0'
+ react-devtools-core: ^6.1.2
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ react-devtools-core:
+ optional: true
+
+ iron-webcrypto@1.2.1:
+ resolution: {integrity: sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg==}
+
+ is-arguments@1.2.0:
+ resolution: {integrity: sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==}
+ engines: {node: '>= 0.4'}
+
+ is-buffer@1.1.6:
+ resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==}
+
+ is-callable@1.2.7:
+ resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==}
+ engines: {node: '>= 0.4'}
+
+ is-docker@3.0.0:
+ resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ hasBin: true
+
+ is-fullwidth-code-point@3.0.0:
+ resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
+ engines: {node: '>=8'}
+
+ is-fullwidth-code-point@4.0.0:
+ resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==}
+ engines: {node: '>=12'}
+
+ is-fullwidth-code-point@5.1.0:
+ resolution: {integrity: sha512-5XHYaSyiqADb4RnZ1Bdad6cPp8Toise4TzEjcOYDHZkTCbKgiUl7WTUCpNWHuxmDt91wnsZBc9xinNzopv3JMQ==}
+ engines: {node: '>=18'}
+
+ is-generator-function@1.1.2:
+ resolution: {integrity: sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==}
+ engines: {node: '>= 0.4'}
+
+ is-in-ci@2.0.0:
+ resolution: {integrity: sha512-cFeerHriAnhrQSbpAxL37W1wcJKUUX07HyLWZCW1URJT/ra3GyUTzBgUnh24TMVfNTV2Hij2HLxkPHFZfOZy5w==}
+ engines: {node: '>=20'}
+ hasBin: true
+
+ is-inside-container@1.0.0:
+ resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==}
+ engines: {node: '>=14.16'}
+ hasBin: true
+
+ is-interactive@2.0.0:
+ resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==}
+ engines: {node: '>=12'}
+
+ is-regex@1.2.1:
+ resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==}
+ engines: {node: '>= 0.4'}
+
+ is-retry-allowed@2.2.0:
+ resolution: {integrity: sha512-XVm7LOeLpTW4jV19QSH38vkswxoLud8sQ57YwJVTPWdiaI9I8keEhGFpBlslyVsgdQy4Opg8QOLb8YRgsyZiQg==}
+ engines: {node: '>=10'}
+
+ is-stream@2.0.1:
+ resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==}
+ engines: {node: '>=8'}
+
+ is-typed-array@1.1.15:
+ resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==}
+ engines: {node: '>= 0.4'}
+
+ is-unicode-supported@2.1.0:
+ resolution: {integrity: sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==}
+ engines: {node: '>=18'}
+
+ is-wsl@3.1.0:
+ resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==}
+ engines: {node: '>=16'}
+
+ isarray@1.0.0:
+ resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==}
+
+ isarray@2.0.5:
+ resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==}
+
+ isomorphic-ws@4.0.1:
+ resolution: {integrity: sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==}
+ peerDependencies:
+ ws: '*'
+
+ isows@1.0.6:
+ resolution: {integrity: sha512-lPHCayd40oW98/I0uvgaHKWCSvkzY27LjWLbtzOm64yQ+G3Q5npjjbdppU65iZXkK1Zt+kH9pfegli0AYfwYYw==}
+ peerDependencies:
+ ws: '*'
+
+ isows@1.0.7:
+ resolution: {integrity: sha512-I1fSfDCZL5P0v33sVqeTDSpcstAg/N+wF5HS033mogOVIp4B+oHC7oOCsA3axAbBSGTJ8QubbNmnIRN/h8U7hg==}
+ peerDependencies:
+ ws: '*'
+
+ jayson@4.2.0:
+ resolution: {integrity: sha512-VfJ9t1YLwacIubLhONk0KFeosUBwstRWQ0IRT1KDjEjnVnSOVHC3uwugyV7L0c7R9lpVyrUGT2XWiBA1UTtpyg==}
+ engines: {node: '>=8'}
+ hasBin: true
+
+ jose@6.1.0:
+ resolution: {integrity: sha512-TTQJyoEoKcC1lscpVDCSsVgYzUDg/0Bt3WE//WiTPK6uOCQC2KZS4MpugbMWt/zyjkopgZoXhZuCi00gLudfUA==}
+
+ json-rpc-engine@6.1.0:
+ resolution: {integrity: sha512-NEdLrtrq1jUZyfjkr9OCz9EzCNhnRyWtt1PAnvnhwy6e8XETS0Dtc+ZNCO2gvuAoKsIn2+vCSowXTYE4CkgnAQ==}
+ engines: {node: '>=10.0.0'}
+
+ json-rpc-random-id@1.0.1:
+ resolution: {integrity: sha512-RJ9YYNCkhVDBuP4zN5BBtYAzEl03yq/jIIsyif0JY9qyJuQQZNeDK7anAPKKlyEtLSj2s8h6hNh2F8zO5q7ScA==}
+
+ json-schema-traverse@1.0.0:
+ resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==}
+
+ json-schema-typed@8.0.1:
+ resolution: {integrity: sha512-XQmWYj2Sm4kn4WeTYvmpKEbyPsL7nBsb647c7pMe6l02/yx2+Jfc4dT6UZkEXnIUb5LhD55r2HPsJ1milQ4rDg==}
+
+ json-schema@0.4.0:
+ resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==}
+
+ json-stringify-safe@5.0.1:
+ resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==}
+
+ jwt-decode@4.0.0:
+ resolution: {integrity: sha512-+KJGIyHgkGuIq3IEBNftfhW/LfWhXUIY6OmyVWjliu5KH1y0fw7VQ8YndE2O4qZdMSd9SqbnC8GOcZEy0Om7sA==}
+ engines: {node: '>=18'}
+
+ keccak@3.0.4:
+ resolution: {integrity: sha512-3vKuW0jV8J3XNTzvfyicFR5qvxrSAGl7KIhvgOu5cmWwM7tZRj3fMbj/pfIf4be7aznbc+prBWGjywox/g2Y6Q==}
+ engines: {node: '>=10.0.0'}
+
+ keytar@7.9.0:
+ resolution: {integrity: sha512-VPD8mtVtm5JNtA2AErl6Chp06JBfy7diFQ7TQQhdpWOl6MrCRB+eRbvAZUsbGQS9kiMq0coJsy0W0vHpDCkWsQ==}
+
+ keyvaluestorage-interface@1.0.0:
+ resolution: {integrity: sha512-8t6Q3TclQ4uZynJY9IGr2+SsIGwK9JHcO6ootkHCGA0CrQCRy+VkouYNO2xicET6b9al7QKzpebNow+gkpCL8g==}
+
+ lit-element@4.2.1:
+ resolution: {integrity: sha512-WGAWRGzirAgyphK2urmYOV72tlvnxw7YfyLDgQ+OZnM9vQQBQnumQ7jUJe6unEzwGU3ahFOjuz1iz1jjrpCPuw==}
+
+ lit-html@3.3.1:
+ resolution: {integrity: sha512-S9hbyDu/vs1qNrithiNyeyv64c9yqiW9l+DBgI18fL+MTvOtWoFR0FWiyq1TxaYef5wNlpEmzlXoBlZEO+WjoA==}
+
+ lit@3.3.0:
+ resolution: {integrity: sha512-DGVsqsOIHBww2DqnuZzW7QsuCdahp50ojuDaBPC7jUDRpYoH0z7kHBBYZewRzer75FwtrkmkKk7iOAwSaWdBmw==}
+
+ locate-path@5.0.0:
+ resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==}
+ engines: {node: '>=8'}
+
+ lodash@4.17.21:
+ resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
+
+ log-symbols@7.0.1:
+ resolution: {integrity: sha512-ja1E3yCr9i/0hmBVaM0bfwDjnGy8I/s6PP4DFp+yP+a+mrHO4Rm7DtmnqROTUkHIkqffC84YY7AeqX6oFk0WFg==}
+ engines: {node: '>=18'}
+
+ lru-cache@10.4.3:
+ resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==}
+
+ math-intrinsics@1.1.0:
+ resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==}
+ engines: {node: '>= 0.4'}
+
+ md5@2.3.0:
+ resolution: {integrity: sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==}
+
+ micro-ftch@0.3.1:
+ resolution: {integrity: sha512-/0LLxhzP0tfiR5hcQebtudP56gUurs2CLkGarnCiB/OqEyUFQ6U3paQi/tgLv0hBJYt2rnr9MNpxz4fiiugstg==}
+
+ mime-db@1.52.0:
+ resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
+ engines: {node: '>= 0.6'}
+
+ mime-types@2.1.35:
+ resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
+ engines: {node: '>= 0.6'}
+
+ mimic-fn@2.1.0:
+ resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
+ engines: {node: '>=6'}
+
+ mimic-function@5.0.1:
+ resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==}
+ engines: {node: '>=18'}
+
+ mimic-response@3.1.0:
+ resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==}
+ engines: {node: '>=10'}
+
+ minimist@1.2.8:
+ resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
+
+ mipd@0.0.7:
+ resolution: {integrity: sha512-aAPZPNDQ3uMTdKbuO2YmAw2TxLHO0moa4YKAyETM/DTj5FloZo+a+8tU+iv4GmW+sOxKLSRwcSFuczk+Cpt6fg==}
+ peerDependencies:
+ typescript: '>=5.0.4'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
+ mkdirp-classic@0.5.3:
+ resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==}
+
+ ms@2.1.2:
+ resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
+
+ ms@2.1.3:
+ resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
+
+ multiformats@9.9.0:
+ resolution: {integrity: sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==}
+
+ napi-build-utils@2.0.0:
+ resolution: {integrity: sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==}
+
+ node-abi@3.80.0:
+ resolution: {integrity: sha512-LyPuZJcI9HVwzXK1GPxWNzrr+vr8Hp/3UqlmWxxh8p54U1ZbclOqbSog9lWHaCX+dBaiGi6n/hIX+mKu74GmPA==}
+ engines: {node: '>=10'}
+
+ node-addon-api@2.0.2:
+ resolution: {integrity: sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==}
+
+ node-addon-api@4.3.0:
+ resolution: {integrity: sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ==}
+
+ node-fetch-native@1.6.7:
+ resolution: {integrity: sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q==}
+
+ node-fetch@2.7.0:
+ resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==}
+ engines: {node: 4.x || >=6.0.0}
+ peerDependencies:
+ encoding: ^0.1.0
+ peerDependenciesMeta:
+ encoding:
+ optional: true
+
+ node-gyp-build@4.8.4:
+ resolution: {integrity: sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==}
+ hasBin: true
+
+ node-mock-http@1.0.3:
+ resolution: {integrity: sha512-jN8dK25fsfnMrVsEhluUTPkBFY+6ybu7jSB1n+ri/vOGjJxU8J9CZhpSGkHXSkFjtUhbmoncG/YG9ta5Ludqog==}
+
+ normalize-path@3.0.0:
+ resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
+ engines: {node: '>=0.10.0'}
+
+ obj-multiplex@1.0.0:
+ resolution: {integrity: sha512-0GNJAOsHoBHeNTvl5Vt6IWnpUEcc3uSRxzBri7EDyIcMgYvnY2JL2qdeV5zTMjWQX5OHcD5amcW2HFfDh0gjIA==}
+
+ ofetch@1.5.1:
+ resolution: {integrity: sha512-2W4oUZlVaqAPAil6FUg/difl6YhqhUR7x2eZY4bQCko22UXg3hptq9KLQdqFClV+Wu85UX7hNtdGTngi/1BxcA==}
+
+ oidc-client-ts@3.3.0:
+ resolution: {integrity: sha512-t13S540ZwFOEZKLYHJwSfITugupW4uYLwuQSSXyKH/wHwZ+7FvgHE7gnNJh1YQIZ1Yd1hKSRjqeXGSUtS0r9JA==}
+ engines: {node: '>=18'}
+
+ on-exit-leak-free@0.2.0:
+ resolution: {integrity: sha512-dqaz3u44QbRXQooZLTUKU41ZrzYrcvLISVgbrzbyCMxpmSLJvZ3ZamIJIZ29P6OhZIkNIQKosdeM6t1LYbA9hg==}
+
+ on-exit-leak-free@2.1.2:
+ resolution: {integrity: sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==}
+ engines: {node: '>=14.0.0'}
+
+ once@1.4.0:
+ resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
+
+ onetime@5.1.2:
+ resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
+ engines: {node: '>=6'}
+
+ onetime@7.0.0:
+ resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==}
+ engines: {node: '>=18'}
+
+ open@10.2.0:
+ resolution: {integrity: sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==}
+ engines: {node: '>=18'}
+
+ openapi-fetch@0.13.8:
+ resolution: {integrity: sha512-yJ4QKRyNxE44baQ9mY5+r/kAzZ8yXMemtNAOFwOzRXJscdjSxxzWSNlyBAr+o5JjkUw9Lc3W7OIoca0cY3PYnQ==}
+
+ openapi-typescript-helpers@0.0.15:
+ resolution: {integrity: sha512-opyTPaunsklCBpTK8JGef6mfPhLSnyy5a0IN9vKtx3+4aExf+KxEqYwIy3hqkedXIB97u357uLMJsOnm3GVjsw==}
+
+ ora@9.0.0:
+ resolution: {integrity: sha512-m0pg2zscbYgWbqRR6ABga5c3sZdEon7bSgjnlXC64kxtxLOyjRcbbUkLj7HFyy/FTD+P2xdBWu8snGhYI0jc4A==}
+ engines: {node: '>=20'}
+
+ ox@0.6.7:
+ resolution: {integrity: sha512-17Gk/eFsFRAZ80p5eKqv89a57uXjd3NgIf1CaXojATPBuujVc/fQSVhBeAU9JCRB+k7J50WQAyWTxK19T9GgbA==}
+ peerDependencies:
+ typescript: '>=5.4.0'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
+ ox@0.6.9:
+ resolution: {integrity: sha512-wi5ShvzE4eOcTwQVsIPdFr+8ycyX+5le/96iAJutaZAvCes1J0+RvpEPg5QDPDiaR0XQQAvZVl7AwqQcINuUug==}
+ peerDependencies:
+ typescript: '>=5.4.0'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
+ ox@0.9.3:
+ resolution: {integrity: sha512-KzyJP+fPV4uhuuqrTZyok4DC7vFzi7HLUFiUNEmpbyh59htKWkOC98IONC1zgXJPbHAhQgqs6B0Z6StCGhmQvg==}
+ peerDependencies:
+ typescript: '>=5.4.0'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
+ ox@0.9.6:
+ resolution: {integrity: sha512-8SuCbHPvv2eZLYXrNmC0EC12rdzXQLdhnOMlHDW2wiCPLxBrOOJwX5L5E61by+UjTPOryqQiRSnjIKCI+GykKg==}
+ peerDependencies:
+ typescript: '>=5.4.0'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
+ p-limit@2.3.0:
+ resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==}
+ engines: {node: '>=6'}
+
+ p-locate@4.1.0:
+ resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==}
+ engines: {node: '>=8'}
+
+ p-try@2.2.0:
+ resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==}
+ engines: {node: '>=6'}
+
+ patch-console@2.0.0:
+ resolution: {integrity: sha512-0YNdUceMdaQwoKce1gatDScmMo5pu/tfABfnzEqeG0gtTmd7mh/WcwgUjtAeOU7N8nFFlbQBnFK2gXW5fGvmMA==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+ path-exists@4.0.0:
+ resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
+ engines: {node: '>=8'}
+
+ picocolors@1.1.1:
+ resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
+
+ picomatch@2.3.1:
+ resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
+ engines: {node: '>=8.6'}
+
+ pify@3.0.0:
+ resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==}
+ engines: {node: '>=4'}
+
+ pify@5.0.0:
+ resolution: {integrity: sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==}
+ engines: {node: '>=10'}
+
+ pino-abstract-transport@0.5.0:
+ resolution: {integrity: sha512-+KAgmVeqXYbTtU2FScx1XS3kNyfZ5TrXY07V96QnUSFqo2gAqlvmaxH67Lj7SWazqsMabf+58ctdTcBgnOLUOQ==}
+
+ pino-abstract-transport@2.0.0:
+ resolution: {integrity: sha512-F63x5tizV6WCh4R6RHyi2Ml+M70DNRXt/+HANowMflpgGFMAym/VKm6G7ZOQRjqN7XbGxK1Lg9t6ZrtzOaivMw==}
+
+ pino-std-serializers@4.0.0:
+ resolution: {integrity: sha512-cK0pekc1Kjy5w9V2/n+8MkZwusa6EyyxfeQCB799CQRhRt/CqYKiWs5adeu8Shve2ZNffvfC/7J64A2PJo1W/Q==}
+
+ pino-std-serializers@7.0.0:
+ resolution: {integrity: sha512-e906FRY0+tV27iq4juKzSYPbUj2do2X2JX4EzSca1631EB2QJQUqGbDuERal7LCtOpxl6x3+nvo9NPZcmjkiFA==}
+
+ pino@10.0.0:
+ resolution: {integrity: sha512-eI9pKwWEix40kfvSzqEP6ldqOoBIN7dwD/o91TY5z8vQI12sAffpR/pOqAD1IVVwIVHDpHjkq0joBPdJD0rafA==}
+ hasBin: true
+
+ pino@10.1.0:
+ resolution: {integrity: sha512-0zZC2ygfdqvqK8zJIr1e+wT1T/L+LF6qvqvbzEQ6tiMAoTqEVK9a1K3YRu8HEUvGEvNqZyPJTtb2sNIoTkB83w==}
+ hasBin: true
+
+ pino@7.11.0:
+ resolution: {integrity: sha512-dMACeu63HtRLmCG8VKdy4cShCPKaYDR4youZqoSWLxl5Gu99HUw8bw75thbPv9Nip+H+QYX8o3ZJbTdVZZ2TVg==}
+ hasBin: true
+
+ pngjs@5.0.0:
+ resolution: {integrity: sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==}
+ engines: {node: '>=10.13.0'}
+
+ pony-cause@2.1.11:
+ resolution: {integrity: sha512-M7LhCsdNbNgiLYiP4WjsfLUuFmCfnjdF6jKe2R9NKl4WFN+HZPGHJZ9lnLP7f9ZnKe3U9nuWD0szirmj+migUg==}
+ engines: {node: '>=12.0.0'}
+
+ porto@0.2.35:
+ resolution: {integrity: sha512-gu9FfjjvvYBgQXUHWTp6n3wkTxVtEcqFotM7i3GEZeoQbvLGbssAicCz6hFZ8+xggrJWwi/RLmbwNra50SMmUQ==}
+ hasBin: true
+ 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
+
+ possible-typed-array-names@1.1.0:
+ resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==}
+ engines: {node: '>= 0.4'}
+
+ preact@10.24.2:
+ resolution: {integrity: sha512-1cSoF0aCC8uaARATfrlz4VCBqE8LwZwRfLgkxJOQwAlQt6ayTmi0D9OF7nXid1POI5SZidFuG9CnlXbDfLqY/Q==}
+
+ preact@10.27.2:
+ resolution: {integrity: sha512-5SYSgFKSyhCbk6SrXyMpqjb5+MQBgfvEKE/OC+PujcY34sOpqtr+0AZQtPYx5IA6VxynQ7rUPCtKzyovpj9Bpg==}
+
+ prebuild-install@7.1.3:
+ resolution: {integrity: sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==}
+ engines: {node: '>=10'}
+ hasBin: true
+
+ process-nextick-args@2.0.1:
+ resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==}
+
+ process-warning@1.0.0:
+ resolution: {integrity: sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q==}
+
+ process-warning@5.0.0:
+ resolution: {integrity: sha512-a39t9ApHNx2L4+HBnQKqxxHNs1r7KF+Intd8Q/g1bUh6q0WIp9voPXJ/x0j+ZL45KF1pJd9+q2jLIRMfvEshkA==}
+
+ proxy-compare@2.6.0:
+ resolution: {integrity: sha512-8xuCeM3l8yqdmbPoYeLbrAXCBWu19XEYc5/F28f5qOaoAIMyfmBUkl5axiK+x9olUvRlcekvnm98AP9RDngOIw==}
+
+ proxy-compare@3.0.1:
+ resolution: {integrity: sha512-V9plBAt3qjMlS1+nC8771KNf6oJ12gExvaxnNzN/9yVRLdTv/lc+oJlnSzrdYDAvBfTStPCoiaCOTmTs0adv7Q==}
+
+ proxy-from-env@1.1.0:
+ resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==}
+
+ pump@3.0.3:
+ resolution: {integrity: sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==}
+
+ qrcode-terminal@0.12.0:
+ resolution: {integrity: sha512-EXtzRZmC+YGmGlDFbXKxQiMZNwCLEO6BANKXG4iCtSIM0yqc/pappSx3RIKr4r0uh5JsBckOXeKrB3Iz7mdQpQ==}
+ hasBin: true
+
+ qrcode@1.5.3:
+ resolution: {integrity: sha512-puyri6ApkEHYiVl4CFzo1tDkAZ+ATcnbJrJ6RiBM1Fhctdn/ix9MTE3hRph33omisEbC/2fcfemsseiKgBPKZg==}
+ engines: {node: '>=10.13.0'}
+ hasBin: true
+
+ query-string@7.1.3:
+ resolution: {integrity: sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg==}
+ engines: {node: '>=6'}
+
+ quick-format-unescaped@4.0.4:
+ resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==}
+
+ radix3@1.1.2:
+ resolution: {integrity: sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA==}
+
+ rc@1.2.8:
+ resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==}
+ hasBin: true
+
+ react-dom@19.2.0:
+ resolution: {integrity: sha512-UlbRu4cAiGaIewkPyiRGJk0imDN2T3JjieT6spoL2UeSf5od4n5LB/mQ4ejmxhCFT1tYe8IvaFulzynWovsEFQ==}
+ peerDependencies:
+ react: ^19.2.0
+
+ react-oidc-context@3.3.0:
+ resolution: {integrity: sha512-302T/ma4AOVAxrHdYctDSKXjCq9KNHT564XEO2yOPxRfxEP58xa4nz+GQinNl8x7CnEXECSM5JEjQJk3Cr5BvA==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ oidc-client-ts: ^3.1.0
+ react: '>=16.14.0'
+
+ react-reconciler@0.32.0:
+ resolution: {integrity: sha512-2NPMOzgTlG0ZWdIf3qG+dcbLSoAc/uLfOwckc3ofy5sSK0pLJqnQLpUFxvGcN2rlXSjnVtGeeFLNimCQEj5gOQ==}
+ engines: {node: '>=0.10.0'}
+ peerDependencies:
+ react: ^19.1.0
+
+ react@19.2.0:
+ resolution: {integrity: sha512-tmbWg6W31tQLeB5cdIBOicJDJRR2KzXsV7uSK9iNfLWQ5bIZfxuPEHp7M8wiHyHnn0DD1i7w3Zmin0FtkrwoCQ==}
+ engines: {node: '>=0.10.0'}
+
+ readable-stream@2.3.8:
+ resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==}
+
+ readable-stream@3.6.2:
+ resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==}
+ engines: {node: '>= 6'}
+
+ readdirp@4.1.2:
+ resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==}
+ engines: {node: '>= 14.18.0'}
+
+ real-require@0.1.0:
+ resolution: {integrity: sha512-r/H9MzAWtrv8aSVjPCMFpDMl5q66GqtmmRkRjpHTsp4zBAa+snZyiQNlMONiUmEJcsnaw0wCauJ2GWODr/aFkg==}
+ engines: {node: '>= 12.13.0'}
+
+ real-require@0.2.0:
+ resolution: {integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==}
+ engines: {node: '>= 12.13.0'}
+
+ require-directory@2.1.1:
+ resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==}
+ engines: {node: '>=0.10.0'}
+
+ require-from-string@2.0.2:
+ resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==}
+ engines: {node: '>=0.10.0'}
+
+ require-main-filename@2.0.0:
+ resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==}
+
+ resolve-pkg-maps@1.0.0:
+ resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==}
+
+ restore-cursor@4.0.0:
+ resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+ restore-cursor@5.1.0:
+ resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==}
+ engines: {node: '>=18'}
+
+ rpc-websockets@9.3.1:
+ resolution: {integrity: sha512-bY6a+i/lEtBJ/mUxwsCTgevoV1P0foXTVA7UoThzaIWbM+3NDqorf8NBWs5DmqKTFeA1IoNzgvkWjFCPgnzUiQ==}
+
+ run-applescript@7.1.0:
+ resolution: {integrity: sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==}
+ engines: {node: '>=18'}
+
+ safe-buffer@5.1.2:
+ resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==}
+
+ safe-buffer@5.2.1:
+ resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
+
+ safe-regex-test@1.1.0:
+ resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==}
+ engines: {node: '>= 0.4'}
+
+ safe-stable-stringify@2.5.0:
+ resolution: {integrity: sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==}
+ engines: {node: '>=10'}
+
+ scheduler@0.26.0:
+ resolution: {integrity: sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==}
+
+ scheduler@0.27.0:
+ resolution: {integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==}
+
+ semver@7.7.2:
+ resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==}
+ engines: {node: '>=10'}
+ hasBin: true
+
+ semver@7.7.3:
+ resolution: {integrity: sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==}
+ engines: {node: '>=10'}
+ hasBin: true
+
+ set-blocking@2.0.0:
+ resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==}
+
+ set-function-length@1.2.2:
+ resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==}
+ engines: {node: '>= 0.4'}
+
+ sha.js@2.4.12:
+ resolution: {integrity: sha512-8LzC5+bvI45BjpfXU8V5fdU2mfeKiQe1D1gIMn7XUlF3OTUrpdJpPPH4EMAnF0DsHHdSZqCdSss5qCmJKuiO3w==}
+ engines: {node: '>= 0.10'}
+ hasBin: true
+
+ signal-exit@3.0.7:
+ resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
+
+ signal-exit@4.1.0:
+ resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
+ engines: {node: '>=14'}
+
+ simple-concat@1.0.1:
+ resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==}
+
+ simple-get@4.0.1:
+ resolution: {integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==}
+
+ sisteransi@1.0.5:
+ resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==}
+
+ slice-ansi@5.0.0:
+ resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==}
+ engines: {node: '>=12'}
+
+ slice-ansi@7.1.2:
+ resolution: {integrity: sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==}
+ engines: {node: '>=18'}
+
+ slow-redact@0.3.2:
+ resolution: {integrity: sha512-MseHyi2+E/hBRqdOi5COy6wZ7j7DxXRz9NkseavNYSvvWC06D8a5cidVZX3tcG5eCW3NIyVU4zT63hw0Q486jw==}
+
+ socket.io-client@4.8.1:
+ resolution: {integrity: sha512-hJVXfu3E28NmzGk8o1sHhN3om52tRvwYeidbj7xKy2eIIse5IoKX3USlS6Tqt3BHAtflLIkCQBkzVrEEfWUyYQ==}
+ engines: {node: '>=10.0.0'}
+
+ socket.io-parser@4.2.4:
+ resolution: {integrity: sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==}
+ engines: {node: '>=10.0.0'}
+
+ sonic-boom@2.8.0:
+ resolution: {integrity: sha512-kuonw1YOYYNOve5iHdSahXPOK49GqwA+LZhI6Wz/l0rP57iKyXXIHaRagOBHAPmGwJC6od2Z9zgvZ5loSgMlVg==}
+
+ sonic-boom@4.2.0:
+ resolution: {integrity: sha512-INb7TM37/mAcsGmc9hyyI6+QR3rR1zVRu36B0NeGXKnOOLiZOfER5SA+N7X7k3yUYRzLWafduTDvJAfDswwEww==}
+
+ split-on-first@1.1.0:
+ resolution: {integrity: sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==}
+ engines: {node: '>=6'}
+
+ split2@4.2.0:
+ resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==}
+ engines: {node: '>= 10.x'}
+
+ stack-utils@2.0.6:
+ resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==}
+ engines: {node: '>=10'}
+
+ stdin-discarder@0.2.2:
+ resolution: {integrity: sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==}
+ engines: {node: '>=18'}
+
+ stream-chain@2.2.5:
+ resolution: {integrity: sha512-1TJmBx6aSWqZ4tx7aTpBDXK0/e2hhcNSTV8+CbFJtDjbb+I1mZ8lHit0Grw9GRT+6JbIrrDd8esncgBi8aBXGA==}
+
+ stream-json@1.9.1:
+ resolution: {integrity: sha512-uWkjJ+2Nt/LO9Z/JyKZbMusL8Dkh97uUBTv3AJQ74y07lVahLY4eEFsPsE97pxYBwr8nnjMAIch5eqI0gPShyw==}
+
+ stream-shift@1.0.3:
+ resolution: {integrity: sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==}
+
+ strict-uri-encode@2.0.0:
+ resolution: {integrity: sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==}
+ engines: {node: '>=4'}
+
+ string-width@4.2.3:
+ resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
+ engines: {node: '>=8'}
+
+ string-width@7.2.0:
+ resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==}
+ engines: {node: '>=18'}
+
+ string-width@8.1.0:
+ resolution: {integrity: sha512-Kxl3KJGb/gxkaUMOjRsQ8IrXiGW75O4E3RPjFIINOVH8AMl2SQ/yWdTzWwF3FevIX9LcMAjJW+GRwAlAbTSXdg==}
+ engines: {node: '>=20'}
+
+ string_decoder@1.1.1:
+ resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==}
+
+ string_decoder@1.3.0:
+ resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==}
+
+ strip-ansi@6.0.1:
+ resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
+ engines: {node: '>=8'}
+
+ strip-ansi@7.1.2:
+ resolution: {integrity: sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==}
+ engines: {node: '>=12'}
+
+ strip-json-comments@2.0.1:
+ resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==}
+ engines: {node: '>=0.10.0'}
+
+ stubborn-fs@2.0.0:
+ resolution: {integrity: sha512-Y0AvSwDw8y+nlSNFXMm2g6L51rBGdAQT20J3YSOqxC53Lo3bjWRtr2BKcfYoAf352WYpsZSTURrA0tqhfgudPA==}
+
+ stubborn-utils@1.0.2:
+ resolution: {integrity: sha512-zOh9jPYI+xrNOyisSelgym4tolKTJCQd5GBhK0+0xJvcYDcwlOoxF/rnFKQ2KRZknXSG9jWAp66fwP6AxN9STg==}
+
+ superstruct@1.0.4:
+ resolution: {integrity: sha512-7JpaAoX2NGyoFlI9NBh66BQXGONc+uE+MRS5i2iOBKuS4e+ccgMDjATgZldkah+33DakBxDHiss9kvUcGAO8UQ==}
+ engines: {node: '>=14.0.0'}
+
+ superstruct@2.0.2:
+ resolution: {integrity: sha512-uV+TFRZdXsqXTL2pRvujROjdZQ4RAlBUS5BTh9IGm+jTqQntYThciG/qu57Gs69yjnVUSqdxF9YLmSnpupBW9A==}
+ engines: {node: '>=14.0.0'}
+
+ swr@2.3.6:
+ resolution: {integrity: sha512-wfHRmHWk/isGNMwlLGlZX5Gzz/uTgo0o2IRuTMcf4CPuPFJZlq0rDaKUx+ozB5nBOReNV1kiOyzMfj+MBMikLw==}
+ peerDependencies:
+ react: ^16.11.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+
+ tagged-tag@1.0.0:
+ resolution: {integrity: sha512-yEFYrVhod+hdNyx7g5Bnkkb0G6si8HJurOoOEgC8B/O0uXLHlaey/65KRv6cuWBNhBgHKAROVpc7QyYqE5gFng==}
+ engines: {node: '>=20'}
+
+ tar-fs@2.1.4:
+ resolution: {integrity: sha512-mDAjwmZdh7LTT6pNleZ05Yt65HC3E+NiQzl672vQG38jIrehtJk/J3mNwIg+vShQPcLF/LV7CMnDW6vjj6sfYQ==}
+
+ tar-stream@2.2.0:
+ resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==}
+ engines: {node: '>=6'}
+
+ text-encoding-utf-8@1.0.2:
+ resolution: {integrity: sha512-8bw4MY9WjdsD2aMtO0OzOCY3pXGYNx2d2FfHRVUKkiCPDWjKuOlhLVASS+pD7VkLTVjW268LYJHwsnPFlBpbAg==}
+
+ thread-stream@0.15.2:
+ resolution: {integrity: sha512-UkEhKIg2pD+fjkHQKyJO3yoIvAP3N6RlNFt2dUhcS1FGvCD1cQa1M/PGknCLFIyZdtJOWQjejp7bdNqmN7zwdA==}
+
+ thread-stream@3.1.0:
+ resolution: {integrity: sha512-OqyPZ9u96VohAyMfJykzmivOrY2wfMSf3C5TtFJVgN+Hm6aj+voFhlK+kZEIv2FBh1X6Xp3DlnCOfEQ3B2J86A==}
+
+ throttleit@2.1.0:
+ resolution: {integrity: sha512-nt6AMGKW1p/70DF/hGBdJB57B8Tspmbp5gfJ8ilhLnt7kkr2ye7hzD6NVG8GGErk2HWF34igrL2CXmNIkzKqKw==}
+ engines: {node: '>=18'}
+
+ to-buffer@1.2.2:
+ resolution: {integrity: sha512-db0E3UJjcFhpDhAF4tLo03oli3pwl3dbnzXOUIlRKrp+ldk/VUxzpWYZENsw2SZiuBjHAk7DfB0VU7NKdpb6sw==}
+ engines: {node: '>= 0.4'}
+
+ tr46@0.0.3:
+ resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==}
+
+ tslib@1.14.1:
+ resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==}
+
+ tslib@2.8.1:
+ resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
+
+ tsx@4.20.6:
+ resolution: {integrity: sha512-ytQKuwgmrrkDTFP4LjR0ToE2nqgy886GpvRSpU0JAnrdBYppuY5rLkRUYPU1yCryb24SsKBTL/hlDQAEFVwtZg==}
+ engines: {node: '>=18.0.0'}
+ hasBin: true
+
+ tunnel-agent@0.6.0:
+ resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==}
+
+ type-fest@4.41.0:
+ resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==}
+ engines: {node: '>=16'}
+
+ type-fest@5.2.0:
+ resolution: {integrity: sha512-xxCJm+Bckc6kQBknN7i9fnP/xobQRsRQxR01CztFkp/h++yfVxUUcmMgfR2HttJx/dpWjS9ubVuyspJv24Q9DA==}
+ engines: {node: '>=20'}
+
+ typed-array-buffer@1.0.3:
+ resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==}
+ engines: {node: '>= 0.4'}
+
+ typescript@5.9.3:
+ resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==}
+ engines: {node: '>=14.17'}
+ hasBin: true
+
+ ufo@1.6.1:
+ resolution: {integrity: sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==}
+
+ uint8array-extras@1.5.0:
+ resolution: {integrity: sha512-rvKSBiC5zqCCiDZ9kAOszZcDvdAHwwIKJG33Ykj43OKcWsnmcBRL09YTU4nOeHZ8Y2a7l1MgTd08SBe9A8Qj6A==}
+ engines: {node: '>=18'}
+
+ uint8arrays@3.1.0:
+ resolution: {integrity: sha512-ei5rfKtoRO8OyOIor2Rz5fhzjThwIHJZ3uyDPnDHTXbP0aMQ1RN/6AI5B5d9dBxJOU+BvOAk7ZQ1xphsX8Lrog==}
+
+ uint8arrays@3.1.1:
+ resolution: {integrity: sha512-+QJa8QRnbdXVpHYjLoTpJIdCTiw9Ir62nocClWuXIq2JIh4Uta0cQsTSpFL678p2CN8B+XSApwcU+pQEqVpKWg==}
+
+ uncrypto@0.1.3:
+ resolution: {integrity: sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==}
+
+ undici-types@6.21.0:
+ resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==}
+
+ undici-types@7.16.0:
+ resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==}
+
+ unstorage@1.17.2:
+ resolution: {integrity: sha512-cKEsD6iBWJgOMJ6vW1ID/SYuqNf8oN4yqRk8OYqaVQ3nnkJXOT1PSpaMh2QfzLs78UN5kSNRD2c/mgjT8tX7+w==}
+ 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.0.3 || ^7.0.0
+ '@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.0.1
+ 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
+
+ use-sync-external-store@1.2.0:
+ resolution: {integrity: sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+
+ use-sync-external-store@1.4.0:
+ resolution: {integrity: sha512-9WXSPC5fMv61vaupRkCKCxsPxBocVnwakBEkMIHHpkTTg6icbJtg6jzgtLDm4bl3cSHAca52rYWih0k4K3PfHw==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+
+ utf-8-validate@5.0.10:
+ resolution: {integrity: sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==}
+ engines: {node: '>=6.14.2'}
+
+ util-deprecate@1.0.2:
+ resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
+
+ util@0.12.5:
+ resolution: {integrity: sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==}
+
+ uuid@8.3.2:
+ resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==}
+ hasBin: true
+
+ uuid@9.0.1:
+ resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==}
+ hasBin: true
+
+ valtio@1.13.2:
+ resolution: {integrity: sha512-Qik0o+DSy741TmkqmRfjq+0xpZBXi/Y6+fXZLn0xNF1z/waFMbE3rkivv5Zcf9RrMUp6zswf2J7sbh2KBlba5A==}
+ engines: {node: '>=12.20.0'}
+ peerDependencies:
+ '@types/react': '>=16.8'
+ react: '>=16.8'
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ react:
+ optional: true
+
+ valtio@2.1.7:
+ resolution: {integrity: sha512-DwJhCDpujuQuKdJ2H84VbTjEJJteaSmqsuUltsfbfdbotVfNeTE4K/qc/Wi57I9x8/2ed4JNdjEna7O6PfavRg==}
+ engines: {node: '>=12.20.0'}
+ peerDependencies:
+ '@types/react': '>=18.0.0'
+ react: '>=18.0.0'
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ react:
+ optional: true
+
+ viem@2.23.2:
+ resolution: {integrity: sha512-NVmW/E0c5crMOtbEAqMF0e3NmvQykFXhLOc/CkLIXOlzHSA6KXVz3CYVmaKqBF8/xtjsjHAGjdJN3Ru1kFJLaA==}
+ peerDependencies:
+ typescript: '>=5.0.4'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
+ viem@2.38.6:
+ resolution: {integrity: sha512-aqO6P52LPXRjdnP6rl5Buab65sYa4cZ6Cpn+k4OLOzVJhGIK8onTVoKMFMT04YjDfyDICa/DZyV9HmvLDgcjkw==}
+ peerDependencies:
+ typescript: '>=5.0.4'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
+ wagmi@2.19.2:
+ resolution: {integrity: sha512-UN8CQKNsUgQD2Lr2ybjAi07ZKq1SV4T/Pb9IN77t3oSXANr9C9tI3mijLNyINeA5ET4hJxIny3C2dWJ48zrFiA==}
+ peerDependencies:
+ '@tanstack/react-query': '>=5.0.0'
+ react: '>=18'
+ typescript: '>=5.0.4'
+ viem: 2.x
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
+ webextension-polyfill@0.10.0:
+ resolution: {integrity: sha512-c5s35LgVa5tFaHhrZDnr3FpQpjj1BB+RXhLTYUxGqBVN460HkbM8TBtEqdXWbpTKfzwCcjAZVF7zXCYSKtcp9g==}
+
+ webidl-conversions@3.0.1:
+ resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==}
+
+ whatwg-url@5.0.0:
+ resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==}
+
+ when-exit@2.1.5:
+ resolution: {integrity: sha512-VGkKJ564kzt6Ms1dbgPP/yuIoQCrsFAnRbptpC5wOEsDaNsbCB2bnfnaA8i/vRs5tjUSEOtIuvl9/MyVsvQZCg==}
+
+ which-module@2.0.1:
+ resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==}
+
+ which-typed-array@1.1.19:
+ resolution: {integrity: sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==}
+ engines: {node: '>= 0.4'}
+
+ widest-line@5.0.0:
+ resolution: {integrity: sha512-c9bZp7b5YtRj2wOe6dlj32MK+Bx/M/d+9VB2SHM1OtsUHR0aV0tdP6DWh/iMt0kWi1t5g1Iudu6hQRNd1A4PVA==}
+ engines: {node: '>=18'}
+
+ wrap-ansi@6.2.0:
+ resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==}
+ engines: {node: '>=8'}
+
+ wrap-ansi@9.0.2:
+ resolution: {integrity: sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==}
+ engines: {node: '>=18'}
+
+ wrappy@1.0.2:
+ resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
+
+ ws@7.5.10:
+ resolution: {integrity: sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==}
+ 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
+
+ ws@8.17.1:
+ resolution: {integrity: sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==}
+ 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
+
+ ws@8.18.0:
+ resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==}
+ 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
+
+ ws@8.18.3:
+ resolution: {integrity: sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==}
+ 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
+
+ wsl-utils@0.1.0:
+ resolution: {integrity: sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw==}
+ engines: {node: '>=18'}
+
+ x402-fetch@0.6.6:
+ resolution: {integrity: sha512-a2cneKdXlAXxZoFHhq42Ftv4+YTn1inrAvcUeop4fu8DKG1Nus1OemI0PvBOrKm2yM5gfCaqQhVGpIPiWziLYA==}
+
+ x402@0.6.6:
+ resolution: {integrity: sha512-gKkxqKBT0mH7fSLld6Mz9ML52dmu1XeOPhVtiUCA3EzkfY6p0EJ3ijKhIKN0Jh8Q6kVXrFlJ/4iAUS1dNDA2lA==}
+
+ xmlhttprequest-ssl@2.1.2:
+ resolution: {integrity: sha512-TEU+nJVUUnA4CYJFLvK5X9AOeH4KvDvhIfm0vV1GaQRtchnG0hgK5p8hw/xjv8cunWYCsiPCSDzObPyhEwq3KQ==}
+ engines: {node: '>=0.4.0'}
+
+ xtend@4.0.2:
+ resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==}
+ engines: {node: '>=0.4'}
+
+ y18n@4.0.3:
+ resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==}
+
+ yargs-parser@18.1.3:
+ resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==}
+ engines: {node: '>=6'}
+
+ yargs@15.4.1:
+ resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==}
+ engines: {node: '>=8'}
+
+ yoctocolors@2.1.2:
+ resolution: {integrity: sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug==}
+ engines: {node: '>=18'}
+
+ yoga-layout@3.2.1:
+ resolution: {integrity: sha512-0LPOt3AxKqMdFBZA3HBAt/t/8vIKq7VaQYbuA8WxCgung+p9TVyKRYdpvCb80HcdTN2NkbIKbhNwKUfm3tQywQ==}
+
+ zod-to-json-schema@3.24.6:
+ resolution: {integrity: sha512-h/z3PKvcTcTetyjl1fkj79MHNEjm+HpD6NXheWjzOekY7kV+lwDYnHw+ivHkijnCSMz1yJaWBD9vu/Fcmk+vEg==}
+ peerDependencies:
+ zod: ^3.24.1
+
+ zod@3.22.4:
+ resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==}
+
+ zod@3.25.76:
+ resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==}
+
+ zod@4.1.12:
+ resolution: {integrity: sha512-JInaHOamG8pt5+Ey8kGmdcAcg3OL9reK8ltczgHTAwNhMys/6ThXHityHxVV2p3fkw/c+MAvBHFVYHFZDmjMCQ==}
+
+ zustand@5.0.0:
+ resolution: {integrity: sha512-LE+VcmbartOPM+auOjCCLQOsQ05zUTp8RkgwRzefUk+2jISdMMFnxvyTjA4YNWr5ZGXYbVsEMZosttuxUBkojQ==}
+ 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
+
+ zustand@5.0.3:
+ resolution: {integrity: sha512-14fwWQtU3pH4dE0dOpdMiWjddcH+QzKIgk1cl8epwSE7yag43k/AD/m4L6+K7DytAOr9gGBe3/EXj9g7cdostg==}
+ 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
+
+ zustand@5.0.8:
+ resolution: {integrity: sha512-gyPKpIaxY9XcO2vSMrLbiER7QMAMGOQZVRdJ6Zi782jkbzZygq5GI9nG8g+sMgitRtndwaBSl7uiqC49o1SSiw==}
+ 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
+
+snapshots:
+
+ '@adraffy/ens-normalize@1.11.1': {}
+
+ '@ai-sdk/anthropic@2.0.17(zod@4.1.12)':
+ dependencies:
+ '@ai-sdk/provider': 2.0.0
+ '@ai-sdk/provider-utils': 3.0.9(zod@4.1.12)
+ zod: 4.1.12
+
+ '@ai-sdk/gateway@1.0.24(zod@4.1.12)':
+ dependencies:
+ '@ai-sdk/provider': 2.0.0
+ '@ai-sdk/provider-utils': 3.0.9(zod@4.1.12)
+ zod: 4.1.12
+
+ '@ai-sdk/gateway@1.0.8(zod@4.1.12)':
+ dependencies:
+ '@ai-sdk/provider': 2.0.0
+ '@ai-sdk/provider-utils': 3.0.4(zod@4.1.12)
+ zod: 4.1.12
+
+ '@ai-sdk/gateway@2.0.7(zod@4.1.12)':
+ dependencies:
+ '@ai-sdk/provider': 2.0.0
+ '@ai-sdk/provider-utils': 3.0.16(zod@4.1.12)
+ '@vercel/oidc': 3.0.3
+ zod: 4.1.12
+
+ '@ai-sdk/google@2.0.14(zod@4.1.12)':
+ dependencies:
+ '@ai-sdk/provider': 2.0.0
+ '@ai-sdk/provider-utils': 3.0.9(zod@4.1.12)
+ zod: 4.1.12
+
+ '@ai-sdk/groq@2.0.17(zod@4.1.12)':
+ dependencies:
+ '@ai-sdk/provider': 2.0.0
+ '@ai-sdk/provider-utils': 3.0.8(zod@4.1.12)
+ zod: 4.1.12
+
+ '@ai-sdk/openai-compatible@1.0.15(zod@4.1.12)':
+ dependencies:
+ '@ai-sdk/provider': 2.0.0
+ '@ai-sdk/provider-utils': 3.0.8(zod@4.1.12)
+ zod: 4.1.12
+
+ '@ai-sdk/openai@2.0.16(zod@4.1.12)':
+ dependencies:
+ '@ai-sdk/provider': 2.0.0
+ '@ai-sdk/provider-utils': 3.0.4(zod@4.1.12)
+ zod: 4.1.12
+
+ '@ai-sdk/openai@2.0.32(zod@4.1.12)':
+ dependencies:
+ '@ai-sdk/provider': 2.0.0
+ '@ai-sdk/provider-utils': 3.0.9(zod@4.1.12)
+ zod: 4.1.12
+
+ '@ai-sdk/openai@2.0.64(zod@4.1.12)':
+ dependencies:
+ '@ai-sdk/provider': 2.0.0
+ '@ai-sdk/provider-utils': 3.0.16(zod@4.1.12)
+ zod: 4.1.12
+
+ '@ai-sdk/provider-utils@3.0.16(zod@4.1.12)':
+ dependencies:
+ '@ai-sdk/provider': 2.0.0
+ '@standard-schema/spec': 1.0.0
+ eventsource-parser: 3.0.6
+ zod: 4.1.12
+
+ '@ai-sdk/provider-utils@3.0.4(zod@4.1.12)':
+ dependencies:
+ '@ai-sdk/provider': 2.0.0
+ '@standard-schema/spec': 1.0.0
+ eventsource-parser: 3.0.6
+ zod: 4.1.12
+ zod-to-json-schema: 3.24.6(zod@4.1.12)
+
+ '@ai-sdk/provider-utils@3.0.8(zod@4.1.12)':
+ dependencies:
+ '@ai-sdk/provider': 2.0.0
+ '@standard-schema/spec': 1.0.0
+ eventsource-parser: 3.0.6
+ zod: 4.1.12
+
+ '@ai-sdk/provider-utils@3.0.9(zod@4.1.12)':
+ dependencies:
+ '@ai-sdk/provider': 2.0.0
+ '@standard-schema/spec': 1.0.0
+ eventsource-parser: 3.0.6
+ zod: 4.1.12
+
+ '@ai-sdk/provider@2.0.0':
+ dependencies:
+ json-schema: 0.4.0
+
+ '@ai-sdk/react@2.0.17(react@19.2.0)(zod@4.1.12)':
+ dependencies:
+ '@ai-sdk/provider-utils': 3.0.4(zod@4.1.12)
+ ai: 5.0.17(zod@4.1.12)
+ react: 19.2.0
+ swr: 2.3.6(react@19.2.0)
+ throttleit: 2.1.0
+ optionalDependencies:
+ zod: 4.1.12
+
+ '@ai-sdk/xai@2.0.16(zod@4.1.12)':
+ dependencies:
+ '@ai-sdk/openai-compatible': 1.0.15(zod@4.1.12)
+ '@ai-sdk/provider': 2.0.0
+ '@ai-sdk/provider-utils': 3.0.8(zod@4.1.12)
+ zod: 4.1.12
+
+ '@alcalzone/ansi-tokenize@0.2.2':
+ dependencies:
+ ansi-styles: 6.2.3
+ is-fullwidth-code-point: 5.1.0
+
+ '@babel/runtime@7.28.4': {}
+
+ '@base-org/account@2.4.0(@types/react@19.2.2)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(react@19.2.0)(typescript@5.9.3)(use-sync-external-store@1.4.0(react@19.2.0))(utf-8-validate@5.0.10)(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.25.76)':
+ dependencies:
+ '@coinbase/cdp-sdk': 1.38.5(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(utf-8-validate@5.0.10)(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))
+ '@noble/hashes': 1.4.0
+ clsx: 1.2.1
+ eventemitter3: 5.0.1
+ idb-keyval: 6.2.1
+ ox: 0.6.9(typescript@5.9.3)(zod@3.25.76)
+ preact: 10.24.2
+ viem: 2.38.6(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)
+ zustand: 5.0.3(@types/react@19.2.2)(react@19.2.0)(use-sync-external-store@1.4.0(react@19.2.0))
+ transitivePeerDependencies:
+ - '@types/react'
+ - bufferutil
+ - debug
+ - encoding
+ - fastestsmallesttextencoderdecoder
+ - immer
+ - react
+ - typescript
+ - use-sync-external-store
+ - utf-8-validate
+ - ws
+ - zod
+
+ '@clack/core@0.5.0':
+ dependencies:
+ picocolors: 1.1.1
+ sisteransi: 1.0.5
+
+ '@clack/prompts@0.11.0':
+ dependencies:
+ '@clack/core': 0.5.0
+ picocolors: 1.1.1
+ sisteransi: 1.0.5
+
+ '@coinbase/cdp-sdk@1.38.5(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(utf-8-validate@5.0.10)(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))':
+ dependencies:
+ '@solana-program/system': 0.8.1(@solana/kit@3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10)))
+ '@solana-program/token': 0.6.0(@solana/kit@3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10)))
+ '@solana/kit': 3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))
+ '@solana/web3.js': 1.98.4(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)
+ abitype: 1.0.6(typescript@5.9.3)(zod@3.25.76)
+ axios: 1.13.2
+ axios-retry: 4.5.0(axios@1.13.2)
+ jose: 6.1.0
+ md5: 2.3.0
+ uncrypto: 0.1.3
+ viem: 2.38.6(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ zod: 3.25.76
+ transitivePeerDependencies:
+ - bufferutil
+ - debug
+ - encoding
+ - fastestsmallesttextencoderdecoder
+ - typescript
+ - utf-8-validate
+ - ws
+
+ '@coinbase/wallet-sdk@3.9.3':
+ dependencies:
+ bn.js: 5.2.2
+ buffer: 6.0.3
+ clsx: 1.2.1
+ eth-block-tracker: 7.1.0
+ eth-json-rpc-filters: 6.0.1
+ eventemitter3: 5.0.1
+ keccak: 3.0.4
+ preact: 10.27.2
+ sha.js: 2.4.12
+ transitivePeerDependencies:
+ - supports-color
+
+ '@coinbase/wallet-sdk@4.3.6(@types/react@19.2.2)(bufferutil@4.0.9)(react@19.2.0)(typescript@5.9.3)(use-sync-external-store@1.4.0(react@19.2.0))(utf-8-validate@5.0.10)(zod@3.25.76)':
+ dependencies:
+ '@noble/hashes': 1.4.0
+ clsx: 1.2.1
+ eventemitter3: 5.0.1
+ idb-keyval: 6.2.1
+ ox: 0.6.9(typescript@5.9.3)(zod@3.25.76)
+ preact: 10.24.2
+ viem: 2.38.6(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)
+ zustand: 5.0.3(@types/react@19.2.2)(react@19.2.0)(use-sync-external-store@1.4.0(react@19.2.0))
+ transitivePeerDependencies:
+ - '@types/react'
+ - bufferutil
+ - immer
+ - react
+ - typescript
+ - use-sync-external-store
+ - utf-8-validate
+ - zod
+
+ '@colors/colors@1.5.0':
+ optional: true
+
+ '@ecies/ciphers@0.2.5(@noble/ciphers@1.3.0)':
+ dependencies:
+ '@noble/ciphers': 1.3.0
+
+ '@esbuild/aix-ppc64@0.25.12':
+ optional: true
+
+ '@esbuild/android-arm64@0.25.12':
+ optional: true
+
+ '@esbuild/android-arm@0.25.12':
+ optional: true
+
+ '@esbuild/android-x64@0.25.12':
+ optional: true
+
+ '@esbuild/darwin-arm64@0.25.12':
+ optional: true
+
+ '@esbuild/darwin-x64@0.25.12':
+ optional: true
+
+ '@esbuild/freebsd-arm64@0.25.12':
+ optional: true
+
+ '@esbuild/freebsd-x64@0.25.12':
+ optional: true
+
+ '@esbuild/linux-arm64@0.25.12':
+ optional: true
+
+ '@esbuild/linux-arm@0.25.12':
+ optional: true
+
+ '@esbuild/linux-ia32@0.25.12':
+ optional: true
+
+ '@esbuild/linux-loong64@0.25.12':
+ optional: true
+
+ '@esbuild/linux-mips64el@0.25.12':
+ optional: true
+
+ '@esbuild/linux-ppc64@0.25.12':
+ optional: true
+
+ '@esbuild/linux-riscv64@0.25.12':
+ optional: true
+
+ '@esbuild/linux-s390x@0.25.12':
+ optional: true
+
+ '@esbuild/linux-x64@0.25.12':
+ optional: true
+
+ '@esbuild/netbsd-arm64@0.25.12':
+ optional: true
+
+ '@esbuild/netbsd-x64@0.25.12':
+ optional: true
+
+ '@esbuild/openbsd-arm64@0.25.12':
+ optional: true
+
+ '@esbuild/openbsd-x64@0.25.12':
+ optional: true
+
+ '@esbuild/openharmony-arm64@0.25.12':
+ optional: true
+
+ '@esbuild/sunos-x64@0.25.12':
+ optional: true
+
+ '@esbuild/win32-arm64@0.25.12':
+ optional: true
+
+ '@esbuild/win32-ia32@0.25.12':
+ optional: true
+
+ '@esbuild/win32-x64@0.25.12':
+ optional: true
+
+ '@ethereumjs/common@3.2.0':
+ dependencies:
+ '@ethereumjs/util': 8.1.0
+ crc-32: 1.2.2
+
+ '@ethereumjs/rlp@4.0.1': {}
+
+ '@ethereumjs/tx@4.2.0':
+ dependencies:
+ '@ethereumjs/common': 3.2.0
+ '@ethereumjs/rlp': 4.0.1
+ '@ethereumjs/util': 8.1.0
+ ethereum-cryptography: 2.2.1
+
+ '@ethereumjs/util@8.1.0':
+ dependencies:
+ '@ethereumjs/rlp': 4.0.1
+ ethereum-cryptography: 2.2.1
+ micro-ftch: 0.3.1
+
+ '@gemini-wallet/core@0.3.1(viem@2.38.6(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12))':
+ dependencies:
+ '@metamask/rpc-errors': 7.0.2
+ eventemitter3: 5.0.1
+ viem: 2.38.6(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)
+ transitivePeerDependencies:
+ - supports-color
+
+ '@lit-labs/ssr-dom-shim@1.4.0': {}
+
+ '@lit/react@1.0.8(@types/react@19.2.2)':
+ dependencies:
+ '@types/react': 19.2.2
+ optional: true
+
+ '@lit/reactive-element@2.1.1':
+ dependencies:
+ '@lit-labs/ssr-dom-shim': 1.4.0
+
+ '@merit-systems/ai-x402@0.1.3(@solana/sysvars@3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3))(@tanstack/query-core@5.90.7)(@tanstack/react-query@5.90.7(react@19.2.0))(@types/react@19.2.2)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))':
+ dependencies:
+ '@ai-sdk/openai': 2.0.16(zod@4.1.12)
+ '@ai-sdk/react': 2.0.17(react@19.2.0)(zod@4.1.12)
+ '@merit-systems/echo-react-sdk': 1.0.39(@ai-sdk/react@2.0.17(react@19.2.0)(zod@4.1.12))(ai@5.0.47(zod@4.1.12))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(zod@4.1.12)
+ ai: 5.0.47(zod@4.1.12)
+ react: 19.2.0
+ x402: 0.6.6(@solana/sysvars@3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3))(@tanstack/query-core@5.90.7)(@tanstack/react-query@5.90.7(react@19.2.0))(@types/react@19.2.2)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))
+ x402-fetch: 0.6.6(@solana/sysvars@3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3))(@tanstack/query-core@5.90.7)(@tanstack/react-query@5.90.7(react@19.2.0))(@types/react@19.2.2)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))
+ zod: 4.1.12
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@deno/kv'
+ - '@netlify/blobs'
+ - '@planetscale/database'
+ - '@react-native-async-storage/async-storage'
+ - '@solana/sysvars'
+ - '@tanstack/query-core'
+ - '@tanstack/react-query'
+ - '@types/react'
+ - '@upstash/redis'
+ - '@vercel/blob'
+ - '@vercel/functions'
+ - '@vercel/kv'
+ - aws4fetch
+ - bufferutil
+ - db0
+ - debug
+ - encoding
+ - expo-auth-session
+ - expo-crypto
+ - expo-web-browser
+ - fastestsmallesttextencoderdecoder
+ - immer
+ - ioredis
+ - openai
+ - react-dom
+ - react-native
+ - supports-color
+ - typescript
+ - uploadthing
+ - utf-8-validate
+ - ws
+
+ '@merit-systems/echo-react-sdk@1.0.39(@ai-sdk/react@2.0.17(react@19.2.0)(zod@4.1.12))(ai@5.0.47(zod@4.1.12))(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(zod@4.1.12)':
+ dependencies:
+ '@ai-sdk/react': 2.0.17(react@19.2.0)(zod@4.1.12)
+ '@merit-systems/echo-typescript-sdk': 1.0.23(zod@4.1.12)
+ ai: 5.0.47(zod@4.1.12)
+ dompurify: 3.3.0
+ oidc-client-ts: 3.3.0
+ react: 19.2.0
+ react-dom: 19.2.0(react@19.2.0)
+ react-oidc-context: 3.3.0(oidc-client-ts@3.3.0)(react@19.2.0)
+ swr: 2.3.6(react@19.2.0)
+ transitivePeerDependencies:
+ - zod
+
+ '@merit-systems/echo-typescript-sdk@1.0.23(zod@4.1.12)':
+ dependencies:
+ '@ai-sdk/anthropic': 2.0.17(zod@4.1.12)
+ '@ai-sdk/google': 2.0.14(zod@4.1.12)
+ '@ai-sdk/groq': 2.0.17(zod@4.1.12)
+ '@ai-sdk/openai': 2.0.32(zod@4.1.12)
+ '@ai-sdk/xai': 2.0.16(zod@4.1.12)
+ '@openrouter/ai-sdk-provider': 1.2.0(ai@5.0.47(zod@4.1.12))(zod@4.1.12)
+ ai: 5.0.47(zod@4.1.12)
+ transitivePeerDependencies:
+ - zod
+
+ '@metamask/eth-json-rpc-provider@1.0.1':
+ dependencies:
+ '@metamask/json-rpc-engine': 7.3.3
+ '@metamask/safe-event-emitter': 3.1.2
+ '@metamask/utils': 5.0.2
+ transitivePeerDependencies:
+ - supports-color
+
+ '@metamask/json-rpc-engine@7.3.3':
+ dependencies:
+ '@metamask/rpc-errors': 6.4.0
+ '@metamask/safe-event-emitter': 3.1.2
+ '@metamask/utils': 8.5.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@metamask/json-rpc-engine@8.0.2':
+ dependencies:
+ '@metamask/rpc-errors': 6.4.0
+ '@metamask/safe-event-emitter': 3.1.2
+ '@metamask/utils': 8.5.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@metamask/json-rpc-middleware-stream@7.0.2':
+ dependencies:
+ '@metamask/json-rpc-engine': 8.0.2
+ '@metamask/safe-event-emitter': 3.1.2
+ '@metamask/utils': 8.5.0
+ readable-stream: 3.6.2
+ transitivePeerDependencies:
+ - supports-color
+
+ '@metamask/object-multiplex@2.1.0':
+ dependencies:
+ once: 1.4.0
+ readable-stream: 3.6.2
+
+ '@metamask/onboarding@1.0.1':
+ dependencies:
+ bowser: 2.12.1
+
+ '@metamask/providers@16.1.0':
+ dependencies:
+ '@metamask/json-rpc-engine': 8.0.2
+ '@metamask/json-rpc-middleware-stream': 7.0.2
+ '@metamask/object-multiplex': 2.1.0
+ '@metamask/rpc-errors': 6.4.0
+ '@metamask/safe-event-emitter': 3.1.2
+ '@metamask/utils': 8.5.0
+ detect-browser: 5.3.0
+ extension-port-stream: 3.0.0
+ fast-deep-equal: 3.1.3
+ is-stream: 2.0.1
+ readable-stream: 3.6.2
+ webextension-polyfill: 0.10.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@metamask/rpc-errors@6.4.0':
+ dependencies:
+ '@metamask/utils': 9.3.0
+ fast-safe-stringify: 2.1.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@metamask/rpc-errors@7.0.2':
+ dependencies:
+ '@metamask/utils': 11.8.1
+ fast-safe-stringify: 2.1.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@metamask/safe-event-emitter@2.0.0': {}
+
+ '@metamask/safe-event-emitter@3.1.2': {}
+
+ '@metamask/sdk-analytics@0.0.5':
+ dependencies:
+ openapi-fetch: 0.13.8
+
+ '@metamask/sdk-communication-layer@0.33.1(cross-fetch@4.1.0)(eciesjs@0.4.16)(eventemitter2@6.4.9)(readable-stream@3.6.2)(socket.io-client@4.8.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))':
+ dependencies:
+ '@metamask/sdk-analytics': 0.0.5
+ bufferutil: 4.0.9
+ cross-fetch: 4.1.0
+ date-fns: 2.30.0
+ debug: 4.3.4
+ eciesjs: 0.4.16
+ eventemitter2: 6.4.9
+ readable-stream: 3.6.2
+ socket.io-client: 4.8.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)
+ utf-8-validate: 5.0.10
+ uuid: 8.3.2
+ transitivePeerDependencies:
+ - supports-color
+
+ '@metamask/sdk-install-modal-web@0.32.1':
+ dependencies:
+ '@paulmillr/qr': 0.2.1
+
+ '@metamask/sdk@0.33.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)':
+ dependencies:
+ '@babel/runtime': 7.28.4
+ '@metamask/onboarding': 1.0.1
+ '@metamask/providers': 16.1.0
+ '@metamask/sdk-analytics': 0.0.5
+ '@metamask/sdk-communication-layer': 0.33.1(cross-fetch@4.1.0)(eciesjs@0.4.16)(eventemitter2@6.4.9)(readable-stream@3.6.2)(socket.io-client@4.8.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))
+ '@metamask/sdk-install-modal-web': 0.32.1
+ '@paulmillr/qr': 0.2.1
+ bowser: 2.12.1
+ cross-fetch: 4.1.0
+ debug: 4.3.4
+ eciesjs: 0.4.16
+ eth-rpc-errors: 4.0.3
+ eventemitter2: 6.4.9
+ obj-multiplex: 1.0.0
+ pump: 3.0.3
+ readable-stream: 3.6.2
+ socket.io-client: 4.8.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)
+ tslib: 2.8.1
+ util: 0.12.5
+ uuid: 8.3.2
+ transitivePeerDependencies:
+ - bufferutil
+ - encoding
+ - supports-color
+ - utf-8-validate
+
+ '@metamask/superstruct@3.2.1': {}
+
+ '@metamask/utils@11.8.1':
+ dependencies:
+ '@ethereumjs/tx': 4.2.0
+ '@metamask/superstruct': 3.2.1
+ '@noble/hashes': 1.8.0
+ '@scure/base': 1.2.6
+ '@types/debug': 4.1.12
+ '@types/lodash': 4.17.20
+ debug: 4.4.3
+ lodash: 4.17.21
+ pony-cause: 2.1.11
+ semver: 7.7.3
+ uuid: 9.0.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@metamask/utils@5.0.2':
+ dependencies:
+ '@ethereumjs/tx': 4.2.0
+ '@types/debug': 4.1.12
+ debug: 4.4.3
+ semver: 7.7.3
+ superstruct: 1.0.4
+ transitivePeerDependencies:
+ - supports-color
+
+ '@metamask/utils@8.5.0':
+ dependencies:
+ '@ethereumjs/tx': 4.2.0
+ '@metamask/superstruct': 3.2.1
+ '@noble/hashes': 1.8.0
+ '@scure/base': 1.2.6
+ '@types/debug': 4.1.12
+ debug: 4.4.3
+ pony-cause: 2.1.11
+ semver: 7.7.3
+ uuid: 9.0.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@metamask/utils@9.3.0':
+ dependencies:
+ '@ethereumjs/tx': 4.2.0
+ '@metamask/superstruct': 3.2.1
+ '@noble/hashes': 1.8.0
+ '@scure/base': 1.2.6
+ '@types/debug': 4.1.12
+ debug: 4.4.3
+ pony-cause: 2.1.11
+ semver: 7.7.3
+ uuid: 9.0.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@msgpack/msgpack@3.1.2': {}
+
+ '@noble/ciphers@1.2.1': {}
+
+ '@noble/ciphers@1.3.0': {}
+
+ '@noble/curves@1.4.2':
+ dependencies:
+ '@noble/hashes': 1.4.0
+
+ '@noble/curves@1.8.0':
+ dependencies:
+ '@noble/hashes': 1.7.0
+
+ '@noble/curves@1.8.1':
+ dependencies:
+ '@noble/hashes': 1.7.1
+
+ '@noble/curves@1.9.1':
+ dependencies:
+ '@noble/hashes': 1.8.0
+
+ '@noble/curves@1.9.7':
+ dependencies:
+ '@noble/hashes': 1.8.0
+
+ '@noble/hashes@1.4.0': {}
+
+ '@noble/hashes@1.7.0': {}
+
+ '@noble/hashes@1.7.1': {}
+
+ '@noble/hashes@1.8.0': {}
+
+ '@openrouter/ai-sdk-provider@1.2.0(ai@5.0.47(zod@4.1.12))(zod@4.1.12)':
+ dependencies:
+ ai: 5.0.47(zod@4.1.12)
+ zod: 4.1.12
+
+ '@opentelemetry/api@1.9.0': {}
+
+ '@paulmillr/qr@0.2.1': {}
+
+ '@phosphor-icons/webcomponents@2.1.5':
+ dependencies:
+ lit: 3.3.0
+
+ '@pinojs/redact@0.4.0': {}
+
+ '@reown/appkit-common@1.7.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.22.4)':
+ dependencies:
+ big.js: 6.2.2
+ dayjs: 1.11.13
+ viem: 2.38.6(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.22.4)
+ transitivePeerDependencies:
+ - bufferutil
+ - typescript
+ - utf-8-validate
+ - zod
+
+ '@reown/appkit-common@1.7.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)':
+ dependencies:
+ big.js: 6.2.2
+ dayjs: 1.11.13
+ viem: 2.38.6(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)
+ transitivePeerDependencies:
+ - bufferutil
+ - typescript
+ - utf-8-validate
+ - zod
+
+ '@reown/appkit-common@1.8.11(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.22.4)':
+ dependencies:
+ big.js: 6.2.2
+ dayjs: 1.11.13
+ viem: 2.38.6(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.22.4)
+ transitivePeerDependencies:
+ - bufferutil
+ - typescript
+ - utf-8-validate
+ - zod
+
+ '@reown/appkit-common@1.8.11(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)':
+ dependencies:
+ big.js: 6.2.2
+ dayjs: 1.11.13
+ viem: 2.38.6(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)
+ transitivePeerDependencies:
+ - bufferutil
+ - typescript
+ - utf-8-validate
+ - zod
+
+ '@reown/appkit-controllers@1.7.8(@types/react@19.2.2)(bufferutil@4.0.9)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)':
+ dependencies:
+ '@reown/appkit-common': 1.7.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ '@reown/appkit-wallet': 1.7.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)
+ '@walletconnect/universal-provider': 2.21.0(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ valtio: 1.13.2(@types/react@19.2.2)(react@19.2.0)
+ viem: 2.38.6(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@deno/kv'
+ - '@netlify/blobs'
+ - '@planetscale/database'
+ - '@react-native-async-storage/async-storage'
+ - '@types/react'
+ - '@upstash/redis'
+ - '@vercel/blob'
+ - '@vercel/functions'
+ - '@vercel/kv'
+ - aws4fetch
+ - bufferutil
+ - db0
+ - encoding
+ - ioredis
+ - react
+ - typescript
+ - uploadthing
+ - utf-8-validate
+ - zod
+
+ '@reown/appkit-controllers@1.8.11(@types/react@19.2.2)(bufferutil@4.0.9)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)':
+ dependencies:
+ '@reown/appkit-common': 1.8.11(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)
+ '@reown/appkit-wallet': 1.8.11(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)
+ '@walletconnect/universal-provider': 2.22.4(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)
+ valtio: 2.1.7(@types/react@19.2.2)(react@19.2.0)
+ viem: 2.38.6(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@deno/kv'
+ - '@netlify/blobs'
+ - '@planetscale/database'
+ - '@react-native-async-storage/async-storage'
+ - '@types/react'
+ - '@upstash/redis'
+ - '@vercel/blob'
+ - '@vercel/functions'
+ - '@vercel/kv'
+ - aws4fetch
+ - bufferutil
+ - db0
+ - encoding
+ - ioredis
+ - react
+ - typescript
+ - uploadthing
+ - utf-8-validate
+ - zod
+
+ '@reown/appkit-pay@1.7.8(@types/react@19.2.2)(bufferutil@4.0.9)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)':
+ dependencies:
+ '@reown/appkit-common': 1.7.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ '@reown/appkit-controllers': 1.7.8(@types/react@19.2.2)(bufferutil@4.0.9)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ '@reown/appkit-ui': 1.7.8(@types/react@19.2.2)(bufferutil@4.0.9)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ '@reown/appkit-utils': 1.7.8(@types/react@19.2.2)(bufferutil@4.0.9)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(valtio@1.13.2(@types/react@19.2.2)(react@19.2.0))(zod@3.25.76)
+ lit: 3.3.0
+ valtio: 1.13.2(@types/react@19.2.2)(react@19.2.0)
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@deno/kv'
+ - '@netlify/blobs'
+ - '@planetscale/database'
+ - '@react-native-async-storage/async-storage'
+ - '@types/react'
+ - '@upstash/redis'
+ - '@vercel/blob'
+ - '@vercel/functions'
+ - '@vercel/kv'
+ - aws4fetch
+ - bufferutil
+ - db0
+ - encoding
+ - ioredis
+ - react
+ - typescript
+ - uploadthing
+ - utf-8-validate
+ - zod
+
+ '@reown/appkit-pay@1.8.11(@types/react@19.2.2)(bufferutil@4.0.9)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)':
+ dependencies:
+ '@reown/appkit-common': 1.8.11(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)
+ '@reown/appkit-controllers': 1.8.11(@types/react@19.2.2)(bufferutil@4.0.9)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)
+ '@reown/appkit-ui': 1.8.11(@types/react@19.2.2)(bufferutil@4.0.9)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)
+ '@reown/appkit-utils': 1.8.11(@types/react@19.2.2)(bufferutil@4.0.9)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(valtio@2.1.7(@types/react@19.2.2)(react@19.2.0))(zod@4.1.12)
+ lit: 3.3.0
+ valtio: 2.1.7(@types/react@19.2.2)(react@19.2.0)
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@deno/kv'
+ - '@netlify/blobs'
+ - '@planetscale/database'
+ - '@react-native-async-storage/async-storage'
+ - '@types/react'
+ - '@upstash/redis'
+ - '@vercel/blob'
+ - '@vercel/functions'
+ - '@vercel/kv'
+ - aws4fetch
+ - bufferutil
+ - db0
+ - encoding
+ - ioredis
+ - react
+ - typescript
+ - uploadthing
+ - utf-8-validate
+ - zod
+
+ '@reown/appkit-polyfills@1.7.8':
+ dependencies:
+ buffer: 6.0.3
+
+ '@reown/appkit-polyfills@1.8.11':
+ dependencies:
+ buffer: 6.0.3
+
+ '@reown/appkit-scaffold-ui@1.7.8(@types/react@19.2.2)(bufferutil@4.0.9)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(valtio@1.13.2(@types/react@19.2.2)(react@19.2.0))(zod@3.25.76)':
+ dependencies:
+ '@reown/appkit-common': 1.7.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ '@reown/appkit-controllers': 1.7.8(@types/react@19.2.2)(bufferutil@4.0.9)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ '@reown/appkit-ui': 1.7.8(@types/react@19.2.2)(bufferutil@4.0.9)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ '@reown/appkit-utils': 1.7.8(@types/react@19.2.2)(bufferutil@4.0.9)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(valtio@1.13.2(@types/react@19.2.2)(react@19.2.0))(zod@3.25.76)
+ '@reown/appkit-wallet': 1.7.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)
+ lit: 3.3.0
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@deno/kv'
+ - '@netlify/blobs'
+ - '@planetscale/database'
+ - '@react-native-async-storage/async-storage'
+ - '@types/react'
+ - '@upstash/redis'
+ - '@vercel/blob'
+ - '@vercel/functions'
+ - '@vercel/kv'
+ - aws4fetch
+ - bufferutil
+ - db0
+ - encoding
+ - ioredis
+ - react
+ - typescript
+ - uploadthing
+ - utf-8-validate
+ - valtio
+ - zod
+
+ '@reown/appkit-scaffold-ui@1.8.11(@types/react@19.2.2)(bufferutil@4.0.9)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(valtio@2.1.7(@types/react@19.2.2)(react@19.2.0))(zod@4.1.12)':
+ dependencies:
+ '@reown/appkit-common': 1.8.11(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)
+ '@reown/appkit-controllers': 1.8.11(@types/react@19.2.2)(bufferutil@4.0.9)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)
+ '@reown/appkit-ui': 1.8.11(@types/react@19.2.2)(bufferutil@4.0.9)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)
+ '@reown/appkit-utils': 1.8.11(@types/react@19.2.2)(bufferutil@4.0.9)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(valtio@2.1.7(@types/react@19.2.2)(react@19.2.0))(zod@4.1.12)
+ '@reown/appkit-wallet': 1.8.11(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)
+ lit: 3.3.0
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@deno/kv'
+ - '@netlify/blobs'
+ - '@planetscale/database'
+ - '@react-native-async-storage/async-storage'
+ - '@types/react'
+ - '@upstash/redis'
+ - '@vercel/blob'
+ - '@vercel/functions'
+ - '@vercel/kv'
+ - aws4fetch
+ - bufferutil
+ - db0
+ - encoding
+ - ioredis
+ - react
+ - typescript
+ - uploadthing
+ - utf-8-validate
+ - valtio
+ - zod
+
+ '@reown/appkit-ui@1.7.8(@types/react@19.2.2)(bufferutil@4.0.9)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)':
+ dependencies:
+ '@reown/appkit-common': 1.7.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ '@reown/appkit-controllers': 1.7.8(@types/react@19.2.2)(bufferutil@4.0.9)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ '@reown/appkit-wallet': 1.7.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)
+ lit: 3.3.0
+ qrcode: 1.5.3
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@deno/kv'
+ - '@netlify/blobs'
+ - '@planetscale/database'
+ - '@react-native-async-storage/async-storage'
+ - '@types/react'
+ - '@upstash/redis'
+ - '@vercel/blob'
+ - '@vercel/functions'
+ - '@vercel/kv'
+ - aws4fetch
+ - bufferutil
+ - db0
+ - encoding
+ - ioredis
+ - react
+ - typescript
+ - uploadthing
+ - utf-8-validate
+ - zod
+
+ '@reown/appkit-ui@1.8.11(@types/react@19.2.2)(bufferutil@4.0.9)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)':
+ dependencies:
+ '@phosphor-icons/webcomponents': 2.1.5
+ '@reown/appkit-common': 1.8.11(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)
+ '@reown/appkit-controllers': 1.8.11(@types/react@19.2.2)(bufferutil@4.0.9)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)
+ '@reown/appkit-wallet': 1.8.11(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)
+ lit: 3.3.0
+ qrcode: 1.5.3
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@deno/kv'
+ - '@netlify/blobs'
+ - '@planetscale/database'
+ - '@react-native-async-storage/async-storage'
+ - '@types/react'
+ - '@upstash/redis'
+ - '@vercel/blob'
+ - '@vercel/functions'
+ - '@vercel/kv'
+ - aws4fetch
+ - bufferutil
+ - db0
+ - encoding
+ - ioredis
+ - react
+ - typescript
+ - uploadthing
+ - utf-8-validate
+ - zod
+
+ '@reown/appkit-utils@1.7.8(@types/react@19.2.2)(bufferutil@4.0.9)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(valtio@1.13.2(@types/react@19.2.2)(react@19.2.0))(zod@3.25.76)':
+ dependencies:
+ '@reown/appkit-common': 1.7.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ '@reown/appkit-controllers': 1.7.8(@types/react@19.2.2)(bufferutil@4.0.9)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ '@reown/appkit-polyfills': 1.7.8
+ '@reown/appkit-wallet': 1.7.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)
+ '@walletconnect/logger': 2.1.2
+ '@walletconnect/universal-provider': 2.21.0(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ valtio: 1.13.2(@types/react@19.2.2)(react@19.2.0)
+ viem: 2.38.6(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@deno/kv'
+ - '@netlify/blobs'
+ - '@planetscale/database'
+ - '@react-native-async-storage/async-storage'
+ - '@types/react'
+ - '@upstash/redis'
+ - '@vercel/blob'
+ - '@vercel/functions'
+ - '@vercel/kv'
+ - aws4fetch
+ - bufferutil
+ - db0
+ - encoding
+ - ioredis
+ - react
+ - typescript
+ - uploadthing
+ - utf-8-validate
+ - zod
+
+ '@reown/appkit-utils@1.8.11(@types/react@19.2.2)(bufferutil@4.0.9)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(valtio@2.1.7(@types/react@19.2.2)(react@19.2.0))(zod@4.1.12)':
+ dependencies:
+ '@reown/appkit-common': 1.8.11(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)
+ '@reown/appkit-controllers': 1.8.11(@types/react@19.2.2)(bufferutil@4.0.9)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)
+ '@reown/appkit-polyfills': 1.8.11
+ '@reown/appkit-wallet': 1.8.11(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)
+ '@wallet-standard/wallet': 1.1.0
+ '@walletconnect/logger': 3.0.0
+ '@walletconnect/universal-provider': 2.22.4(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)
+ valtio: 2.1.7(@types/react@19.2.2)(react@19.2.0)
+ viem: 2.38.6(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@deno/kv'
+ - '@netlify/blobs'
+ - '@planetscale/database'
+ - '@react-native-async-storage/async-storage'
+ - '@types/react'
+ - '@upstash/redis'
+ - '@vercel/blob'
+ - '@vercel/functions'
+ - '@vercel/kv'
+ - aws4fetch
+ - bufferutil
+ - db0
+ - encoding
+ - ioredis
+ - react
+ - typescript
+ - uploadthing
+ - utf-8-validate
+ - zod
+
+ '@reown/appkit-wallet@1.7.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)':
+ dependencies:
+ '@reown/appkit-common': 1.7.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.22.4)
+ '@reown/appkit-polyfills': 1.7.8
+ '@walletconnect/logger': 2.1.2
+ zod: 3.22.4
+ transitivePeerDependencies:
+ - bufferutil
+ - typescript
+ - utf-8-validate
+
+ '@reown/appkit-wallet@1.8.11(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)':
+ dependencies:
+ '@reown/appkit-common': 1.8.11(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.22.4)
+ '@reown/appkit-polyfills': 1.8.11
+ '@walletconnect/logger': 3.0.0
+ zod: 3.22.4
+ transitivePeerDependencies:
+ - bufferutil
+ - typescript
+ - utf-8-validate
+
+ '@reown/appkit@1.7.8(@types/react@19.2.2)(bufferutil@4.0.9)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)':
+ dependencies:
+ '@reown/appkit-common': 1.7.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ '@reown/appkit-controllers': 1.7.8(@types/react@19.2.2)(bufferutil@4.0.9)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ '@reown/appkit-pay': 1.7.8(@types/react@19.2.2)(bufferutil@4.0.9)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ '@reown/appkit-polyfills': 1.7.8
+ '@reown/appkit-scaffold-ui': 1.7.8(@types/react@19.2.2)(bufferutil@4.0.9)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(valtio@1.13.2(@types/react@19.2.2)(react@19.2.0))(zod@3.25.76)
+ '@reown/appkit-ui': 1.7.8(@types/react@19.2.2)(bufferutil@4.0.9)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ '@reown/appkit-utils': 1.7.8(@types/react@19.2.2)(bufferutil@4.0.9)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(valtio@1.13.2(@types/react@19.2.2)(react@19.2.0))(zod@3.25.76)
+ '@reown/appkit-wallet': 1.7.8(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)
+ '@walletconnect/types': 2.21.0
+ '@walletconnect/universal-provider': 2.21.0(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ bs58: 6.0.0
+ valtio: 1.13.2(@types/react@19.2.2)(react@19.2.0)
+ viem: 2.38.6(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@deno/kv'
+ - '@netlify/blobs'
+ - '@planetscale/database'
+ - '@react-native-async-storage/async-storage'
+ - '@types/react'
+ - '@upstash/redis'
+ - '@vercel/blob'
+ - '@vercel/functions'
+ - '@vercel/kv'
+ - aws4fetch
+ - bufferutil
+ - db0
+ - encoding
+ - ioredis
+ - react
+ - typescript
+ - uploadthing
+ - utf-8-validate
+ - zod
+
+ '@reown/appkit@1.8.11(@types/react@19.2.2)(bufferutil@4.0.9)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)':
+ dependencies:
+ '@reown/appkit-common': 1.8.11(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)
+ '@reown/appkit-controllers': 1.8.11(@types/react@19.2.2)(bufferutil@4.0.9)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)
+ '@reown/appkit-pay': 1.8.11(@types/react@19.2.2)(bufferutil@4.0.9)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)
+ '@reown/appkit-polyfills': 1.8.11
+ '@reown/appkit-scaffold-ui': 1.8.11(@types/react@19.2.2)(bufferutil@4.0.9)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(valtio@2.1.7(@types/react@19.2.2)(react@19.2.0))(zod@4.1.12)
+ '@reown/appkit-ui': 1.8.11(@types/react@19.2.2)(bufferutil@4.0.9)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)
+ '@reown/appkit-utils': 1.8.11(@types/react@19.2.2)(bufferutil@4.0.9)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(valtio@2.1.7(@types/react@19.2.2)(react@19.2.0))(zod@4.1.12)
+ '@reown/appkit-wallet': 1.8.11(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)
+ '@walletconnect/universal-provider': 2.22.4(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)
+ bs58: 6.0.0
+ semver: 7.7.2
+ valtio: 2.1.7(@types/react@19.2.2)(react@19.2.0)
+ viem: 2.38.6(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)
+ optionalDependencies:
+ '@lit/react': 1.0.8(@types/react@19.2.2)
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@deno/kv'
+ - '@netlify/blobs'
+ - '@planetscale/database'
+ - '@react-native-async-storage/async-storage'
+ - '@types/react'
+ - '@upstash/redis'
+ - '@vercel/blob'
+ - '@vercel/functions'
+ - '@vercel/kv'
+ - aws4fetch
+ - bufferutil
+ - db0
+ - encoding
+ - ioredis
+ - react
+ - typescript
+ - uploadthing
+ - utf-8-validate
+ - zod
+
+ '@safe-global/safe-apps-provider@0.18.6(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)':
+ dependencies:
+ '@safe-global/safe-apps-sdk': 9.1.0(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ events: 3.3.0
+ transitivePeerDependencies:
+ - bufferutil
+ - typescript
+ - utf-8-validate
+ - zod
+
+ '@safe-global/safe-apps-sdk@9.1.0(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)':
+ dependencies:
+ '@safe-global/safe-gateway-typescript-sdk': 3.23.1
+ viem: 2.38.6(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)
+ transitivePeerDependencies:
+ - bufferutil
+ - typescript
+ - utf-8-validate
+ - zod
+
+ '@safe-global/safe-gateway-typescript-sdk@3.23.1': {}
+
+ '@scure/base@1.1.9': {}
+
+ '@scure/base@1.2.6': {}
+
+ '@scure/bip32@1.4.0':
+ dependencies:
+ '@noble/curves': 1.4.2
+ '@noble/hashes': 1.4.0
+ '@scure/base': 1.1.9
+
+ '@scure/bip32@1.6.2':
+ dependencies:
+ '@noble/curves': 1.8.1
+ '@noble/hashes': 1.7.1
+ '@scure/base': 1.2.6
+
+ '@scure/bip32@1.7.0':
+ dependencies:
+ '@noble/curves': 1.9.1
+ '@noble/hashes': 1.8.0
+ '@scure/base': 1.2.6
+
+ '@scure/bip39@1.3.0':
+ dependencies:
+ '@noble/hashes': 1.4.0
+ '@scure/base': 1.1.9
+
+ '@scure/bip39@1.5.4':
+ dependencies:
+ '@noble/hashes': 1.7.1
+ '@scure/base': 1.2.6
+
+ '@scure/bip39@1.6.0':
+ dependencies:
+ '@noble/hashes': 1.8.0
+ '@scure/base': 1.2.6
+
+ '@socket.io/component-emitter@3.1.2': {}
+
+ '@solana-program/compute-budget@0.8.0(@solana/kit@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10)))':
+ dependencies:
+ '@solana/kit': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))
+
+ '@solana-program/system@0.8.1(@solana/kit@3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10)))':
+ dependencies:
+ '@solana/kit': 3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))
+
+ '@solana-program/token-2022@0.4.2(@solana/kit@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10)))(@solana/sysvars@3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3))':
+ dependencies:
+ '@solana/kit': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))
+ '@solana/sysvars': 3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+
+ '@solana-program/token@0.5.1(@solana/kit@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10)))':
+ dependencies:
+ '@solana/kit': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))
+
+ '@solana-program/token@0.6.0(@solana/kit@3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10)))':
+ dependencies:
+ '@solana/kit': 3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))
+
+ '@solana/accounts@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)':
+ dependencies:
+ '@solana/addresses': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/codecs-core': 2.3.0(typescript@5.9.3)
+ '@solana/codecs-strings': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/errors': 2.3.0(typescript@5.9.3)
+ '@solana/rpc-spec': 2.3.0(typescript@5.9.3)
+ '@solana/rpc-types': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - fastestsmallesttextencoderdecoder
+
+ '@solana/accounts@3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)':
+ dependencies:
+ '@solana/addresses': 3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/codecs-core': 3.0.3(typescript@5.9.3)
+ '@solana/codecs-strings': 3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/errors': 3.0.3(typescript@5.9.3)
+ '@solana/rpc-spec': 3.0.3(typescript@5.9.3)
+ '@solana/rpc-types': 3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - fastestsmallesttextencoderdecoder
+
+ '@solana/addresses@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)':
+ dependencies:
+ '@solana/assertions': 2.3.0(typescript@5.9.3)
+ '@solana/codecs-core': 2.3.0(typescript@5.9.3)
+ '@solana/codecs-strings': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/errors': 2.3.0(typescript@5.9.3)
+ '@solana/nominal-types': 2.3.0(typescript@5.9.3)
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - fastestsmallesttextencoderdecoder
+
+ '@solana/addresses@3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)':
+ dependencies:
+ '@solana/assertions': 3.0.3(typescript@5.9.3)
+ '@solana/codecs-core': 3.0.3(typescript@5.9.3)
+ '@solana/codecs-strings': 3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/errors': 3.0.3(typescript@5.9.3)
+ '@solana/nominal-types': 3.0.3(typescript@5.9.3)
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - fastestsmallesttextencoderdecoder
+
+ '@solana/assertions@2.3.0(typescript@5.9.3)':
+ dependencies:
+ '@solana/errors': 2.3.0(typescript@5.9.3)
+ typescript: 5.9.3
+
+ '@solana/assertions@3.0.3(typescript@5.9.3)':
+ dependencies:
+ '@solana/errors': 3.0.3(typescript@5.9.3)
+ typescript: 5.9.3
+
+ '@solana/buffer-layout@4.0.1':
+ dependencies:
+ buffer: 6.0.3
+
+ '@solana/codecs-core@2.3.0(typescript@5.9.3)':
+ dependencies:
+ '@solana/errors': 2.3.0(typescript@5.9.3)
+ typescript: 5.9.3
+
+ '@solana/codecs-core@3.0.3(typescript@5.9.3)':
+ dependencies:
+ '@solana/errors': 3.0.3(typescript@5.9.3)
+ typescript: 5.9.3
+
+ '@solana/codecs-data-structures@2.3.0(typescript@5.9.3)':
+ dependencies:
+ '@solana/codecs-core': 2.3.0(typescript@5.9.3)
+ '@solana/codecs-numbers': 2.3.0(typescript@5.9.3)
+ '@solana/errors': 2.3.0(typescript@5.9.3)
+ typescript: 5.9.3
+
+ '@solana/codecs-data-structures@3.0.3(typescript@5.9.3)':
+ dependencies:
+ '@solana/codecs-core': 3.0.3(typescript@5.9.3)
+ '@solana/codecs-numbers': 3.0.3(typescript@5.9.3)
+ '@solana/errors': 3.0.3(typescript@5.9.3)
+ typescript: 5.9.3
+
+ '@solana/codecs-numbers@2.3.0(typescript@5.9.3)':
+ dependencies:
+ '@solana/codecs-core': 2.3.0(typescript@5.9.3)
+ '@solana/errors': 2.3.0(typescript@5.9.3)
+ typescript: 5.9.3
+
+ '@solana/codecs-numbers@3.0.3(typescript@5.9.3)':
+ dependencies:
+ '@solana/codecs-core': 3.0.3(typescript@5.9.3)
+ '@solana/errors': 3.0.3(typescript@5.9.3)
+ typescript: 5.9.3
+
+ '@solana/codecs-strings@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)':
+ dependencies:
+ '@solana/codecs-core': 2.3.0(typescript@5.9.3)
+ '@solana/codecs-numbers': 2.3.0(typescript@5.9.3)
+ '@solana/errors': 2.3.0(typescript@5.9.3)
+ fastestsmallesttextencoderdecoder: 1.0.22
+ typescript: 5.9.3
+
+ '@solana/codecs-strings@3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)':
+ dependencies:
+ '@solana/codecs-core': 3.0.3(typescript@5.9.3)
+ '@solana/codecs-numbers': 3.0.3(typescript@5.9.3)
+ '@solana/errors': 3.0.3(typescript@5.9.3)
+ fastestsmallesttextencoderdecoder: 1.0.22
+ typescript: 5.9.3
+
+ '@solana/codecs@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)':
+ dependencies:
+ '@solana/codecs-core': 2.3.0(typescript@5.9.3)
+ '@solana/codecs-data-structures': 2.3.0(typescript@5.9.3)
+ '@solana/codecs-numbers': 2.3.0(typescript@5.9.3)
+ '@solana/codecs-strings': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/options': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - fastestsmallesttextencoderdecoder
+
+ '@solana/codecs@3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)':
+ dependencies:
+ '@solana/codecs-core': 3.0.3(typescript@5.9.3)
+ '@solana/codecs-data-structures': 3.0.3(typescript@5.9.3)
+ '@solana/codecs-numbers': 3.0.3(typescript@5.9.3)
+ '@solana/codecs-strings': 3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/options': 3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - fastestsmallesttextencoderdecoder
+
+ '@solana/errors@2.3.0(typescript@5.9.3)':
+ dependencies:
+ chalk: 5.6.2
+ commander: 14.0.2
+ typescript: 5.9.3
+
+ '@solana/errors@3.0.3(typescript@5.9.3)':
+ dependencies:
+ chalk: 5.6.2
+ commander: 14.0.0
+ typescript: 5.9.3
+
+ '@solana/fast-stable-stringify@2.3.0(typescript@5.9.3)':
+ dependencies:
+ typescript: 5.9.3
+
+ '@solana/fast-stable-stringify@3.0.3(typescript@5.9.3)':
+ dependencies:
+ typescript: 5.9.3
+
+ '@solana/functional@2.3.0(typescript@5.9.3)':
+ dependencies:
+ typescript: 5.9.3
+
+ '@solana/functional@3.0.3(typescript@5.9.3)':
+ dependencies:
+ typescript: 5.9.3
+
+ '@solana/instruction-plans@3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)':
+ dependencies:
+ '@solana/errors': 3.0.3(typescript@5.9.3)
+ '@solana/instructions': 3.0.3(typescript@5.9.3)
+ '@solana/promises': 3.0.3(typescript@5.9.3)
+ '@solana/transaction-messages': 3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/transactions': 3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - fastestsmallesttextencoderdecoder
+
+ '@solana/instructions@2.3.0(typescript@5.9.3)':
+ dependencies:
+ '@solana/codecs-core': 2.3.0(typescript@5.9.3)
+ '@solana/errors': 2.3.0(typescript@5.9.3)
+ typescript: 5.9.3
+
+ '@solana/instructions@3.0.3(typescript@5.9.3)':
+ dependencies:
+ '@solana/codecs-core': 3.0.3(typescript@5.9.3)
+ '@solana/errors': 3.0.3(typescript@5.9.3)
+ typescript: 5.9.3
+
+ '@solana/keys@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)':
+ dependencies:
+ '@solana/assertions': 2.3.0(typescript@5.9.3)
+ '@solana/codecs-core': 2.3.0(typescript@5.9.3)
+ '@solana/codecs-strings': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/errors': 2.3.0(typescript@5.9.3)
+ '@solana/nominal-types': 2.3.0(typescript@5.9.3)
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - fastestsmallesttextencoderdecoder
+
+ '@solana/keys@3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)':
+ dependencies:
+ '@solana/assertions': 3.0.3(typescript@5.9.3)
+ '@solana/codecs-core': 3.0.3(typescript@5.9.3)
+ '@solana/codecs-strings': 3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/errors': 3.0.3(typescript@5.9.3)
+ '@solana/nominal-types': 3.0.3(typescript@5.9.3)
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - fastestsmallesttextencoderdecoder
+
+ '@solana/kit@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))':
+ dependencies:
+ '@solana/accounts': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/addresses': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/codecs': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/errors': 2.3.0(typescript@5.9.3)
+ '@solana/functional': 2.3.0(typescript@5.9.3)
+ '@solana/instructions': 2.3.0(typescript@5.9.3)
+ '@solana/keys': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/programs': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/rpc': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/rpc-parsed-types': 2.3.0(typescript@5.9.3)
+ '@solana/rpc-spec-types': 2.3.0(typescript@5.9.3)
+ '@solana/rpc-subscriptions': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))
+ '@solana/rpc-types': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/signers': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/sysvars': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/transaction-confirmation': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))
+ '@solana/transaction-messages': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/transactions': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - fastestsmallesttextencoderdecoder
+ - ws
+
+ '@solana/kit@3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))':
+ dependencies:
+ '@solana/accounts': 3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/addresses': 3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/codecs': 3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/errors': 3.0.3(typescript@5.9.3)
+ '@solana/functional': 3.0.3(typescript@5.9.3)
+ '@solana/instruction-plans': 3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/instructions': 3.0.3(typescript@5.9.3)
+ '@solana/keys': 3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/programs': 3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/rpc': 3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/rpc-parsed-types': 3.0.3(typescript@5.9.3)
+ '@solana/rpc-spec-types': 3.0.3(typescript@5.9.3)
+ '@solana/rpc-subscriptions': 3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))
+ '@solana/rpc-types': 3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/signers': 3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/sysvars': 3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/transaction-confirmation': 3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))
+ '@solana/transaction-messages': 3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/transactions': 3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - fastestsmallesttextencoderdecoder
+ - ws
+
+ '@solana/nominal-types@2.3.0(typescript@5.9.3)':
+ dependencies:
+ typescript: 5.9.3
+
+ '@solana/nominal-types@3.0.3(typescript@5.9.3)':
+ dependencies:
+ typescript: 5.9.3
+
+ '@solana/options@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)':
+ dependencies:
+ '@solana/codecs-core': 2.3.0(typescript@5.9.3)
+ '@solana/codecs-data-structures': 2.3.0(typescript@5.9.3)
+ '@solana/codecs-numbers': 2.3.0(typescript@5.9.3)
+ '@solana/codecs-strings': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/errors': 2.3.0(typescript@5.9.3)
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - fastestsmallesttextencoderdecoder
+
+ '@solana/options@3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)':
+ dependencies:
+ '@solana/codecs-core': 3.0.3(typescript@5.9.3)
+ '@solana/codecs-data-structures': 3.0.3(typescript@5.9.3)
+ '@solana/codecs-numbers': 3.0.3(typescript@5.9.3)
+ '@solana/codecs-strings': 3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/errors': 3.0.3(typescript@5.9.3)
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - fastestsmallesttextencoderdecoder
+
+ '@solana/programs@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)':
+ dependencies:
+ '@solana/addresses': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/errors': 2.3.0(typescript@5.9.3)
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - fastestsmallesttextencoderdecoder
+
+ '@solana/programs@3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)':
+ dependencies:
+ '@solana/addresses': 3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/errors': 3.0.3(typescript@5.9.3)
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - fastestsmallesttextencoderdecoder
+
+ '@solana/promises@2.3.0(typescript@5.9.3)':
+ dependencies:
+ typescript: 5.9.3
+
+ '@solana/promises@3.0.3(typescript@5.9.3)':
+ dependencies:
+ typescript: 5.9.3
+
+ '@solana/rpc-api@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)':
+ dependencies:
+ '@solana/addresses': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/codecs-core': 2.3.0(typescript@5.9.3)
+ '@solana/codecs-strings': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/errors': 2.3.0(typescript@5.9.3)
+ '@solana/keys': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/rpc-parsed-types': 2.3.0(typescript@5.9.3)
+ '@solana/rpc-spec': 2.3.0(typescript@5.9.3)
+ '@solana/rpc-transformers': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/rpc-types': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/transaction-messages': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/transactions': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - fastestsmallesttextencoderdecoder
+
+ '@solana/rpc-api@3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)':
+ dependencies:
+ '@solana/addresses': 3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/codecs-core': 3.0.3(typescript@5.9.3)
+ '@solana/codecs-strings': 3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/errors': 3.0.3(typescript@5.9.3)
+ '@solana/keys': 3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/rpc-parsed-types': 3.0.3(typescript@5.9.3)
+ '@solana/rpc-spec': 3.0.3(typescript@5.9.3)
+ '@solana/rpc-transformers': 3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/rpc-types': 3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/transaction-messages': 3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/transactions': 3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - fastestsmallesttextencoderdecoder
+
+ '@solana/rpc-parsed-types@2.3.0(typescript@5.9.3)':
+ dependencies:
+ typescript: 5.9.3
+
+ '@solana/rpc-parsed-types@3.0.3(typescript@5.9.3)':
+ dependencies:
+ typescript: 5.9.3
+
+ '@solana/rpc-spec-types@2.3.0(typescript@5.9.3)':
+ dependencies:
+ typescript: 5.9.3
+
+ '@solana/rpc-spec-types@3.0.3(typescript@5.9.3)':
+ dependencies:
+ typescript: 5.9.3
+
+ '@solana/rpc-spec@2.3.0(typescript@5.9.3)':
+ dependencies:
+ '@solana/errors': 2.3.0(typescript@5.9.3)
+ '@solana/rpc-spec-types': 2.3.0(typescript@5.9.3)
+ typescript: 5.9.3
+
+ '@solana/rpc-spec@3.0.3(typescript@5.9.3)':
+ dependencies:
+ '@solana/errors': 3.0.3(typescript@5.9.3)
+ '@solana/rpc-spec-types': 3.0.3(typescript@5.9.3)
+ typescript: 5.9.3
+
+ '@solana/rpc-subscriptions-api@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)':
+ dependencies:
+ '@solana/addresses': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/keys': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/rpc-subscriptions-spec': 2.3.0(typescript@5.9.3)
+ '@solana/rpc-transformers': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/rpc-types': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/transaction-messages': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/transactions': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - fastestsmallesttextencoderdecoder
+
+ '@solana/rpc-subscriptions-api@3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)':
+ dependencies:
+ '@solana/addresses': 3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/keys': 3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/rpc-subscriptions-spec': 3.0.3(typescript@5.9.3)
+ '@solana/rpc-transformers': 3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/rpc-types': 3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/transaction-messages': 3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/transactions': 3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - fastestsmallesttextencoderdecoder
+
+ '@solana/rpc-subscriptions-channel-websocket@2.3.0(typescript@5.9.3)(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))':
+ dependencies:
+ '@solana/errors': 2.3.0(typescript@5.9.3)
+ '@solana/functional': 2.3.0(typescript@5.9.3)
+ '@solana/rpc-subscriptions-spec': 2.3.0(typescript@5.9.3)
+ '@solana/subscribable': 2.3.0(typescript@5.9.3)
+ typescript: 5.9.3
+ ws: 8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10)
+
+ '@solana/rpc-subscriptions-channel-websocket@3.0.3(typescript@5.9.3)(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))':
+ dependencies:
+ '@solana/errors': 3.0.3(typescript@5.9.3)
+ '@solana/functional': 3.0.3(typescript@5.9.3)
+ '@solana/rpc-subscriptions-spec': 3.0.3(typescript@5.9.3)
+ '@solana/subscribable': 3.0.3(typescript@5.9.3)
+ typescript: 5.9.3
+ ws: 8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10)
+
+ '@solana/rpc-subscriptions-spec@2.3.0(typescript@5.9.3)':
+ dependencies:
+ '@solana/errors': 2.3.0(typescript@5.9.3)
+ '@solana/promises': 2.3.0(typescript@5.9.3)
+ '@solana/rpc-spec-types': 2.3.0(typescript@5.9.3)
+ '@solana/subscribable': 2.3.0(typescript@5.9.3)
+ typescript: 5.9.3
+
+ '@solana/rpc-subscriptions-spec@3.0.3(typescript@5.9.3)':
+ dependencies:
+ '@solana/errors': 3.0.3(typescript@5.9.3)
+ '@solana/promises': 3.0.3(typescript@5.9.3)
+ '@solana/rpc-spec-types': 3.0.3(typescript@5.9.3)
+ '@solana/subscribable': 3.0.3(typescript@5.9.3)
+ typescript: 5.9.3
+
+ '@solana/rpc-subscriptions@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))':
+ dependencies:
+ '@solana/errors': 2.3.0(typescript@5.9.3)
+ '@solana/fast-stable-stringify': 2.3.0(typescript@5.9.3)
+ '@solana/functional': 2.3.0(typescript@5.9.3)
+ '@solana/promises': 2.3.0(typescript@5.9.3)
+ '@solana/rpc-spec-types': 2.3.0(typescript@5.9.3)
+ '@solana/rpc-subscriptions-api': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/rpc-subscriptions-channel-websocket': 2.3.0(typescript@5.9.3)(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))
+ '@solana/rpc-subscriptions-spec': 2.3.0(typescript@5.9.3)
+ '@solana/rpc-transformers': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/rpc-types': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/subscribable': 2.3.0(typescript@5.9.3)
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - fastestsmallesttextencoderdecoder
+ - ws
+
+ '@solana/rpc-subscriptions@3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))':
+ dependencies:
+ '@solana/errors': 3.0.3(typescript@5.9.3)
+ '@solana/fast-stable-stringify': 3.0.3(typescript@5.9.3)
+ '@solana/functional': 3.0.3(typescript@5.9.3)
+ '@solana/promises': 3.0.3(typescript@5.9.3)
+ '@solana/rpc-spec-types': 3.0.3(typescript@5.9.3)
+ '@solana/rpc-subscriptions-api': 3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/rpc-subscriptions-channel-websocket': 3.0.3(typescript@5.9.3)(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))
+ '@solana/rpc-subscriptions-spec': 3.0.3(typescript@5.9.3)
+ '@solana/rpc-transformers': 3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/rpc-types': 3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/subscribable': 3.0.3(typescript@5.9.3)
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - fastestsmallesttextencoderdecoder
+ - ws
+
+ '@solana/rpc-transformers@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)':
+ dependencies:
+ '@solana/errors': 2.3.0(typescript@5.9.3)
+ '@solana/functional': 2.3.0(typescript@5.9.3)
+ '@solana/nominal-types': 2.3.0(typescript@5.9.3)
+ '@solana/rpc-spec-types': 2.3.0(typescript@5.9.3)
+ '@solana/rpc-types': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - fastestsmallesttextencoderdecoder
+
+ '@solana/rpc-transformers@3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)':
+ dependencies:
+ '@solana/errors': 3.0.3(typescript@5.9.3)
+ '@solana/functional': 3.0.3(typescript@5.9.3)
+ '@solana/nominal-types': 3.0.3(typescript@5.9.3)
+ '@solana/rpc-spec-types': 3.0.3(typescript@5.9.3)
+ '@solana/rpc-types': 3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - fastestsmallesttextencoderdecoder
+
+ '@solana/rpc-transport-http@2.3.0(typescript@5.9.3)':
+ dependencies:
+ '@solana/errors': 2.3.0(typescript@5.9.3)
+ '@solana/rpc-spec': 2.3.0(typescript@5.9.3)
+ '@solana/rpc-spec-types': 2.3.0(typescript@5.9.3)
+ typescript: 5.9.3
+ undici-types: 7.16.0
+
+ '@solana/rpc-transport-http@3.0.3(typescript@5.9.3)':
+ dependencies:
+ '@solana/errors': 3.0.3(typescript@5.9.3)
+ '@solana/rpc-spec': 3.0.3(typescript@5.9.3)
+ '@solana/rpc-spec-types': 3.0.3(typescript@5.9.3)
+ typescript: 5.9.3
+ undici-types: 7.16.0
+
+ '@solana/rpc-types@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)':
+ dependencies:
+ '@solana/addresses': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/codecs-core': 2.3.0(typescript@5.9.3)
+ '@solana/codecs-numbers': 2.3.0(typescript@5.9.3)
+ '@solana/codecs-strings': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/errors': 2.3.0(typescript@5.9.3)
+ '@solana/nominal-types': 2.3.0(typescript@5.9.3)
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - fastestsmallesttextencoderdecoder
+
+ '@solana/rpc-types@3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)':
+ dependencies:
+ '@solana/addresses': 3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/codecs-core': 3.0.3(typescript@5.9.3)
+ '@solana/codecs-numbers': 3.0.3(typescript@5.9.3)
+ '@solana/codecs-strings': 3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/errors': 3.0.3(typescript@5.9.3)
+ '@solana/nominal-types': 3.0.3(typescript@5.9.3)
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - fastestsmallesttextencoderdecoder
+
+ '@solana/rpc@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)':
+ dependencies:
+ '@solana/errors': 2.3.0(typescript@5.9.3)
+ '@solana/fast-stable-stringify': 2.3.0(typescript@5.9.3)
+ '@solana/functional': 2.3.0(typescript@5.9.3)
+ '@solana/rpc-api': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/rpc-spec': 2.3.0(typescript@5.9.3)
+ '@solana/rpc-spec-types': 2.3.0(typescript@5.9.3)
+ '@solana/rpc-transformers': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/rpc-transport-http': 2.3.0(typescript@5.9.3)
+ '@solana/rpc-types': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - fastestsmallesttextencoderdecoder
+
+ '@solana/rpc@3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)':
+ dependencies:
+ '@solana/errors': 3.0.3(typescript@5.9.3)
+ '@solana/fast-stable-stringify': 3.0.3(typescript@5.9.3)
+ '@solana/functional': 3.0.3(typescript@5.9.3)
+ '@solana/rpc-api': 3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/rpc-spec': 3.0.3(typescript@5.9.3)
+ '@solana/rpc-spec-types': 3.0.3(typescript@5.9.3)
+ '@solana/rpc-transformers': 3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/rpc-transport-http': 3.0.3(typescript@5.9.3)
+ '@solana/rpc-types': 3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - fastestsmallesttextencoderdecoder
+
+ '@solana/signers@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)':
+ dependencies:
+ '@solana/addresses': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/codecs-core': 2.3.0(typescript@5.9.3)
+ '@solana/errors': 2.3.0(typescript@5.9.3)
+ '@solana/instructions': 2.3.0(typescript@5.9.3)
+ '@solana/keys': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/nominal-types': 2.3.0(typescript@5.9.3)
+ '@solana/transaction-messages': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/transactions': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - fastestsmallesttextencoderdecoder
+
+ '@solana/signers@3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)':
+ dependencies:
+ '@solana/addresses': 3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/codecs-core': 3.0.3(typescript@5.9.3)
+ '@solana/errors': 3.0.3(typescript@5.9.3)
+ '@solana/instructions': 3.0.3(typescript@5.9.3)
+ '@solana/keys': 3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/nominal-types': 3.0.3(typescript@5.9.3)
+ '@solana/transaction-messages': 3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/transactions': 3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - fastestsmallesttextencoderdecoder
+
+ '@solana/subscribable@2.3.0(typescript@5.9.3)':
+ dependencies:
+ '@solana/errors': 2.3.0(typescript@5.9.3)
+ typescript: 5.9.3
+
+ '@solana/subscribable@3.0.3(typescript@5.9.3)':
+ dependencies:
+ '@solana/errors': 3.0.3(typescript@5.9.3)
+ typescript: 5.9.3
+
+ '@solana/sysvars@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)':
+ dependencies:
+ '@solana/accounts': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/codecs': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/errors': 2.3.0(typescript@5.9.3)
+ '@solana/rpc-types': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - fastestsmallesttextencoderdecoder
+
+ '@solana/sysvars@3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)':
+ dependencies:
+ '@solana/accounts': 3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/codecs': 3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/errors': 3.0.3(typescript@5.9.3)
+ '@solana/rpc-types': 3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - fastestsmallesttextencoderdecoder
+
+ '@solana/transaction-confirmation@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))':
+ dependencies:
+ '@solana/addresses': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/codecs-strings': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/errors': 2.3.0(typescript@5.9.3)
+ '@solana/keys': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/promises': 2.3.0(typescript@5.9.3)
+ '@solana/rpc': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/rpc-subscriptions': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))
+ '@solana/rpc-types': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/transaction-messages': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/transactions': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - fastestsmallesttextencoderdecoder
+ - ws
+
+ '@solana/transaction-confirmation@3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))':
+ dependencies:
+ '@solana/addresses': 3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/codecs-strings': 3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/errors': 3.0.3(typescript@5.9.3)
+ '@solana/keys': 3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/promises': 3.0.3(typescript@5.9.3)
+ '@solana/rpc': 3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/rpc-subscriptions': 3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))
+ '@solana/rpc-types': 3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/transaction-messages': 3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/transactions': 3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - fastestsmallesttextencoderdecoder
+ - ws
+
+ '@solana/transaction-messages@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)':
+ dependencies:
+ '@solana/addresses': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/codecs-core': 2.3.0(typescript@5.9.3)
+ '@solana/codecs-data-structures': 2.3.0(typescript@5.9.3)
+ '@solana/codecs-numbers': 2.3.0(typescript@5.9.3)
+ '@solana/errors': 2.3.0(typescript@5.9.3)
+ '@solana/functional': 2.3.0(typescript@5.9.3)
+ '@solana/instructions': 2.3.0(typescript@5.9.3)
+ '@solana/nominal-types': 2.3.0(typescript@5.9.3)
+ '@solana/rpc-types': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - fastestsmallesttextencoderdecoder
+
+ '@solana/transaction-messages@3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)':
+ dependencies:
+ '@solana/addresses': 3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/codecs-core': 3.0.3(typescript@5.9.3)
+ '@solana/codecs-data-structures': 3.0.3(typescript@5.9.3)
+ '@solana/codecs-numbers': 3.0.3(typescript@5.9.3)
+ '@solana/errors': 3.0.3(typescript@5.9.3)
+ '@solana/functional': 3.0.3(typescript@5.9.3)
+ '@solana/instructions': 3.0.3(typescript@5.9.3)
+ '@solana/nominal-types': 3.0.3(typescript@5.9.3)
+ '@solana/rpc-types': 3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - fastestsmallesttextencoderdecoder
+
+ '@solana/transactions@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)':
+ dependencies:
+ '@solana/addresses': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/codecs-core': 2.3.0(typescript@5.9.3)
+ '@solana/codecs-data-structures': 2.3.0(typescript@5.9.3)
+ '@solana/codecs-numbers': 2.3.0(typescript@5.9.3)
+ '@solana/codecs-strings': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/errors': 2.3.0(typescript@5.9.3)
+ '@solana/functional': 2.3.0(typescript@5.9.3)
+ '@solana/instructions': 2.3.0(typescript@5.9.3)
+ '@solana/keys': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/nominal-types': 2.3.0(typescript@5.9.3)
+ '@solana/rpc-types': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/transaction-messages': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - fastestsmallesttextencoderdecoder
+
+ '@solana/transactions@3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)':
+ dependencies:
+ '@solana/addresses': 3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/codecs-core': 3.0.3(typescript@5.9.3)
+ '@solana/codecs-data-structures': 3.0.3(typescript@5.9.3)
+ '@solana/codecs-numbers': 3.0.3(typescript@5.9.3)
+ '@solana/codecs-strings': 3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/errors': 3.0.3(typescript@5.9.3)
+ '@solana/functional': 3.0.3(typescript@5.9.3)
+ '@solana/instructions': 3.0.3(typescript@5.9.3)
+ '@solana/keys': 3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/nominal-types': 3.0.3(typescript@5.9.3)
+ '@solana/rpc-types': 3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ '@solana/transaction-messages': 3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - fastestsmallesttextencoderdecoder
+
+ '@solana/web3.js@1.98.4(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)':
+ dependencies:
+ '@babel/runtime': 7.28.4
+ '@noble/curves': 1.9.7
+ '@noble/hashes': 1.8.0
+ '@solana/buffer-layout': 4.0.1
+ '@solana/codecs-numbers': 2.3.0(typescript@5.9.3)
+ agentkeepalive: 4.6.0
+ bn.js: 5.2.2
+ borsh: 0.7.0
+ bs58: 4.0.1
+ buffer: 6.0.3
+ fast-stable-stringify: 1.0.0
+ jayson: 4.2.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)
+ node-fetch: 2.7.0
+ rpc-websockets: 9.3.1
+ superstruct: 2.0.2
+ transitivePeerDependencies:
+ - bufferutil
+ - encoding
+ - typescript
+ - utf-8-validate
+
+ '@standard-schema/spec@1.0.0': {}
+
+ '@swc/helpers@0.5.17':
+ dependencies:
+ tslib: 2.8.1
+
+ '@tanstack/query-core@5.90.7': {}
+
+ '@tanstack/react-query@5.90.7(react@19.2.0)':
+ dependencies:
+ '@tanstack/query-core': 5.90.7
+ react: 19.2.0
+
+ '@types/connect@3.4.38':
+ dependencies:
+ '@types/node': 22.19.0
+
+ '@types/debug@4.1.12':
+ dependencies:
+ '@types/ms': 2.1.0
+
+ '@types/lodash@4.17.20': {}
+
+ '@types/ms@2.1.0': {}
+
+ '@types/node@12.20.55': {}
+
+ '@types/node@22.19.0':
+ dependencies:
+ undici-types: 6.21.0
+
+ '@types/qrcode-terminal@0.12.2': {}
+
+ '@types/react@19.2.2':
+ dependencies:
+ csstype: 3.1.3
+
+ '@types/trusted-types@2.0.7': {}
+
+ '@types/uuid@8.3.4': {}
+
+ '@types/ws@7.4.7':
+ dependencies:
+ '@types/node': 22.19.0
+
+ '@types/ws@8.18.1':
+ dependencies:
+ '@types/node': 22.19.0
+
+ '@vercel/oidc@3.0.3': {}
+
+ '@wagmi/connectors@6.1.3(@tanstack/react-query@5.90.7(react@19.2.0))(@types/react@19.2.2)(@wagmi/core@2.22.1(@tanstack/query-core@5.90.7)(@types/react@19.2.2)(react@19.2.0)(typescript@5.9.3)(use-sync-external-store@1.4.0(react@19.2.0))(viem@2.38.6(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(react@19.2.0)(typescript@5.9.3)(use-sync-external-store@1.4.0(react@19.2.0))(utf-8-validate@5.0.10)(viem@2.38.6(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12))(wagmi@2.19.2(@tanstack/query-core@5.90.7)(@tanstack/react-query@5.90.7(react@19.2.0))(@types/react@19.2.2)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(viem@2.38.6(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12))(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.25.76))(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.25.76)':
+ dependencies:
+ '@base-org/account': 2.4.0(@types/react@19.2.2)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(react@19.2.0)(typescript@5.9.3)(use-sync-external-store@1.4.0(react@19.2.0))(utf-8-validate@5.0.10)(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.25.76)
+ '@coinbase/wallet-sdk': 4.3.6(@types/react@19.2.2)(bufferutil@4.0.9)(react@19.2.0)(typescript@5.9.3)(use-sync-external-store@1.4.0(react@19.2.0))(utf-8-validate@5.0.10)(zod@3.25.76)
+ '@gemini-wallet/core': 0.3.1(viem@2.38.6(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12))
+ '@metamask/sdk': 0.33.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)
+ '@safe-global/safe-apps-provider': 0.18.6(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ '@safe-global/safe-apps-sdk': 9.1.0(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ '@wagmi/core': 2.22.1(@tanstack/query-core@5.90.7)(@types/react@19.2.2)(react@19.2.0)(typescript@5.9.3)(use-sync-external-store@1.4.0(react@19.2.0))(viem@2.38.6(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12))
+ '@walletconnect/ethereum-provider': 2.21.1(@types/react@19.2.2)(bufferutil@4.0.9)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ cbw-sdk: '@coinbase/wallet-sdk@3.9.3'
+ porto: 0.2.35(@tanstack/react-query@5.90.7(react@19.2.0))(@types/react@19.2.2)(@wagmi/core@2.22.1(@tanstack/query-core@5.90.7)(@types/react@19.2.2)(react@19.2.0)(typescript@5.9.3)(use-sync-external-store@1.4.0(react@19.2.0))(viem@2.38.6(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)))(react@19.2.0)(typescript@5.9.3)(use-sync-external-store@1.4.0(react@19.2.0))(viem@2.38.6(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12))(wagmi@2.19.2(@tanstack/query-core@5.90.7)(@tanstack/react-query@5.90.7(react@19.2.0))(@types/react@19.2.2)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(viem@2.38.6(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12))(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.25.76))
+ viem: 2.38.6(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)
+ optionalDependencies:
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@deno/kv'
+ - '@netlify/blobs'
+ - '@planetscale/database'
+ - '@react-native-async-storage/async-storage'
+ - '@tanstack/react-query'
+ - '@types/react'
+ - '@upstash/redis'
+ - '@vercel/blob'
+ - '@vercel/functions'
+ - '@vercel/kv'
+ - aws4fetch
+ - bufferutil
+ - db0
+ - debug
+ - encoding
+ - expo-auth-session
+ - expo-crypto
+ - expo-web-browser
+ - fastestsmallesttextencoderdecoder
+ - immer
+ - ioredis
+ - react
+ - react-native
+ - supports-color
+ - uploadthing
+ - use-sync-external-store
+ - utf-8-validate
+ - wagmi
+ - ws
+ - zod
+
+ '@wagmi/core@2.22.1(@tanstack/query-core@5.90.7)(@types/react@19.2.2)(react@19.2.0)(typescript@5.9.3)(use-sync-external-store@1.4.0(react@19.2.0))(viem@2.38.6(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12))':
+ dependencies:
+ eventemitter3: 5.0.1
+ mipd: 0.0.7(typescript@5.9.3)
+ viem: 2.38.6(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)
+ zustand: 5.0.0(@types/react@19.2.2)(react@19.2.0)(use-sync-external-store@1.4.0(react@19.2.0))
+ optionalDependencies:
+ '@tanstack/query-core': 5.90.7
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - '@types/react'
+ - immer
+ - react
+ - use-sync-external-store
+
+ '@wallet-standard/base@1.1.0': {}
+
+ '@wallet-standard/wallet@1.1.0':
+ dependencies:
+ '@wallet-standard/base': 1.1.0
+
+ '@walletconnect/core@2.21.0(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)':
+ 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(bufferutil@4.0.9)(utf-8-validate@5.0.10)
+ '@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(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ '@walletconnect/window-getters': 1.0.1
+ es-toolkit: 1.33.0
+ events: 3.3.0
+ uint8arrays: 3.1.0
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@deno/kv'
+ - '@netlify/blobs'
+ - '@planetscale/database'
+ - '@react-native-async-storage/async-storage'
+ - '@upstash/redis'
+ - '@vercel/blob'
+ - '@vercel/functions'
+ - '@vercel/kv'
+ - aws4fetch
+ - bufferutil
+ - db0
+ - ioredis
+ - typescript
+ - uploadthing
+ - utf-8-validate
+ - zod
+
+ '@walletconnect/core@2.21.1(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)':
+ 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(bufferutil@4.0.9)(utf-8-validate@5.0.10)
+ '@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(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ '@walletconnect/window-getters': 1.0.1
+ es-toolkit: 1.33.0
+ events: 3.3.0
+ uint8arrays: 3.1.0
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@deno/kv'
+ - '@netlify/blobs'
+ - '@planetscale/database'
+ - '@react-native-async-storage/async-storage'
+ - '@upstash/redis'
+ - '@vercel/blob'
+ - '@vercel/functions'
+ - '@vercel/kv'
+ - aws4fetch
+ - bufferutil
+ - db0
+ - ioredis
+ - typescript
+ - uploadthing
+ - utf-8-validate
+ - zod
+
+ '@walletconnect/core@2.22.4(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)':
+ 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(bufferutil@4.0.9)(utf-8-validate@5.0.10)
+ '@walletconnect/keyvaluestorage': 1.1.1
+ '@walletconnect/logger': 3.0.0
+ '@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.22.4
+ '@walletconnect/utils': 2.22.4(typescript@5.9.3)(zod@4.1.12)
+ '@walletconnect/window-getters': 1.0.1
+ es-toolkit: 1.39.3
+ events: 3.3.0
+ uint8arrays: 3.1.1
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@deno/kv'
+ - '@netlify/blobs'
+ - '@planetscale/database'
+ - '@react-native-async-storage/async-storage'
+ - '@upstash/redis'
+ - '@vercel/blob'
+ - '@vercel/functions'
+ - '@vercel/kv'
+ - aws4fetch
+ - bufferutil
+ - db0
+ - ioredis
+ - typescript
+ - uploadthing
+ - utf-8-validate
+ - zod
+
+ '@walletconnect/core@2.23.0(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)':
+ 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(bufferutil@4.0.9)(utf-8-validate@5.0.10)
+ '@walletconnect/keyvaluestorage': 1.1.1
+ '@walletconnect/logger': 3.0.0
+ '@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.23.0
+ '@walletconnect/utils': 2.23.0(typescript@5.9.3)(zod@4.1.12)
+ '@walletconnect/window-getters': 1.0.1
+ es-toolkit: 1.39.3
+ events: 3.3.0
+ uint8arrays: 3.1.1
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@deno/kv'
+ - '@netlify/blobs'
+ - '@planetscale/database'
+ - '@react-native-async-storage/async-storage'
+ - '@upstash/redis'
+ - '@vercel/blob'
+ - '@vercel/functions'
+ - '@vercel/kv'
+ - aws4fetch
+ - bufferutil
+ - db0
+ - ioredis
+ - typescript
+ - uploadthing
+ - utf-8-validate
+ - zod
+
+ '@walletconnect/environment@1.0.1':
+ dependencies:
+ tslib: 1.14.1
+
+ '@walletconnect/ethereum-provider@2.21.1(@types/react@19.2.2)(bufferutil@4.0.9)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)':
+ dependencies:
+ '@reown/appkit': 1.7.8(@types/react@19.2.2)(bufferutil@4.0.9)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ '@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(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ '@walletconnect/types': 2.21.1
+ '@walletconnect/universal-provider': 2.21.1(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ '@walletconnect/utils': 2.21.1(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ events: 3.3.0
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@deno/kv'
+ - '@netlify/blobs'
+ - '@planetscale/database'
+ - '@react-native-async-storage/async-storage'
+ - '@types/react'
+ - '@upstash/redis'
+ - '@vercel/blob'
+ - '@vercel/functions'
+ - '@vercel/kv'
+ - aws4fetch
+ - bufferutil
+ - db0
+ - encoding
+ - ioredis
+ - react
+ - typescript
+ - uploadthing
+ - utf-8-validate
+ - zod
+
+ '@walletconnect/ethereum-provider@2.23.0(@types/react@19.2.2)(bufferutil@4.0.9)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)':
+ dependencies:
+ '@reown/appkit': 1.8.11(@types/react@19.2.2)(bufferutil@4.0.9)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)
+ '@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': 3.0.0
+ '@walletconnect/sign-client': 2.23.0(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)
+ '@walletconnect/types': 2.23.0
+ '@walletconnect/universal-provider': 2.23.0(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)
+ '@walletconnect/utils': 2.23.0(typescript@5.9.3)(zod@4.1.12)
+ events: 3.3.0
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@deno/kv'
+ - '@netlify/blobs'
+ - '@planetscale/database'
+ - '@react-native-async-storage/async-storage'
+ - '@types/react'
+ - '@upstash/redis'
+ - '@vercel/blob'
+ - '@vercel/functions'
+ - '@vercel/kv'
+ - aws4fetch
+ - bufferutil
+ - db0
+ - encoding
+ - ioredis
+ - react
+ - typescript
+ - uploadthing
+ - utf-8-validate
+ - zod
+
+ '@walletconnect/events@1.0.1':
+ dependencies:
+ keyvaluestorage-interface: 1.0.0
+ tslib: 1.14.1
+
+ '@walletconnect/heartbeat@1.2.2':
+ dependencies:
+ '@walletconnect/events': 1.0.1
+ '@walletconnect/time': 1.0.2
+ events: 3.3.0
+
+ '@walletconnect/jsonrpc-http-connection@1.0.8':
+ dependencies:
+ '@walletconnect/jsonrpc-utils': 1.0.8
+ '@walletconnect/safe-json': 1.0.2
+ cross-fetch: 3.2.0
+ events: 3.3.0
+ transitivePeerDependencies:
+ - encoding
+
+ '@walletconnect/jsonrpc-provider@1.0.14':
+ dependencies:
+ '@walletconnect/jsonrpc-utils': 1.0.8
+ '@walletconnect/safe-json': 1.0.2
+ events: 3.3.0
+
+ '@walletconnect/jsonrpc-types@1.0.4':
+ dependencies:
+ events: 3.3.0
+ keyvaluestorage-interface: 1.0.0
+
+ '@walletconnect/jsonrpc-utils@1.0.8':
+ dependencies:
+ '@walletconnect/environment': 1.0.1
+ '@walletconnect/jsonrpc-types': 1.0.4
+ tslib: 1.14.1
+
+ '@walletconnect/jsonrpc-ws-connection@1.0.16(bufferutil@4.0.9)(utf-8-validate@5.0.10)':
+ dependencies:
+ '@walletconnect/jsonrpc-utils': 1.0.8
+ '@walletconnect/safe-json': 1.0.2
+ events: 3.3.0
+ ws: 7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10)
+ transitivePeerDependencies:
+ - bufferutil
+ - utf-8-validate
+
+ '@walletconnect/keyvaluestorage@1.1.1':
+ dependencies:
+ '@walletconnect/safe-json': 1.0.2
+ idb-keyval: 6.2.2
+ unstorage: 1.17.2(idb-keyval@6.2.2)
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@deno/kv'
+ - '@netlify/blobs'
+ - '@planetscale/database'
+ - '@upstash/redis'
+ - '@vercel/blob'
+ - '@vercel/functions'
+ - '@vercel/kv'
+ - aws4fetch
+ - db0
+ - ioredis
+ - uploadthing
+
+ '@walletconnect/logger@2.1.2':
+ dependencies:
+ '@walletconnect/safe-json': 1.0.2
+ pino: 7.11.0
+
+ '@walletconnect/logger@3.0.0':
+ dependencies:
+ '@walletconnect/safe-json': 1.0.2
+ pino: 10.0.0
+
+ '@walletconnect/relay-api@1.0.11':
+ dependencies:
+ '@walletconnect/jsonrpc-types': 1.0.4
+
+ '@walletconnect/relay-auth@1.1.0':
+ dependencies:
+ '@noble/curves': 1.8.0
+ '@noble/hashes': 1.7.0
+ '@walletconnect/safe-json': 1.0.2
+ '@walletconnect/time': 1.0.2
+ uint8arrays: 3.1.1
+
+ '@walletconnect/safe-json@1.0.2':
+ dependencies:
+ tslib: 1.14.1
+
+ '@walletconnect/sign-client@2.21.0(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)':
+ dependencies:
+ '@walletconnect/core': 2.21.0(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ '@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(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ events: 3.3.0
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@deno/kv'
+ - '@netlify/blobs'
+ - '@planetscale/database'
+ - '@react-native-async-storage/async-storage'
+ - '@upstash/redis'
+ - '@vercel/blob'
+ - '@vercel/functions'
+ - '@vercel/kv'
+ - aws4fetch
+ - bufferutil
+ - db0
+ - ioredis
+ - typescript
+ - uploadthing
+ - utf-8-validate
+ - zod
+
+ '@walletconnect/sign-client@2.21.1(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)':
+ dependencies:
+ '@walletconnect/core': 2.21.1(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ '@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(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ events: 3.3.0
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@deno/kv'
+ - '@netlify/blobs'
+ - '@planetscale/database'
+ - '@react-native-async-storage/async-storage'
+ - '@upstash/redis'
+ - '@vercel/blob'
+ - '@vercel/functions'
+ - '@vercel/kv'
+ - aws4fetch
+ - bufferutil
+ - db0
+ - ioredis
+ - typescript
+ - uploadthing
+ - utf-8-validate
+ - zod
+
+ '@walletconnect/sign-client@2.22.4(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)':
+ dependencies:
+ '@walletconnect/core': 2.22.4(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)
+ '@walletconnect/events': 1.0.1
+ '@walletconnect/heartbeat': 1.2.2
+ '@walletconnect/jsonrpc-utils': 1.0.8
+ '@walletconnect/logger': 3.0.0
+ '@walletconnect/time': 1.0.2
+ '@walletconnect/types': 2.22.4
+ '@walletconnect/utils': 2.22.4(typescript@5.9.3)(zod@4.1.12)
+ events: 3.3.0
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@deno/kv'
+ - '@netlify/blobs'
+ - '@planetscale/database'
+ - '@react-native-async-storage/async-storage'
+ - '@upstash/redis'
+ - '@vercel/blob'
+ - '@vercel/functions'
+ - '@vercel/kv'
+ - aws4fetch
+ - bufferutil
+ - db0
+ - ioredis
+ - typescript
+ - uploadthing
+ - utf-8-validate
+ - zod
+
+ '@walletconnect/sign-client@2.23.0(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)':
+ dependencies:
+ '@walletconnect/core': 2.23.0(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)
+ '@walletconnect/events': 1.0.1
+ '@walletconnect/heartbeat': 1.2.2
+ '@walletconnect/jsonrpc-utils': 1.0.8
+ '@walletconnect/logger': 3.0.0
+ '@walletconnect/time': 1.0.2
+ '@walletconnect/types': 2.23.0
+ '@walletconnect/utils': 2.23.0(typescript@5.9.3)(zod@4.1.12)
+ events: 3.3.0
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@deno/kv'
+ - '@netlify/blobs'
+ - '@planetscale/database'
+ - '@react-native-async-storage/async-storage'
+ - '@upstash/redis'
+ - '@vercel/blob'
+ - '@vercel/functions'
+ - '@vercel/kv'
+ - aws4fetch
+ - bufferutil
+ - db0
+ - ioredis
+ - typescript
+ - uploadthing
+ - utf-8-validate
+ - zod
+
+ '@walletconnect/time@1.0.2':
+ dependencies:
+ tslib: 1.14.1
+
+ '@walletconnect/types@2.21.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
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@deno/kv'
+ - '@netlify/blobs'
+ - '@planetscale/database'
+ - '@react-native-async-storage/async-storage'
+ - '@upstash/redis'
+ - '@vercel/blob'
+ - '@vercel/functions'
+ - '@vercel/kv'
+ - aws4fetch
+ - db0
+ - ioredis
+ - uploadthing
+
+ '@walletconnect/types@2.21.1':
+ 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
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@deno/kv'
+ - '@netlify/blobs'
+ - '@planetscale/database'
+ - '@react-native-async-storage/async-storage'
+ - '@upstash/redis'
+ - '@vercel/blob'
+ - '@vercel/functions'
+ - '@vercel/kv'
+ - aws4fetch
+ - db0
+ - ioredis
+ - uploadthing
+
+ '@walletconnect/types@2.22.4':
+ dependencies:
+ '@walletconnect/events': 1.0.1
+ '@walletconnect/heartbeat': 1.2.2
+ '@walletconnect/jsonrpc-types': 1.0.4
+ '@walletconnect/keyvaluestorage': 1.1.1
+ '@walletconnect/logger': 3.0.0
+ events: 3.3.0
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@deno/kv'
+ - '@netlify/blobs'
+ - '@planetscale/database'
+ - '@react-native-async-storage/async-storage'
+ - '@upstash/redis'
+ - '@vercel/blob'
+ - '@vercel/functions'
+ - '@vercel/kv'
+ - aws4fetch
+ - db0
+ - ioredis
+ - uploadthing
+
+ '@walletconnect/types@2.23.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': 3.0.0
+ events: 3.3.0
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@deno/kv'
+ - '@netlify/blobs'
+ - '@planetscale/database'
+ - '@react-native-async-storage/async-storage'
+ - '@upstash/redis'
+ - '@vercel/blob'
+ - '@vercel/functions'
+ - '@vercel/kv'
+ - aws4fetch
+ - db0
+ - ioredis
+ - uploadthing
+
+ '@walletconnect/universal-provider@2.21.0(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)':
+ 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(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ '@walletconnect/types': 2.21.0
+ '@walletconnect/utils': 2.21.0(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ es-toolkit: 1.33.0
+ events: 3.3.0
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@deno/kv'
+ - '@netlify/blobs'
+ - '@planetscale/database'
+ - '@react-native-async-storage/async-storage'
+ - '@upstash/redis'
+ - '@vercel/blob'
+ - '@vercel/functions'
+ - '@vercel/kv'
+ - aws4fetch
+ - bufferutil
+ - db0
+ - encoding
+ - ioredis
+ - typescript
+ - uploadthing
+ - utf-8-validate
+ - zod
+
+ '@walletconnect/universal-provider@2.21.1(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)':
+ 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(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ '@walletconnect/types': 2.21.1
+ '@walletconnect/utils': 2.21.1(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ es-toolkit: 1.33.0
+ events: 3.3.0
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@deno/kv'
+ - '@netlify/blobs'
+ - '@planetscale/database'
+ - '@react-native-async-storage/async-storage'
+ - '@upstash/redis'
+ - '@vercel/blob'
+ - '@vercel/functions'
+ - '@vercel/kv'
+ - aws4fetch
+ - bufferutil
+ - db0
+ - encoding
+ - ioredis
+ - typescript
+ - uploadthing
+ - utf-8-validate
+ - zod
+
+ '@walletconnect/universal-provider@2.22.4(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)':
+ 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': 3.0.0
+ '@walletconnect/sign-client': 2.22.4(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)
+ '@walletconnect/types': 2.22.4
+ '@walletconnect/utils': 2.22.4(typescript@5.9.3)(zod@4.1.12)
+ es-toolkit: 1.39.3
+ events: 3.3.0
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@deno/kv'
+ - '@netlify/blobs'
+ - '@planetscale/database'
+ - '@react-native-async-storage/async-storage'
+ - '@upstash/redis'
+ - '@vercel/blob'
+ - '@vercel/functions'
+ - '@vercel/kv'
+ - aws4fetch
+ - bufferutil
+ - db0
+ - encoding
+ - ioredis
+ - typescript
+ - uploadthing
+ - utf-8-validate
+ - zod
+
+ '@walletconnect/universal-provider@2.23.0(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)':
+ 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': 3.0.0
+ '@walletconnect/sign-client': 2.23.0(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)
+ '@walletconnect/types': 2.23.0
+ '@walletconnect/utils': 2.23.0(typescript@5.9.3)(zod@4.1.12)
+ es-toolkit: 1.39.3
+ events: 3.3.0
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@deno/kv'
+ - '@netlify/blobs'
+ - '@planetscale/database'
+ - '@react-native-async-storage/async-storage'
+ - '@upstash/redis'
+ - '@vercel/blob'
+ - '@vercel/functions'
+ - '@vercel/kv'
+ - aws4fetch
+ - bufferutil
+ - db0
+ - encoding
+ - ioredis
+ - typescript
+ - uploadthing
+ - utf-8-validate
+ - zod
+
+ '@walletconnect/utils@2.21.0(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)':
+ 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(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@deno/kv'
+ - '@netlify/blobs'
+ - '@planetscale/database'
+ - '@react-native-async-storage/async-storage'
+ - '@upstash/redis'
+ - '@vercel/blob'
+ - '@vercel/functions'
+ - '@vercel/kv'
+ - aws4fetch
+ - bufferutil
+ - db0
+ - ioredis
+ - typescript
+ - uploadthing
+ - utf-8-validate
+ - zod
+
+ '@walletconnect/utils@2.21.1(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)':
+ 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(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@deno/kv'
+ - '@netlify/blobs'
+ - '@planetscale/database'
+ - '@react-native-async-storage/async-storage'
+ - '@upstash/redis'
+ - '@vercel/blob'
+ - '@vercel/functions'
+ - '@vercel/kv'
+ - aws4fetch
+ - bufferutil
+ - db0
+ - ioredis
+ - typescript
+ - uploadthing
+ - utf-8-validate
+ - zod
+
+ '@walletconnect/utils@2.22.4(typescript@5.9.3)(zod@4.1.12)':
+ dependencies:
+ '@msgpack/msgpack': 3.1.2
+ '@noble/ciphers': 1.3.0
+ '@noble/curves': 1.9.7
+ '@noble/hashes': 1.8.0
+ '@scure/base': 1.2.6
+ '@walletconnect/jsonrpc-utils': 1.0.8
+ '@walletconnect/keyvaluestorage': 1.1.1
+ '@walletconnect/logger': 3.0.0
+ '@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.22.4
+ '@walletconnect/window-getters': 1.0.1
+ '@walletconnect/window-metadata': 1.0.1
+ blakejs: 1.2.1
+ bs58: 6.0.0
+ detect-browser: 5.3.0
+ ox: 0.9.3(typescript@5.9.3)(zod@4.1.12)
+ uint8arrays: 3.1.1
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@deno/kv'
+ - '@netlify/blobs'
+ - '@planetscale/database'
+ - '@react-native-async-storage/async-storage'
+ - '@upstash/redis'
+ - '@vercel/blob'
+ - '@vercel/functions'
+ - '@vercel/kv'
+ - aws4fetch
+ - db0
+ - ioredis
+ - typescript
+ - uploadthing
+ - zod
+
+ '@walletconnect/utils@2.23.0(typescript@5.9.3)(zod@4.1.12)':
+ dependencies:
+ '@msgpack/msgpack': 3.1.2
+ '@noble/ciphers': 1.3.0
+ '@noble/curves': 1.9.7
+ '@noble/hashes': 1.8.0
+ '@scure/base': 1.2.6
+ '@walletconnect/jsonrpc-utils': 1.0.8
+ '@walletconnect/keyvaluestorage': 1.1.1
+ '@walletconnect/logger': 3.0.0
+ '@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.23.0
+ '@walletconnect/window-getters': 1.0.1
+ '@walletconnect/window-metadata': 1.0.1
+ blakejs: 1.2.1
+ bs58: 6.0.0
+ detect-browser: 5.3.0
+ ox: 0.9.3(typescript@5.9.3)(zod@4.1.12)
+ uint8arrays: 3.1.1
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@deno/kv'
+ - '@netlify/blobs'
+ - '@planetscale/database'
+ - '@react-native-async-storage/async-storage'
+ - '@upstash/redis'
+ - '@vercel/blob'
+ - '@vercel/functions'
+ - '@vercel/kv'
+ - aws4fetch
+ - db0
+ - ioredis
+ - typescript
+ - uploadthing
+ - zod
+
+ '@walletconnect/window-getters@1.0.1':
+ dependencies:
+ tslib: 1.14.1
+
+ '@walletconnect/window-metadata@1.0.1':
+ dependencies:
+ '@walletconnect/window-getters': 1.0.1
+ tslib: 1.14.1
+
+ abitype@1.0.6(typescript@5.9.3)(zod@3.25.76):
+ optionalDependencies:
+ typescript: 5.9.3
+ zod: 3.25.76
+
+ abitype@1.0.8(typescript@5.9.3)(zod@3.25.76):
+ optionalDependencies:
+ typescript: 5.9.3
+ zod: 3.25.76
+
+ abitype@1.1.0(typescript@5.9.3)(zod@3.22.4):
+ optionalDependencies:
+ typescript: 5.9.3
+ zod: 3.22.4
+
+ abitype@1.1.0(typescript@5.9.3)(zod@3.25.76):
+ optionalDependencies:
+ typescript: 5.9.3
+ zod: 3.25.76
+
+ abitype@1.1.0(typescript@5.9.3)(zod@4.1.12):
+ optionalDependencies:
+ typescript: 5.9.3
+ zod: 4.1.12
+
+ abitype@1.1.1(typescript@5.9.3)(zod@3.25.76):
+ optionalDependencies:
+ typescript: 5.9.3
+ zod: 3.25.76
+
+ abitype@1.1.1(typescript@5.9.3)(zod@4.1.12):
+ optionalDependencies:
+ typescript: 5.9.3
+ zod: 4.1.12
+
+ agentkeepalive@4.6.0:
+ dependencies:
+ humanize-ms: 1.2.1
+
+ ai@5.0.17(zod@4.1.12):
+ dependencies:
+ '@ai-sdk/gateway': 1.0.8(zod@4.1.12)
+ '@ai-sdk/provider': 2.0.0
+ '@ai-sdk/provider-utils': 3.0.4(zod@4.1.12)
+ '@opentelemetry/api': 1.9.0
+ zod: 4.1.12
+
+ ai@5.0.47(zod@4.1.12):
+ dependencies:
+ '@ai-sdk/gateway': 1.0.24(zod@4.1.12)
+ '@ai-sdk/provider': 2.0.0
+ '@ai-sdk/provider-utils': 3.0.9(zod@4.1.12)
+ '@opentelemetry/api': 1.9.0
+ zod: 4.1.12
+
+ ai@5.0.89(zod@4.1.12):
+ dependencies:
+ '@ai-sdk/gateway': 2.0.7(zod@4.1.12)
+ '@ai-sdk/provider': 2.0.0
+ '@ai-sdk/provider-utils': 3.0.16(zod@4.1.12)
+ '@opentelemetry/api': 1.9.0
+ zod: 4.1.12
+
+ ajv-formats@3.0.1(ajv@8.17.1):
+ optionalDependencies:
+ ajv: 8.17.1
+
+ ajv@8.17.1:
+ dependencies:
+ fast-deep-equal: 3.1.3
+ fast-uri: 3.1.0
+ json-schema-traverse: 1.0.0
+ require-from-string: 2.0.2
+
+ ansi-escapes@7.2.0:
+ dependencies:
+ environment: 1.1.0
+
+ ansi-regex@5.0.1: {}
+
+ ansi-regex@6.2.2: {}
+
+ ansi-styles@4.3.0:
+ dependencies:
+ color-convert: 2.0.1
+
+ ansi-styles@6.2.3: {}
+
+ anymatch@3.1.3:
+ dependencies:
+ normalize-path: 3.0.0
+ picomatch: 2.3.1
+
+ async-mutex@0.2.6:
+ dependencies:
+ tslib: 2.8.1
+
+ asynckit@0.4.0: {}
+
+ atomic-sleep@1.0.0: {}
+
+ atomically@2.1.0:
+ dependencies:
+ stubborn-fs: 2.0.0
+ when-exit: 2.1.5
+
+ auto-bind@5.0.1: {}
+
+ available-typed-arrays@1.0.7:
+ dependencies:
+ possible-typed-array-names: 1.1.0
+
+ axios-retry@4.5.0(axios@1.13.2):
+ dependencies:
+ axios: 1.13.2
+ is-retry-allowed: 2.2.0
+
+ axios@1.13.2:
+ dependencies:
+ follow-redirects: 1.15.11
+ form-data: 4.0.4
+ proxy-from-env: 1.1.0
+ transitivePeerDependencies:
+ - debug
+
+ base-x@3.0.11:
+ dependencies:
+ safe-buffer: 5.2.1
+
+ base-x@5.0.1: {}
+
+ base64-js@1.5.1: {}
+
+ big.js@6.2.2: {}
+
+ bl@4.1.0:
+ dependencies:
+ buffer: 5.7.1
+ inherits: 2.0.4
+ readable-stream: 3.6.2
+
+ blakejs@1.2.1: {}
+
+ bn.js@5.2.2: {}
+
+ borsh@0.7.0:
+ dependencies:
+ bn.js: 5.2.2
+ bs58: 4.0.1
+ text-encoding-utf-8: 1.0.2
+
+ bowser@2.12.1: {}
+
+ bs58@4.0.1:
+ dependencies:
+ base-x: 3.0.11
+
+ bs58@6.0.0:
+ dependencies:
+ base-x: 5.0.1
+
+ buffer@5.7.1:
+ dependencies:
+ base64-js: 1.5.1
+ ieee754: 1.2.1
+
+ buffer@6.0.3:
+ dependencies:
+ base64-js: 1.5.1
+ ieee754: 1.2.1
+
+ bufferutil@4.0.9:
+ dependencies:
+ node-gyp-build: 4.8.4
+
+ bundle-name@4.1.0:
+ dependencies:
+ run-applescript: 7.1.0
+
+ call-bind-apply-helpers@1.0.2:
+ dependencies:
+ es-errors: 1.3.0
+ function-bind: 1.1.2
+
+ call-bind@1.0.8:
+ dependencies:
+ call-bind-apply-helpers: 1.0.2
+ es-define-property: 1.0.1
+ get-intrinsic: 1.3.0
+ set-function-length: 1.2.2
+
+ call-bound@1.0.4:
+ dependencies:
+ call-bind-apply-helpers: 1.0.2
+ get-intrinsic: 1.3.0
+
+ camelcase@5.3.1: {}
+
+ chalk@5.6.2: {}
+
+ charenc@0.0.2: {}
+
+ chokidar@4.0.3:
+ dependencies:
+ readdirp: 4.1.2
+
+ chownr@1.1.4: {}
+
+ cli-boxes@3.0.0: {}
+
+ cli-cursor@4.0.0:
+ dependencies:
+ restore-cursor: 4.0.0
+
+ cli-cursor@5.0.0:
+ dependencies:
+ restore-cursor: 5.1.0
+
+ cli-spinners@3.3.0: {}
+
+ cli-table3@0.6.5:
+ dependencies:
+ string-width: 4.2.3
+ optionalDependencies:
+ '@colors/colors': 1.5.0
+
+ cli-truncate@4.0.0:
+ dependencies:
+ slice-ansi: 5.0.0
+ string-width: 7.2.0
+
+ cliui@6.0.0:
+ dependencies:
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+ wrap-ansi: 6.2.0
+
+ clsx@1.2.1: {}
+
+ code-excerpt@4.0.0:
+ dependencies:
+ convert-to-spaces: 2.0.1
+
+ color-convert@2.0.1:
+ dependencies:
+ color-name: 1.1.4
+
+ color-name@1.1.4: {}
+
+ combined-stream@1.0.8:
+ dependencies:
+ delayed-stream: 1.0.0
+
+ commander@14.0.0: {}
+
+ commander@14.0.2: {}
+
+ commander@2.20.3: {}
+
+ conf@15.0.2:
+ dependencies:
+ ajv: 8.17.1
+ ajv-formats: 3.0.1(ajv@8.17.1)
+ atomically: 2.1.0
+ debounce-fn: 6.0.0
+ dot-prop: 10.1.0
+ env-paths: 3.0.0
+ json-schema-typed: 8.0.1
+ semver: 7.7.3
+ uint8array-extras: 1.5.0
+
+ convert-to-spaces@2.0.1: {}
+
+ cookie-es@1.2.2: {}
+
+ core-util-is@1.0.3: {}
+
+ crc-32@1.2.2: {}
+
+ cross-fetch@3.2.0:
+ dependencies:
+ node-fetch: 2.7.0
+ transitivePeerDependencies:
+ - encoding
+
+ cross-fetch@4.1.0:
+ dependencies:
+ node-fetch: 2.7.0
+ transitivePeerDependencies:
+ - encoding
+
+ crossws@0.3.5:
+ dependencies:
+ uncrypto: 0.1.3
+
+ crypt@0.0.2: {}
+
+ csstype@3.1.3: {}
+
+ date-fns@2.30.0:
+ dependencies:
+ '@babel/runtime': 7.28.4
+
+ dayjs@1.11.13: {}
+
+ debounce-fn@6.0.0:
+ dependencies:
+ mimic-function: 5.0.1
+
+ debug@4.3.4:
+ dependencies:
+ ms: 2.1.2
+
+ debug@4.4.3:
+ dependencies:
+ ms: 2.1.3
+
+ decamelize@1.2.0: {}
+
+ decode-uri-component@0.2.2: {}
+
+ decompress-response@6.0.0:
+ dependencies:
+ mimic-response: 3.1.0
+
+ deep-extend@0.6.0: {}
+
+ default-browser-id@5.0.0: {}
+
+ default-browser@5.2.1:
+ dependencies:
+ bundle-name: 4.1.0
+ default-browser-id: 5.0.0
+
+ define-data-property@1.1.4:
+ dependencies:
+ es-define-property: 1.0.1
+ es-errors: 1.3.0
+ gopd: 1.2.0
+
+ define-lazy-prop@3.0.0: {}
+
+ defu@6.1.4: {}
+
+ delay@5.0.0: {}
+
+ delayed-stream@1.0.0: {}
+
+ dequal@2.0.3: {}
+
+ derive-valtio@0.1.0(valtio@1.13.2(@types/react@19.2.2)(react@19.2.0)):
+ dependencies:
+ valtio: 1.13.2(@types/react@19.2.2)(react@19.2.0)
+
+ destr@2.0.5: {}
+
+ detect-browser@5.3.0: {}
+
+ detect-libc@2.1.2: {}
+
+ dijkstrajs@1.0.3: {}
+
+ dompurify@3.3.0:
+ optionalDependencies:
+ '@types/trusted-types': 2.0.7
+
+ dot-prop@10.1.0:
+ dependencies:
+ type-fest: 5.2.0
+
+ dunder-proto@1.0.1:
+ dependencies:
+ call-bind-apply-helpers: 1.0.2
+ es-errors: 1.3.0
+ gopd: 1.2.0
+
+ duplexify@4.1.3:
+ dependencies:
+ end-of-stream: 1.4.5
+ inherits: 2.0.4
+ readable-stream: 3.6.2
+ stream-shift: 1.0.3
+
+ eciesjs@0.4.16:
+ dependencies:
+ '@ecies/ciphers': 0.2.5(@noble/ciphers@1.3.0)
+ '@noble/ciphers': 1.3.0
+ '@noble/curves': 1.9.7
+ '@noble/hashes': 1.8.0
+
+ emoji-regex@10.6.0: {}
+
+ emoji-regex@8.0.0: {}
+
+ encode-utf8@1.0.3: {}
+
+ end-of-stream@1.4.5:
+ dependencies:
+ once: 1.4.0
+
+ engine.io-client@6.6.3(bufferutil@4.0.9)(utf-8-validate@5.0.10):
+ dependencies:
+ '@socket.io/component-emitter': 3.1.2
+ debug: 4.3.4
+ engine.io-parser: 5.2.3
+ ws: 8.17.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)
+ xmlhttprequest-ssl: 2.1.2
+ transitivePeerDependencies:
+ - bufferutil
+ - supports-color
+ - utf-8-validate
+
+ engine.io-parser@5.2.3: {}
+
+ env-paths@3.0.0: {}
+
+ environment@1.1.0: {}
+
+ es-define-property@1.0.1: {}
+
+ es-errors@1.3.0: {}
+
+ es-object-atoms@1.1.1:
+ dependencies:
+ es-errors: 1.3.0
+
+ es-set-tostringtag@2.1.0:
+ dependencies:
+ es-errors: 1.3.0
+ get-intrinsic: 1.3.0
+ has-tostringtag: 1.0.2
+ hasown: 2.0.2
+
+ es-toolkit@1.33.0: {}
+
+ es-toolkit@1.39.3: {}
+
+ es-toolkit@1.41.0: {}
+
+ es6-promise@4.2.8: {}
+
+ es6-promisify@5.0.0:
+ dependencies:
+ es6-promise: 4.2.8
+
+ esbuild@0.25.12:
+ optionalDependencies:
+ '@esbuild/aix-ppc64': 0.25.12
+ '@esbuild/android-arm': 0.25.12
+ '@esbuild/android-arm64': 0.25.12
+ '@esbuild/android-x64': 0.25.12
+ '@esbuild/darwin-arm64': 0.25.12
+ '@esbuild/darwin-x64': 0.25.12
+ '@esbuild/freebsd-arm64': 0.25.12
+ '@esbuild/freebsd-x64': 0.25.12
+ '@esbuild/linux-arm': 0.25.12
+ '@esbuild/linux-arm64': 0.25.12
+ '@esbuild/linux-ia32': 0.25.12
+ '@esbuild/linux-loong64': 0.25.12
+ '@esbuild/linux-mips64el': 0.25.12
+ '@esbuild/linux-ppc64': 0.25.12
+ '@esbuild/linux-riscv64': 0.25.12
+ '@esbuild/linux-s390x': 0.25.12
+ '@esbuild/linux-x64': 0.25.12
+ '@esbuild/netbsd-arm64': 0.25.12
+ '@esbuild/netbsd-x64': 0.25.12
+ '@esbuild/openbsd-arm64': 0.25.12
+ '@esbuild/openbsd-x64': 0.25.12
+ '@esbuild/openharmony-arm64': 0.25.12
+ '@esbuild/sunos-x64': 0.25.12
+ '@esbuild/win32-arm64': 0.25.12
+ '@esbuild/win32-ia32': 0.25.12
+ '@esbuild/win32-x64': 0.25.12
+
+ escape-string-regexp@2.0.0: {}
+
+ eth-block-tracker@7.1.0:
+ dependencies:
+ '@metamask/eth-json-rpc-provider': 1.0.1
+ '@metamask/safe-event-emitter': 3.1.2
+ '@metamask/utils': 5.0.2
+ json-rpc-random-id: 1.0.1
+ pify: 3.0.0
+ transitivePeerDependencies:
+ - supports-color
+
+ eth-json-rpc-filters@6.0.1:
+ dependencies:
+ '@metamask/safe-event-emitter': 3.1.2
+ async-mutex: 0.2.6
+ eth-query: 2.1.2
+ json-rpc-engine: 6.1.0
+ pify: 5.0.0
+
+ eth-query@2.1.2:
+ dependencies:
+ json-rpc-random-id: 1.0.1
+ xtend: 4.0.2
+
+ eth-rpc-errors@4.0.3:
+ dependencies:
+ fast-safe-stringify: 2.1.1
+
+ ethereum-cryptography@2.2.1:
+ dependencies:
+ '@noble/curves': 1.4.2
+ '@noble/hashes': 1.4.0
+ '@scure/bip32': 1.4.0
+ '@scure/bip39': 1.3.0
+
+ eventemitter2@6.4.9: {}
+
+ eventemitter3@5.0.1: {}
+
+ events@3.3.0: {}
+
+ eventsource-parser@3.0.6: {}
+
+ expand-template@2.0.3: {}
+
+ extension-port-stream@3.0.0:
+ dependencies:
+ readable-stream: 3.6.2
+ webextension-polyfill: 0.10.0
+
+ eyes@0.1.8: {}
+
+ fast-deep-equal@3.1.3: {}
+
+ fast-redact@3.5.0: {}
+
+ fast-safe-stringify@2.1.1: {}
+
+ fast-stable-stringify@1.0.0: {}
+
+ fast-uri@3.1.0: {}
+
+ fastestsmallesttextencoderdecoder@1.0.22: {}
+
+ filter-obj@1.1.0: {}
+
+ find-up@4.1.0:
+ dependencies:
+ locate-path: 5.0.0
+ path-exists: 4.0.0
+
+ follow-redirects@1.15.11: {}
+
+ for-each@0.3.5:
+ dependencies:
+ is-callable: 1.2.7
+
+ form-data@4.0.4:
+ dependencies:
+ asynckit: 0.4.0
+ combined-stream: 1.0.8
+ es-set-tostringtag: 2.1.0
+ hasown: 2.0.2
+ mime-types: 2.1.35
+
+ fs-constants@1.0.0: {}
+
+ fsevents@2.3.3:
+ optional: true
+
+ function-bind@1.1.2: {}
+
+ generator-function@2.0.1: {}
+
+ get-caller-file@2.0.5: {}
+
+ get-east-asian-width@1.4.0: {}
+
+ get-intrinsic@1.3.0:
+ 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
+
+ get-proto@1.0.1:
+ dependencies:
+ dunder-proto: 1.0.1
+ es-object-atoms: 1.1.1
+
+ get-tsconfig@4.13.0:
+ dependencies:
+ resolve-pkg-maps: 1.0.0
+
+ github-from-package@0.0.0: {}
+
+ gopd@1.2.0: {}
+
+ h3@1.15.4:
+ 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.3
+ radix3: 1.1.2
+ ufo: 1.6.1
+ uncrypto: 0.1.3
+
+ has-property-descriptors@1.0.2:
+ dependencies:
+ es-define-property: 1.0.1
+
+ has-symbols@1.1.0: {}
+
+ has-tostringtag@1.0.2:
+ dependencies:
+ has-symbols: 1.1.0
+
+ hasown@2.0.2:
+ dependencies:
+ function-bind: 1.1.2
+
+ hono@4.10.4: {}
+
+ humanize-ms@1.2.1:
+ dependencies:
+ ms: 2.1.3
+
+ idb-keyval@6.2.1: {}
+
+ idb-keyval@6.2.2: {}
+
+ ieee754@1.2.1: {}
+
+ indent-string@5.0.0: {}
+
+ inherits@2.0.4: {}
+
+ ini@1.3.8: {}
+
+ ink@6.4.0(@types/react@19.2.2)(bufferutil@4.0.9)(react@19.2.0)(utf-8-validate@5.0.10):
+ dependencies:
+ '@alcalzone/ansi-tokenize': 0.2.2
+ ansi-escapes: 7.2.0
+ ansi-styles: 6.2.3
+ auto-bind: 5.0.1
+ chalk: 5.6.2
+ cli-boxes: 3.0.0
+ cli-cursor: 4.0.0
+ cli-truncate: 4.0.0
+ code-excerpt: 4.0.0
+ es-toolkit: 1.41.0
+ indent-string: 5.0.0
+ is-in-ci: 2.0.0
+ patch-console: 2.0.0
+ react: 19.2.0
+ react-reconciler: 0.32.0(react@19.2.0)
+ signal-exit: 3.0.7
+ slice-ansi: 7.1.2
+ stack-utils: 2.0.6
+ string-width: 7.2.0
+ type-fest: 4.41.0
+ widest-line: 5.0.0
+ wrap-ansi: 9.0.2
+ ws: 8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10)
+ yoga-layout: 3.2.1
+ optionalDependencies:
+ '@types/react': 19.2.2
+ transitivePeerDependencies:
+ - bufferutil
+ - utf-8-validate
+
+ iron-webcrypto@1.2.1: {}
+
+ is-arguments@1.2.0:
+ dependencies:
+ call-bound: 1.0.4
+ has-tostringtag: 1.0.2
+
+ is-buffer@1.1.6: {}
+
+ is-callable@1.2.7: {}
+
+ is-docker@3.0.0: {}
+
+ is-fullwidth-code-point@3.0.0: {}
+
+ is-fullwidth-code-point@4.0.0: {}
+
+ is-fullwidth-code-point@5.1.0:
+ dependencies:
+ get-east-asian-width: 1.4.0
+
+ is-generator-function@1.1.2:
+ dependencies:
+ call-bound: 1.0.4
+ generator-function: 2.0.1
+ get-proto: 1.0.1
+ has-tostringtag: 1.0.2
+ safe-regex-test: 1.1.0
+
+ is-in-ci@2.0.0: {}
+
+ is-inside-container@1.0.0:
+ dependencies:
+ is-docker: 3.0.0
+
+ is-interactive@2.0.0: {}
+
+ is-regex@1.2.1:
+ dependencies:
+ call-bound: 1.0.4
+ gopd: 1.2.0
+ has-tostringtag: 1.0.2
+ hasown: 2.0.2
+
+ is-retry-allowed@2.2.0: {}
+
+ is-stream@2.0.1: {}
+
+ is-typed-array@1.1.15:
+ dependencies:
+ which-typed-array: 1.1.19
+
+ is-unicode-supported@2.1.0: {}
+
+ is-wsl@3.1.0:
+ dependencies:
+ is-inside-container: 1.0.0
+
+ isarray@1.0.0: {}
+
+ isarray@2.0.5: {}
+
+ isomorphic-ws@4.0.1(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10)):
+ dependencies:
+ ws: 7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10)
+
+ isows@1.0.6(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)):
+ dependencies:
+ ws: 8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)
+
+ isows@1.0.7(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10)):
+ dependencies:
+ ws: 8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10)
+
+ jayson@4.2.0(bufferutil@4.0.9)(utf-8-validate@5.0.10):
+ dependencies:
+ '@types/connect': 3.4.38
+ '@types/node': 12.20.55
+ '@types/ws': 7.4.7
+ commander: 2.20.3
+ delay: 5.0.0
+ es6-promisify: 5.0.0
+ eyes: 0.1.8
+ isomorphic-ws: 4.0.1(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10))
+ json-stringify-safe: 5.0.1
+ stream-json: 1.9.1
+ uuid: 8.3.2
+ ws: 7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10)
+ transitivePeerDependencies:
+ - bufferutil
+ - utf-8-validate
+
+ jose@6.1.0: {}
+
+ json-rpc-engine@6.1.0:
+ dependencies:
+ '@metamask/safe-event-emitter': 2.0.0
+ eth-rpc-errors: 4.0.3
+
+ json-rpc-random-id@1.0.1: {}
+
+ json-schema-traverse@1.0.0: {}
+
+ json-schema-typed@8.0.1: {}
+
+ json-schema@0.4.0: {}
+
+ json-stringify-safe@5.0.1: {}
+
+ jwt-decode@4.0.0: {}
+
+ keccak@3.0.4:
+ dependencies:
+ node-addon-api: 2.0.2
+ node-gyp-build: 4.8.4
+ readable-stream: 3.6.2
+
+ keytar@7.9.0:
+ dependencies:
+ node-addon-api: 4.3.0
+ prebuild-install: 7.1.3
+
+ keyvaluestorage-interface@1.0.0: {}
+
+ lit-element@4.2.1:
+ dependencies:
+ '@lit-labs/ssr-dom-shim': 1.4.0
+ '@lit/reactive-element': 2.1.1
+ lit-html: 3.3.1
+
+ lit-html@3.3.1:
+ dependencies:
+ '@types/trusted-types': 2.0.7
+
+ lit@3.3.0:
+ dependencies:
+ '@lit/reactive-element': 2.1.1
+ lit-element: 4.2.1
+ lit-html: 3.3.1
+
+ locate-path@5.0.0:
+ dependencies:
+ p-locate: 4.1.0
+
+ lodash@4.17.21: {}
+
+ log-symbols@7.0.1:
+ dependencies:
+ is-unicode-supported: 2.1.0
+ yoctocolors: 2.1.2
+
+ lru-cache@10.4.3: {}
+
+ math-intrinsics@1.1.0: {}
+
+ md5@2.3.0:
+ dependencies:
+ charenc: 0.0.2
+ crypt: 0.0.2
+ is-buffer: 1.1.6
+
+ micro-ftch@0.3.1: {}
+
+ mime-db@1.52.0: {}
+
+ mime-types@2.1.35:
+ dependencies:
+ mime-db: 1.52.0
+
+ mimic-fn@2.1.0: {}
+
+ mimic-function@5.0.1: {}
+
+ mimic-response@3.1.0: {}
+
+ minimist@1.2.8: {}
+
+ mipd@0.0.7(typescript@5.9.3):
+ optionalDependencies:
+ typescript: 5.9.3
+
+ mkdirp-classic@0.5.3: {}
+
+ ms@2.1.2: {}
+
+ ms@2.1.3: {}
+
+ multiformats@9.9.0: {}
+
+ napi-build-utils@2.0.0: {}
+
+ node-abi@3.80.0:
+ dependencies:
+ semver: 7.7.3
+
+ node-addon-api@2.0.2: {}
+
+ node-addon-api@4.3.0: {}
+
+ node-fetch-native@1.6.7: {}
+
+ node-fetch@2.7.0:
+ dependencies:
+ whatwg-url: 5.0.0
+
+ node-gyp-build@4.8.4: {}
+
+ node-mock-http@1.0.3: {}
+
+ normalize-path@3.0.0: {}
+
+ obj-multiplex@1.0.0:
+ dependencies:
+ end-of-stream: 1.4.5
+ once: 1.4.0
+ readable-stream: 2.3.8
+
+ ofetch@1.5.1:
+ dependencies:
+ destr: 2.0.5
+ node-fetch-native: 1.6.7
+ ufo: 1.6.1
+
+ oidc-client-ts@3.3.0:
+ dependencies:
+ jwt-decode: 4.0.0
+
+ on-exit-leak-free@0.2.0: {}
+
+ on-exit-leak-free@2.1.2: {}
+
+ once@1.4.0:
+ dependencies:
+ wrappy: 1.0.2
+
+ onetime@5.1.2:
+ dependencies:
+ mimic-fn: 2.1.0
+
+ onetime@7.0.0:
+ dependencies:
+ mimic-function: 5.0.1
+
+ open@10.2.0:
+ dependencies:
+ default-browser: 5.2.1
+ define-lazy-prop: 3.0.0
+ is-inside-container: 1.0.0
+ wsl-utils: 0.1.0
+
+ openapi-fetch@0.13.8:
+ dependencies:
+ openapi-typescript-helpers: 0.0.15
+
+ openapi-typescript-helpers@0.0.15: {}
+
+ ora@9.0.0:
+ dependencies:
+ chalk: 5.6.2
+ cli-cursor: 5.0.0
+ cli-spinners: 3.3.0
+ is-interactive: 2.0.0
+ is-unicode-supported: 2.1.0
+ log-symbols: 7.0.1
+ stdin-discarder: 0.2.2
+ string-width: 8.1.0
+ strip-ansi: 7.1.2
+
+ ox@0.6.7(typescript@5.9.3)(zod@3.25.76):
+ dependencies:
+ '@adraffy/ens-normalize': 1.11.1
+ '@noble/curves': 1.9.7
+ '@noble/hashes': 1.8.0
+ '@scure/bip32': 1.7.0
+ '@scure/bip39': 1.6.0
+ abitype: 1.1.1(typescript@5.9.3)(zod@3.25.76)
+ eventemitter3: 5.0.1
+ optionalDependencies:
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - zod
+
+ ox@0.6.9(typescript@5.9.3)(zod@3.25.76):
+ dependencies:
+ '@adraffy/ens-normalize': 1.11.1
+ '@noble/curves': 1.9.7
+ '@noble/hashes': 1.8.0
+ '@scure/bip32': 1.7.0
+ '@scure/bip39': 1.6.0
+ abitype: 1.1.1(typescript@5.9.3)(zod@3.25.76)
+ eventemitter3: 5.0.1
+ optionalDependencies:
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - zod
+
+ ox@0.9.3(typescript@5.9.3)(zod@4.1.12):
+ dependencies:
+ '@adraffy/ens-normalize': 1.11.1
+ '@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.1.1(typescript@5.9.3)(zod@4.1.12)
+ eventemitter3: 5.0.1
+ optionalDependencies:
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - zod
+
+ ox@0.9.6(typescript@5.9.3)(zod@3.22.4):
+ dependencies:
+ '@adraffy/ens-normalize': 1.11.1
+ '@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.1.0(typescript@5.9.3)(zod@3.22.4)
+ eventemitter3: 5.0.1
+ optionalDependencies:
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - zod
+
+ ox@0.9.6(typescript@5.9.3)(zod@3.25.76):
+ dependencies:
+ '@adraffy/ens-normalize': 1.11.1
+ '@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.1.0(typescript@5.9.3)(zod@3.25.76)
+ eventemitter3: 5.0.1
+ optionalDependencies:
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - zod
+
+ ox@0.9.6(typescript@5.9.3)(zod@4.1.12):
+ dependencies:
+ '@adraffy/ens-normalize': 1.11.1
+ '@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.1.0(typescript@5.9.3)(zod@4.1.12)
+ eventemitter3: 5.0.1
+ optionalDependencies:
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - zod
+
+ p-limit@2.3.0:
+ dependencies:
+ p-try: 2.2.0
+
+ p-locate@4.1.0:
+ dependencies:
+ p-limit: 2.3.0
+
+ p-try@2.2.0: {}
+
+ patch-console@2.0.0: {}
+
+ path-exists@4.0.0: {}
+
+ picocolors@1.1.1: {}
+
+ picomatch@2.3.1: {}
+
+ pify@3.0.0: {}
+
+ pify@5.0.0: {}
+
+ pino-abstract-transport@0.5.0:
+ dependencies:
+ duplexify: 4.1.3
+ split2: 4.2.0
+
+ pino-abstract-transport@2.0.0:
+ dependencies:
+ split2: 4.2.0
+
+ pino-std-serializers@4.0.0: {}
+
+ pino-std-serializers@7.0.0: {}
+
+ pino@10.0.0:
+ dependencies:
+ atomic-sleep: 1.0.0
+ on-exit-leak-free: 2.1.2
+ pino-abstract-transport: 2.0.0
+ pino-std-serializers: 7.0.0
+ process-warning: 5.0.0
+ quick-format-unescaped: 4.0.4
+ real-require: 0.2.0
+ safe-stable-stringify: 2.5.0
+ slow-redact: 0.3.2
+ sonic-boom: 4.2.0
+ thread-stream: 3.1.0
+
+ pino@10.1.0:
+ dependencies:
+ '@pinojs/redact': 0.4.0
+ atomic-sleep: 1.0.0
+ on-exit-leak-free: 2.1.2
+ pino-abstract-transport: 2.0.0
+ pino-std-serializers: 7.0.0
+ process-warning: 5.0.0
+ quick-format-unescaped: 4.0.4
+ real-require: 0.2.0
+ safe-stable-stringify: 2.5.0
+ sonic-boom: 4.2.0
+ thread-stream: 3.1.0
+
+ pino@7.11.0:
+ dependencies:
+ atomic-sleep: 1.0.0
+ fast-redact: 3.5.0
+ on-exit-leak-free: 0.2.0
+ pino-abstract-transport: 0.5.0
+ pino-std-serializers: 4.0.0
+ process-warning: 1.0.0
+ quick-format-unescaped: 4.0.4
+ real-require: 0.1.0
+ safe-stable-stringify: 2.5.0
+ sonic-boom: 2.8.0
+ thread-stream: 0.15.2
+
+ pngjs@5.0.0: {}
+
+ pony-cause@2.1.11: {}
+
+ porto@0.2.35(@tanstack/react-query@5.90.7(react@19.2.0))(@types/react@19.2.2)(@wagmi/core@2.22.1(@tanstack/query-core@5.90.7)(@types/react@19.2.2)(react@19.2.0)(typescript@5.9.3)(use-sync-external-store@1.4.0(react@19.2.0))(viem@2.38.6(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)))(react@19.2.0)(typescript@5.9.3)(use-sync-external-store@1.4.0(react@19.2.0))(viem@2.38.6(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12))(wagmi@2.19.2(@tanstack/query-core@5.90.7)(@tanstack/react-query@5.90.7(react@19.2.0))(@types/react@19.2.2)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(viem@2.38.6(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12))(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.25.76)):
+ dependencies:
+ '@wagmi/core': 2.22.1(@tanstack/query-core@5.90.7)(@types/react@19.2.2)(react@19.2.0)(typescript@5.9.3)(use-sync-external-store@1.4.0(react@19.2.0))(viem@2.38.6(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12))
+ hono: 4.10.4
+ idb-keyval: 6.2.2
+ mipd: 0.0.7(typescript@5.9.3)
+ ox: 0.9.6(typescript@5.9.3)(zod@4.1.12)
+ viem: 2.38.6(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)
+ zod: 4.1.12
+ zustand: 5.0.8(@types/react@19.2.2)(react@19.2.0)(use-sync-external-store@1.4.0(react@19.2.0))
+ optionalDependencies:
+ '@tanstack/react-query': 5.90.7(react@19.2.0)
+ react: 19.2.0
+ typescript: 5.9.3
+ wagmi: 2.19.2(@tanstack/query-core@5.90.7)(@tanstack/react-query@5.90.7(react@19.2.0))(@types/react@19.2.2)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(viem@2.38.6(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12))(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@4.1.12)
+ transitivePeerDependencies:
+ - '@types/react'
+ - immer
+ - use-sync-external-store
+
+ possible-typed-array-names@1.1.0: {}
+
+ preact@10.24.2: {}
+
+ preact@10.27.2: {}
+
+ prebuild-install@7.1.3:
+ dependencies:
+ detect-libc: 2.1.2
+ expand-template: 2.0.3
+ github-from-package: 0.0.0
+ minimist: 1.2.8
+ mkdirp-classic: 0.5.3
+ napi-build-utils: 2.0.0
+ node-abi: 3.80.0
+ pump: 3.0.3
+ rc: 1.2.8
+ simple-get: 4.0.1
+ tar-fs: 2.1.4
+ tunnel-agent: 0.6.0
+
+ process-nextick-args@2.0.1: {}
+
+ process-warning@1.0.0: {}
+
+ process-warning@5.0.0: {}
+
+ proxy-compare@2.6.0: {}
+
+ proxy-compare@3.0.1: {}
+
+ proxy-from-env@1.1.0: {}
+
+ pump@3.0.3:
+ dependencies:
+ end-of-stream: 1.4.5
+ once: 1.4.0
+
+ qrcode-terminal@0.12.0: {}
+
+ qrcode@1.5.3:
+ dependencies:
+ dijkstrajs: 1.0.3
+ encode-utf8: 1.0.3
+ pngjs: 5.0.0
+ yargs: 15.4.1
+
+ query-string@7.1.3:
+ dependencies:
+ decode-uri-component: 0.2.2
+ filter-obj: 1.1.0
+ split-on-first: 1.1.0
+ strict-uri-encode: 2.0.0
+
+ quick-format-unescaped@4.0.4: {}
+
+ radix3@1.1.2: {}
+
+ rc@1.2.8:
+ dependencies:
+ deep-extend: 0.6.0
+ ini: 1.3.8
+ minimist: 1.2.8
+ strip-json-comments: 2.0.1
+
+ react-dom@19.2.0(react@19.2.0):
+ dependencies:
+ react: 19.2.0
+ scheduler: 0.27.0
+
+ react-oidc-context@3.3.0(oidc-client-ts@3.3.0)(react@19.2.0):
+ dependencies:
+ oidc-client-ts: 3.3.0
+ react: 19.2.0
+
+ react-reconciler@0.32.0(react@19.2.0):
+ dependencies:
+ react: 19.2.0
+ scheduler: 0.26.0
+
+ react@19.2.0: {}
+
+ readable-stream@2.3.8:
+ dependencies:
+ core-util-is: 1.0.3
+ inherits: 2.0.4
+ isarray: 1.0.0
+ process-nextick-args: 2.0.1
+ safe-buffer: 5.1.2
+ string_decoder: 1.1.1
+ util-deprecate: 1.0.2
+
+ readable-stream@3.6.2:
+ dependencies:
+ inherits: 2.0.4
+ string_decoder: 1.3.0
+ util-deprecate: 1.0.2
+
+ readdirp@4.1.2: {}
+
+ real-require@0.1.0: {}
+
+ real-require@0.2.0: {}
+
+ require-directory@2.1.1: {}
+
+ require-from-string@2.0.2: {}
+
+ require-main-filename@2.0.0: {}
+
+ resolve-pkg-maps@1.0.0: {}
+
+ restore-cursor@4.0.0:
+ dependencies:
+ onetime: 5.1.2
+ signal-exit: 3.0.7
+
+ restore-cursor@5.1.0:
+ dependencies:
+ onetime: 7.0.0
+ signal-exit: 4.1.0
+
+ rpc-websockets@9.3.1:
+ dependencies:
+ '@swc/helpers': 0.5.17
+ '@types/uuid': 8.3.4
+ '@types/ws': 8.18.1
+ buffer: 6.0.3
+ eventemitter3: 5.0.1
+ uuid: 8.3.2
+ ws: 8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10)
+ optionalDependencies:
+ bufferutil: 4.0.9
+ utf-8-validate: 5.0.10
+
+ run-applescript@7.1.0: {}
+
+ safe-buffer@5.1.2: {}
+
+ safe-buffer@5.2.1: {}
+
+ safe-regex-test@1.1.0:
+ dependencies:
+ call-bound: 1.0.4
+ es-errors: 1.3.0
+ is-regex: 1.2.1
+
+ safe-stable-stringify@2.5.0: {}
+
+ scheduler@0.26.0: {}
+
+ scheduler@0.27.0: {}
+
+ semver@7.7.2: {}
+
+ semver@7.7.3: {}
+
+ set-blocking@2.0.0: {}
+
+ set-function-length@1.2.2:
+ dependencies:
+ define-data-property: 1.1.4
+ es-errors: 1.3.0
+ function-bind: 1.1.2
+ get-intrinsic: 1.3.0
+ gopd: 1.2.0
+ has-property-descriptors: 1.0.2
+
+ sha.js@2.4.12:
+ dependencies:
+ inherits: 2.0.4
+ safe-buffer: 5.2.1
+ to-buffer: 1.2.2
+
+ signal-exit@3.0.7: {}
+
+ signal-exit@4.1.0: {}
+
+ simple-concat@1.0.1: {}
+
+ simple-get@4.0.1:
+ dependencies:
+ decompress-response: 6.0.0
+ once: 1.4.0
+ simple-concat: 1.0.1
+
+ sisteransi@1.0.5: {}
+
+ slice-ansi@5.0.0:
+ dependencies:
+ ansi-styles: 6.2.3
+ is-fullwidth-code-point: 4.0.0
+
+ slice-ansi@7.1.2:
+ dependencies:
+ ansi-styles: 6.2.3
+ is-fullwidth-code-point: 5.1.0
+
+ slow-redact@0.3.2: {}
+
+ socket.io-client@4.8.1(bufferutil@4.0.9)(utf-8-validate@5.0.10):
+ dependencies:
+ '@socket.io/component-emitter': 3.1.2
+ debug: 4.3.4
+ engine.io-client: 6.6.3(bufferutil@4.0.9)(utf-8-validate@5.0.10)
+ socket.io-parser: 4.2.4
+ transitivePeerDependencies:
+ - bufferutil
+ - supports-color
+ - utf-8-validate
+
+ socket.io-parser@4.2.4:
+ dependencies:
+ '@socket.io/component-emitter': 3.1.2
+ debug: 4.3.4
+ transitivePeerDependencies:
+ - supports-color
+
+ sonic-boom@2.8.0:
+ dependencies:
+ atomic-sleep: 1.0.0
+
+ sonic-boom@4.2.0:
+ dependencies:
+ atomic-sleep: 1.0.0
+
+ split-on-first@1.1.0: {}
+
+ split2@4.2.0: {}
+
+ stack-utils@2.0.6:
+ dependencies:
+ escape-string-regexp: 2.0.0
+
+ stdin-discarder@0.2.2: {}
+
+ stream-chain@2.2.5: {}
+
+ stream-json@1.9.1:
+ dependencies:
+ stream-chain: 2.2.5
+
+ stream-shift@1.0.3: {}
+
+ strict-uri-encode@2.0.0: {}
+
+ string-width@4.2.3:
+ dependencies:
+ emoji-regex: 8.0.0
+ is-fullwidth-code-point: 3.0.0
+ strip-ansi: 6.0.1
+
+ string-width@7.2.0:
+ dependencies:
+ emoji-regex: 10.6.0
+ get-east-asian-width: 1.4.0
+ strip-ansi: 7.1.2
+
+ string-width@8.1.0:
+ dependencies:
+ get-east-asian-width: 1.4.0
+ strip-ansi: 7.1.2
+
+ string_decoder@1.1.1:
+ dependencies:
+ safe-buffer: 5.1.2
+
+ string_decoder@1.3.0:
+ dependencies:
+ safe-buffer: 5.2.1
+
+ strip-ansi@6.0.1:
+ dependencies:
+ ansi-regex: 5.0.1
+
+ strip-ansi@7.1.2:
+ dependencies:
+ ansi-regex: 6.2.2
+
+ strip-json-comments@2.0.1: {}
+
+ stubborn-fs@2.0.0:
+ dependencies:
+ stubborn-utils: 1.0.2
+
+ stubborn-utils@1.0.2: {}
+
+ superstruct@1.0.4: {}
+
+ superstruct@2.0.2: {}
+
+ swr@2.3.6(react@19.2.0):
+ dependencies:
+ dequal: 2.0.3
+ react: 19.2.0
+ use-sync-external-store: 1.4.0(react@19.2.0)
+
+ tagged-tag@1.0.0: {}
+
+ tar-fs@2.1.4:
+ dependencies:
+ chownr: 1.1.4
+ mkdirp-classic: 0.5.3
+ pump: 3.0.3
+ tar-stream: 2.2.0
+
+ tar-stream@2.2.0:
+ dependencies:
+ bl: 4.1.0
+ end-of-stream: 1.4.5
+ fs-constants: 1.0.0
+ inherits: 2.0.4
+ readable-stream: 3.6.2
+
+ text-encoding-utf-8@1.0.2: {}
+
+ thread-stream@0.15.2:
+ dependencies:
+ real-require: 0.1.0
+
+ thread-stream@3.1.0:
+ dependencies:
+ real-require: 0.2.0
+
+ throttleit@2.1.0: {}
+
+ to-buffer@1.2.2:
+ dependencies:
+ isarray: 2.0.5
+ safe-buffer: 5.2.1
+ typed-array-buffer: 1.0.3
+
+ tr46@0.0.3: {}
+
+ tslib@1.14.1: {}
+
+ tslib@2.8.1: {}
+
+ tsx@4.20.6:
+ dependencies:
+ esbuild: 0.25.12
+ get-tsconfig: 4.13.0
+ optionalDependencies:
+ fsevents: 2.3.3
+
+ tunnel-agent@0.6.0:
+ dependencies:
+ safe-buffer: 5.2.1
+
+ type-fest@4.41.0: {}
+
+ type-fest@5.2.0:
+ dependencies:
+ tagged-tag: 1.0.0
+
+ typed-array-buffer@1.0.3:
+ dependencies:
+ call-bound: 1.0.4
+ es-errors: 1.3.0
+ is-typed-array: 1.1.15
+
+ typescript@5.9.3: {}
+
+ ufo@1.6.1: {}
+
+ uint8array-extras@1.5.0: {}
+
+ uint8arrays@3.1.0:
+ dependencies:
+ multiformats: 9.9.0
+
+ uint8arrays@3.1.1:
+ dependencies:
+ multiformats: 9.9.0
+
+ uncrypto@0.1.3: {}
+
+ undici-types@6.21.0: {}
+
+ undici-types@7.16.0: {}
+
+ unstorage@1.17.2(idb-keyval@6.2.2):
+ dependencies:
+ anymatch: 3.1.3
+ chokidar: 4.0.3
+ destr: 2.0.5
+ h3: 1.15.4
+ lru-cache: 10.4.3
+ node-fetch-native: 1.6.7
+ ofetch: 1.5.1
+ ufo: 1.6.1
+ optionalDependencies:
+ idb-keyval: 6.2.2
+
+ use-sync-external-store@1.2.0(react@19.2.0):
+ dependencies:
+ react: 19.2.0
+
+ use-sync-external-store@1.4.0(react@19.2.0):
+ dependencies:
+ react: 19.2.0
+
+ utf-8-validate@5.0.10:
+ dependencies:
+ node-gyp-build: 4.8.4
+
+ util-deprecate@1.0.2: {}
+
+ util@0.12.5:
+ dependencies:
+ inherits: 2.0.4
+ is-arguments: 1.2.0
+ is-generator-function: 1.1.2
+ is-typed-array: 1.1.15
+ which-typed-array: 1.1.19
+
+ uuid@8.3.2: {}
+
+ uuid@9.0.1: {}
+
+ valtio@1.13.2(@types/react@19.2.2)(react@19.2.0):
+ dependencies:
+ derive-valtio: 0.1.0(valtio@1.13.2(@types/react@19.2.2)(react@19.2.0))
+ proxy-compare: 2.6.0
+ use-sync-external-store: 1.2.0(react@19.2.0)
+ optionalDependencies:
+ '@types/react': 19.2.2
+ react: 19.2.0
+
+ valtio@2.1.7(@types/react@19.2.2)(react@19.2.0):
+ dependencies:
+ proxy-compare: 3.0.1
+ optionalDependencies:
+ '@types/react': 19.2.2
+ react: 19.2.0
+
+ viem@2.23.2(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76):
+ 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(typescript@5.9.3)(zod@3.25.76)
+ isows: 1.0.6(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))
+ ox: 0.6.7(typescript@5.9.3)(zod@3.25.76)
+ ws: 8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)
+ optionalDependencies:
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - bufferutil
+ - utf-8-validate
+ - zod
+
+ viem@2.38.6(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.22.4):
+ dependencies:
+ '@noble/curves': 1.9.1
+ '@noble/hashes': 1.8.0
+ '@scure/bip32': 1.7.0
+ '@scure/bip39': 1.6.0
+ abitype: 1.1.0(typescript@5.9.3)(zod@3.22.4)
+ isows: 1.0.7(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))
+ ox: 0.9.6(typescript@5.9.3)(zod@3.22.4)
+ ws: 8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10)
+ optionalDependencies:
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - bufferutil
+ - utf-8-validate
+ - zod
+
+ viem@2.38.6(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76):
+ dependencies:
+ '@noble/curves': 1.9.1
+ '@noble/hashes': 1.8.0
+ '@scure/bip32': 1.7.0
+ '@scure/bip39': 1.6.0
+ abitype: 1.1.0(typescript@5.9.3)(zod@3.25.76)
+ isows: 1.0.7(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))
+ ox: 0.9.6(typescript@5.9.3)(zod@3.25.76)
+ ws: 8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10)
+ optionalDependencies:
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - bufferutil
+ - utf-8-validate
+ - zod
+
+ viem@2.38.6(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12):
+ dependencies:
+ '@noble/curves': 1.9.1
+ '@noble/hashes': 1.8.0
+ '@scure/bip32': 1.7.0
+ '@scure/bip39': 1.6.0
+ abitype: 1.1.0(typescript@5.9.3)(zod@4.1.12)
+ isows: 1.0.7(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))
+ ox: 0.9.6(typescript@5.9.3)(zod@4.1.12)
+ ws: 8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10)
+ optionalDependencies:
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - bufferutil
+ - utf-8-validate
+ - zod
+
+ wagmi@2.19.2(@tanstack/query-core@5.90.7)(@tanstack/react-query@5.90.7(react@19.2.0))(@types/react@19.2.2)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(viem@2.38.6(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12))(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@4.1.12):
+ dependencies:
+ '@tanstack/react-query': 5.90.7(react@19.2.0)
+ '@wagmi/connectors': 6.1.3(@tanstack/react-query@5.90.7(react@19.2.0))(@types/react@19.2.2)(@wagmi/core@2.22.1(@tanstack/query-core@5.90.7)(@types/react@19.2.2)(react@19.2.0)(typescript@5.9.3)(use-sync-external-store@1.4.0(react@19.2.0))(viem@2.38.6(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(react@19.2.0)(typescript@5.9.3)(use-sync-external-store@1.4.0(react@19.2.0))(utf-8-validate@5.0.10)(viem@2.38.6(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12))(wagmi@2.19.2(@tanstack/query-core@5.90.7)(@tanstack/react-query@5.90.7(react@19.2.0))(@types/react@19.2.2)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(viem@2.38.6(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12))(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.25.76))(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.25.76)
+ '@wagmi/core': 2.22.1(@tanstack/query-core@5.90.7)(@types/react@19.2.2)(react@19.2.0)(typescript@5.9.3)(use-sync-external-store@1.4.0(react@19.2.0))(viem@2.38.6(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12))
+ react: 19.2.0
+ use-sync-external-store: 1.4.0(react@19.2.0)
+ viem: 2.38.6(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12)
+ optionalDependencies:
+ typescript: 5.9.3
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@deno/kv'
+ - '@netlify/blobs'
+ - '@planetscale/database'
+ - '@react-native-async-storage/async-storage'
+ - '@tanstack/query-core'
+ - '@types/react'
+ - '@upstash/redis'
+ - '@vercel/blob'
+ - '@vercel/functions'
+ - '@vercel/kv'
+ - aws4fetch
+ - bufferutil
+ - db0
+ - debug
+ - encoding
+ - expo-auth-session
+ - expo-crypto
+ - expo-web-browser
+ - fastestsmallesttextencoderdecoder
+ - immer
+ - ioredis
+ - react-native
+ - supports-color
+ - uploadthing
+ - utf-8-validate
+ - ws
+ - zod
+
+ webextension-polyfill@0.10.0: {}
+
+ webidl-conversions@3.0.1: {}
+
+ whatwg-url@5.0.0:
+ dependencies:
+ tr46: 0.0.3
+ webidl-conversions: 3.0.1
+
+ when-exit@2.1.5: {}
+
+ which-module@2.0.1: {}
+
+ which-typed-array@1.1.19:
+ 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
+
+ widest-line@5.0.0:
+ dependencies:
+ string-width: 7.2.0
+
+ wrap-ansi@6.2.0:
+ dependencies:
+ ansi-styles: 4.3.0
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+
+ wrap-ansi@9.0.2:
+ dependencies:
+ ansi-styles: 6.2.3
+ string-width: 7.2.0
+ strip-ansi: 7.1.2
+
+ wrappy@1.0.2: {}
+
+ ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10):
+ optionalDependencies:
+ bufferutil: 4.0.9
+ utf-8-validate: 5.0.10
+
+ ws@8.17.1(bufferutil@4.0.9)(utf-8-validate@5.0.10):
+ optionalDependencies:
+ bufferutil: 4.0.9
+ utf-8-validate: 5.0.10
+
+ ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10):
+ optionalDependencies:
+ bufferutil: 4.0.9
+ utf-8-validate: 5.0.10
+
+ ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10):
+ optionalDependencies:
+ bufferutil: 4.0.9
+ utf-8-validate: 5.0.10
+
+ wsl-utils@0.1.0:
+ dependencies:
+ is-wsl: 3.1.0
+
+ x402-fetch@0.6.6(@solana/sysvars@3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3))(@tanstack/query-core@5.90.7)(@tanstack/react-query@5.90.7(react@19.2.0))(@types/react@19.2.2)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10)):
+ dependencies:
+ viem: 2.38.6(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ x402: 0.6.6(@solana/sysvars@3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3))(@tanstack/query-core@5.90.7)(@tanstack/react-query@5.90.7(react@19.2.0))(@types/react@19.2.2)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))
+ zod: 3.25.76
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@deno/kv'
+ - '@netlify/blobs'
+ - '@planetscale/database'
+ - '@react-native-async-storage/async-storage'
+ - '@solana/sysvars'
+ - '@tanstack/query-core'
+ - '@tanstack/react-query'
+ - '@types/react'
+ - '@upstash/redis'
+ - '@vercel/blob'
+ - '@vercel/functions'
+ - '@vercel/kv'
+ - aws4fetch
+ - bufferutil
+ - db0
+ - debug
+ - encoding
+ - expo-auth-session
+ - expo-crypto
+ - expo-web-browser
+ - fastestsmallesttextencoderdecoder
+ - immer
+ - ioredis
+ - react
+ - react-native
+ - supports-color
+ - typescript
+ - uploadthing
+ - utf-8-validate
+ - ws
+
+ x402@0.6.6(@solana/sysvars@3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3))(@tanstack/query-core@5.90.7)(@tanstack/react-query@5.90.7(react@19.2.0))(@types/react@19.2.2)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10)):
+ dependencies:
+ '@scure/base': 1.2.6
+ '@solana-program/compute-budget': 0.8.0(@solana/kit@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10)))
+ '@solana-program/token': 0.5.1(@solana/kit@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10)))
+ '@solana-program/token-2022': 0.4.2(@solana/kit@2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10)))(@solana/sysvars@3.0.3(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3))
+ '@solana/kit': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))
+ '@solana/transaction-confirmation': 2.3.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.9.3)(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))
+ viem: 2.38.6(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@3.25.76)
+ wagmi: 2.19.2(@tanstack/query-core@5.90.7)(@tanstack/react-query@5.90.7(react@19.2.0))(@types/react@19.2.2)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(react@19.2.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(viem@2.38.6(bufferutil@4.0.9)(typescript@5.9.3)(utf-8-validate@5.0.10)(zod@4.1.12))(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@4.1.12)
+ zod: 3.25.76
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@deno/kv'
+ - '@netlify/blobs'
+ - '@planetscale/database'
+ - '@react-native-async-storage/async-storage'
+ - '@solana/sysvars'
+ - '@tanstack/query-core'
+ - '@tanstack/react-query'
+ - '@types/react'
+ - '@upstash/redis'
+ - '@vercel/blob'
+ - '@vercel/functions'
+ - '@vercel/kv'
+ - aws4fetch
+ - bufferutil
+ - db0
+ - debug
+ - encoding
+ - expo-auth-session
+ - expo-crypto
+ - expo-web-browser
+ - fastestsmallesttextencoderdecoder
+ - immer
+ - ioredis
+ - react
+ - react-native
+ - supports-color
+ - typescript
+ - uploadthing
+ - utf-8-validate
+ - ws
+
+ xmlhttprequest-ssl@2.1.2: {}
+
+ xtend@4.0.2: {}
+
+ y18n@4.0.3: {}
+
+ yargs-parser@18.1.3:
+ dependencies:
+ camelcase: 5.3.1
+ decamelize: 1.2.0
+
+ yargs@15.4.1:
+ dependencies:
+ cliui: 6.0.0
+ decamelize: 1.2.0
+ find-up: 4.1.0
+ get-caller-file: 2.0.5
+ require-directory: 2.1.1
+ require-main-filename: 2.0.0
+ set-blocking: 2.0.0
+ string-width: 4.2.3
+ which-module: 2.0.1
+ y18n: 4.0.3
+ yargs-parser: 18.1.3
+
+ yoctocolors@2.1.2: {}
+
+ yoga-layout@3.2.1: {}
+
+ zod-to-json-schema@3.24.6(zod@4.1.12):
+ dependencies:
+ zod: 4.1.12
+
+ zod@3.22.4: {}
+
+ zod@3.25.76: {}
+
+ zod@4.1.12: {}
+
+ zustand@5.0.0(@types/react@19.2.2)(react@19.2.0)(use-sync-external-store@1.4.0(react@19.2.0)):
+ optionalDependencies:
+ '@types/react': 19.2.2
+ react: 19.2.0
+ use-sync-external-store: 1.4.0(react@19.2.0)
+
+ zustand@5.0.3(@types/react@19.2.2)(react@19.2.0)(use-sync-external-store@1.4.0(react@19.2.0)):
+ optionalDependencies:
+ '@types/react': 19.2.2
+ react: 19.2.0
+ use-sync-external-store: 1.4.0(react@19.2.0)
+
+ zustand@5.0.8(@types/react@19.2.2)(react@19.2.0)(use-sync-external-store@1.4.0(react@19.2.0)):
+ optionalDependencies:
+ '@types/react': 19.2.2
+ react: 19.2.0
+ use-sync-external-store: 1.4.0(react@19.2.0)
diff --git a/templates/echo-cli/pnpm-workspace.yaml b/templates/echo-cli/pnpm-workspace.yaml
new file mode 100644
index 000000000..020f7545e
--- /dev/null
+++ b/templates/echo-cli/pnpm-workspace.yaml
@@ -0,0 +1,7 @@
+onlyBuiltDependencies:
+ - '@reown/appkit'
+ - bufferutil
+ - esbuild
+ - keccak
+ - keytar
+ - utf-8-validate
diff --git a/templates/echo-cli/src/auth/client.ts b/templates/echo-cli/src/auth/client.ts
new file mode 100644
index 000000000..cd114b961
--- /dev/null
+++ b/templates/echo-cli/src/auth/client.ts
@@ -0,0 +1,22 @@
+import { EchoClient } from '@merit-systems/echo-typescript-sdk'
+import { storage } from '@/config'
+
+let echoClientInstance: EchoClient | null = null
+
+export async function getEchoClient(): Promise {
+ const apiKey = await storage.getApiKey()
+
+ if (!apiKey) {
+ return null
+ }
+
+ if (!echoClientInstance) {
+ echoClientInstance = new EchoClient({ apiKey })
+ }
+
+ return echoClientInstance
+}
+
+export function clearEchoClient(): void {
+ echoClientInstance = null
+}
diff --git a/templates/echo-cli/src/auth/index.ts b/templates/echo-cli/src/auth/index.ts
new file mode 100644
index 000000000..061285b1d
--- /dev/null
+++ b/templates/echo-cli/src/auth/index.ts
@@ -0,0 +1,6 @@
+export { loginWithEcho } from './login'
+export { logout } from './logout'
+export { getEchoClient, clearEchoClient } from './client'
+export { loginWithWallet, getEthereumProvider, clearEthereumProvider } from './wallet'
+export { initLocalWallet } from './local-wallet'
+export { getAIProvider } from './providers'
diff --git a/templates/echo-cli/src/auth/local-wallet.ts b/templates/echo-cli/src/auth/local-wallet.ts
new file mode 100644
index 000000000..efc94c2a9
--- /dev/null
+++ b/templates/echo-cli/src/auth/local-wallet.ts
@@ -0,0 +1,112 @@
+import { select, isCancel } from '@clack/prompts'
+import { storage } from '@/config'
+import { CHAIN_OPTIONS } from '@/config/wallet'
+import { clearEchoClient } from './client'
+import { info, warning, success, header } from '@/print'
+import {
+ generateWallet,
+ generateQRCodeForAddress,
+ getUSDCBalance,
+ formatAddress,
+ getChainName,
+ displayAppError,
+ createError,
+ ErrorCode
+} from '@/utils'
+
+export async function initLocalWallet(): Promise {
+ try {
+ header('Local Wallet Setup')
+ info('Creating a new self-custodied wallet...')
+
+ // Prompt user to select chain
+ const chainId = await select({
+ message: 'Select blockchain network:',
+ options: CHAIN_OPTIONS
+ })
+
+ if (isCancel(chainId)) {
+ warning('\nWallet setup cancelled')
+ return false
+ }
+
+ if (typeof chainId !== 'number') {
+ warning('Wallet setup cancelled')
+ return false
+ }
+
+ // Generate new wallet
+ const wallet = generateWallet()
+
+ // Store private key securely
+ await storage.setLocalWalletPrivateKey(wallet.privateKey)
+
+ // Store session data
+ await storage.setLocalWalletSession({
+ address: wallet.address,
+ chainId,
+ createdAt: new Date().toISOString()
+ })
+
+ // Set auth method
+ await storage.setAuthMethod('local-wallet')
+ clearEchoClient()
+
+ // Display wallet information
+ success('\n✓ Local wallet created successfully!')
+ info(`\nWallet Address: ${wallet.address}`)
+ info(`Short Address: ${formatAddress(wallet.address)}`)
+ info(`Network: ${getChainName(chainId)} (${chainId})`)
+
+ warning('\n⚠️ IMPORTANT: You are responsible for your private key!')
+ warning('⚠️ Your key is stored securely in your OS keychain.')
+ warning('⚠️ Use "echodex export-private-key" to backup your key.')
+
+ // Display QR code for funding
+ info('\n📱 Scan this QR code to send USDC to your wallet:\n')
+ generateQRCodeForAddress(wallet.address)
+
+ // Start balance polling
+ info('\n💰 Waiting for USDC deposit...')
+ info(' (You can press Ctrl+C to cancel and continue later)\n')
+
+ let cancelled = false
+ const handleCancel = () => {
+ cancelled = true
+ info('\n\n✓ Wallet setup complete!')
+ info(' Fund your wallet later using: echodex fund-wallet')
+ process.exit(0)
+ }
+
+ process.on('SIGINT', handleCancel)
+
+ try {
+ // Poll for balance
+ while (!cancelled) {
+ const balance = await getUSDCBalance(wallet.address, chainId)
+ const balanceNum = parseFloat(balance)
+
+ if (balanceNum > 0) {
+ success(`\n✓ Received ${balance} USDC!`)
+ success('✓ Your wallet is ready to use!')
+ break
+ }
+
+ // Wait 3 seconds before next check
+ await new Promise(resolve => setTimeout(resolve, 3000))
+ }
+ } finally {
+ process.off('SIGINT', handleCancel)
+ }
+
+ return true
+ } catch (err) {
+ displayAppError(createError({
+ code: ErrorCode.AUTHENTICATION_FAILED,
+ message: 'Local wallet setup failed',
+ originalError: err
+ }))
+ return false
+ }
+}
+
diff --git a/templates/echo-cli/src/auth/login.ts b/templates/echo-cli/src/auth/login.ts
new file mode 100644
index 000000000..5b420e3f0
--- /dev/null
+++ b/templates/echo-cli/src/auth/login.ts
@@ -0,0 +1,59 @@
+import { text, isCancel } from '@clack/prompts'
+import open from 'open'
+import { EchoClient } from '@merit-systems/echo-typescript-sdk'
+import { storage } from '@/config'
+import { ECHO_KEYS_URL } from '@/constants'
+import { clearEchoClient } from './client'
+import { isValid, ApiKeySchema } from '@/validation'
+import { info, warning, success, error, header } from '@/print'
+import { displayAppError, createError, ErrorCode } from '@/utils'
+
+export async function loginWithEcho(): Promise {
+ try {
+ header('Echo API Authentication')
+ info('Opening Echo to create your API key...')
+ await open(ECHO_KEYS_URL)
+
+ const apiKey = await text({
+ message: 'Enter your API key:',
+ placeholder: 'echo_...',
+ validate: (value) => {
+ if (!value || typeof value !== 'string') {
+ return 'API key is required'
+ }
+ if (!isValid(ApiKeySchema, value)) {
+ return 'Invalid API key format (must start with echo_)'
+ }
+ }
+ })
+
+ if (isCancel(apiKey)) {
+ warning('\nLogin cancelled')
+ return false
+ }
+
+ if (typeof apiKey !== 'string') {
+ warning('Login cancelled')
+ return false
+ }
+
+ info('Verifying API key...')
+ const testClient = new EchoClient({ apiKey })
+ await testClient.users.getUserInfo()
+
+ await storage.setApiKey(apiKey)
+ await storage.setAuthMethod('echo')
+ clearEchoClient()
+
+ success('✓ Successfully logged in!')
+ return true
+ } catch (err) {
+ displayAppError(createError({
+ code: ErrorCode.AUTHENTICATION_FAILED,
+ message: 'Login failed',
+ originalError: err
+ }))
+ return false
+ }
+}
+
diff --git a/templates/echo-cli/src/auth/logout.ts b/templates/echo-cli/src/auth/logout.ts
new file mode 100644
index 000000000..354a67bfd
--- /dev/null
+++ b/templates/echo-cli/src/auth/logout.ts
@@ -0,0 +1,29 @@
+import { storage } from '@/config'
+import { clearEchoClient } from './client'
+import { clearEthereumProvider } from './wallet'
+import { success, warning } from '@/print'
+
+export async function logout(): Promise {
+ const authMethod = await storage.getAuthMethod()
+
+ if (!authMethod) {
+ warning('Not currently authenticated')
+ return
+ }
+
+ await storage.deleteApiKey()
+ await storage.deleteWalletSession()
+ await storage.deleteLocalWalletPrivateKey()
+ await storage.deleteLocalWalletSession()
+ await storage.deleteAuthMethod()
+
+ clearEchoClient()
+ clearEthereumProvider()
+
+ if (authMethod === 'local-wallet') {
+ success('✓ Successfully logged out')
+ success('✓ Local wallet private key has been deleted from keychain')
+ } else {
+ success('✓ Successfully logged out and cleared all credentials')
+ }
+}
diff --git a/templates/echo-cli/src/auth/providers.ts b/templates/echo-cli/src/auth/providers.ts
new file mode 100644
index 000000000..06d702bfd
--- /dev/null
+++ b/templates/echo-cli/src/auth/providers.ts
@@ -0,0 +1,76 @@
+import { createEchoOpenAI } from '@merit-systems/echo-typescript-sdk'
+import { createX402OpenAI } from '@merit-systems/ai-x402'
+import type { LanguageModel } from 'ai'
+import { storage } from '@/config'
+import { ECHO_APP_ID, APP } from '@/constants'
+import { createWalletSigner, createLocalWalletSigner, throwError, ErrorCode } from '@/utils'
+
+interface AIProvider {
+ (modelId: string): LanguageModel
+}
+
+export async function getAIProvider(): Promise {
+ const authMethod = await storage.getAuthMethod()
+
+ if (authMethod === 'echo') {
+ return createEchoProvider()
+ } else if (authMethod === 'wallet') {
+ return createWalletProvider()
+ } else if (authMethod === 'local-wallet') {
+ return createLocalWalletProvider()
+ }
+
+ return null
+}
+
+async function createEchoProvider(): Promise {
+ const apiKey = await storage.getApiKey()
+
+ if (!apiKey) {
+ throwError({
+ code: ErrorCode.AUTHENTICATION_FAILED,
+ message: 'Echo API key not found'
+ })
+ }
+
+ const openai = createEchoOpenAI(
+ { appId: ECHO_APP_ID },
+ async () => apiKey
+ )
+
+ return openai
+}
+
+async function createWalletProvider(): Promise {
+ const signer = await createWalletSigner()
+
+ if (!signer) {
+ throwError({
+ code: ErrorCode.WALLET_SESSION_EXPIRED,
+ message: 'Wallet session expired or disconnected'
+ })
+ }
+
+ return createX402OpenAI({
+ walletClient: signer,
+ baseRouterUrl: APP.echoRouterUrl,
+ echoAppId: ECHO_APP_ID
+ })
+}
+
+async function createLocalWalletProvider(): Promise {
+ const signer = await createLocalWalletSigner()
+
+ if (!signer) {
+ throwError({
+ code: ErrorCode.WALLET_SESSION_EXPIRED,
+ message: 'Local wallet session expired or not found'
+ })
+ }
+
+ return createX402OpenAI({
+ walletClient: signer,
+ baseRouterUrl: APP.echoRouterUrl,
+ echoAppId: ECHO_APP_ID
+ })
+}
diff --git a/templates/echo-cli/src/auth/wallet.ts b/templates/echo-cli/src/auth/wallet.ts
new file mode 100644
index 000000000..3d824cb44
--- /dev/null
+++ b/templates/echo-cli/src/auth/wallet.ts
@@ -0,0 +1,162 @@
+import QRCode from 'qrcode-terminal'
+import { storage } from '@/config'
+import { clearEchoClient } from './client'
+import { info, warning, success, header } from '@/print'
+import {
+ getChainName,
+ formatAddress,
+ initializeEthereumProvider,
+ clearWalletSession,
+ displayAppError,
+ createError,
+ ErrorCode,
+ type EthereumProviderInstance
+} from '@/utils'
+import type { WalletConnectSession } from '@/validation'
+
+let ethereumProvider: EthereumProviderInstance | null = null
+
+export async function loginWithWallet(): Promise {
+ try {
+ header('Wallet Authentication')
+ info('Connecting to your mobile wallet via WalletConnect...')
+
+ const provider = await initializeEthereumProvider()
+ ethereumProvider = provider
+
+ return new Promise((resolve) => {
+ provider.on('display_uri', (uri: string) => {
+ info('\n📱 Scan QR code with your mobile wallet:\n')
+ QRCode.generate(uri, { small: true }, (qr: string) => {
+ console.log(qr)
+ })
+ info('\nWaiting for connection...')
+ })
+
+ provider.on('connect', async () => {
+ try {
+ const accounts = provider.accounts
+ const chainId = provider.chainId
+
+ if (!accounts || accounts.length === 0) {
+ displayAppError(createError({
+ code: ErrorCode.WALLET_DISCONNECTED,
+ message: 'No accounts found in wallet'
+ }))
+ resolve(false)
+ return
+ }
+
+ const address = accounts[0]
+
+ const walletSession: WalletConnectSession = {
+ topic: provider.session?.topic || '',
+ address,
+ chainId,
+ expiry: provider.session?.expiry
+ }
+
+ await storage.setWalletSession(walletSession)
+ await storage.setAuthMethod('wallet')
+ clearEchoClient()
+
+ provider.on('disconnect', async () => {
+ await clearWalletSession()
+ ethereumProvider = null
+ })
+
+ success(`\n✓ Connected to wallet: ${formatAddress(address)}`)
+ success(`✓ Chain: ${getChainName(chainId)} (${chainId})`)
+ success('✓ Wallet authentication configured!')
+
+ resolve(true)
+ } catch (err) {
+ displayAppError(createError({
+ code: ErrorCode.AUTHENTICATION_FAILED,
+ message: 'Failed to process wallet connection',
+ originalError: err
+ }))
+ resolve(false)
+ }
+ })
+
+ provider.on('disconnect', () => {
+ warning('Wallet disconnected during setup')
+ resolve(false)
+ })
+
+ provider.connect().catch((err: unknown) => {
+ displayAppError(createError({
+ code: ErrorCode.AUTHENTICATION_FAILED,
+ message: 'Failed to initiate connection',
+ originalError: err
+ }))
+ resolve(false)
+ })
+ })
+ } catch (err) {
+ displayAppError(createError({
+ code: ErrorCode.AUTHENTICATION_FAILED,
+ message: 'Wallet login failed',
+ originalError: err
+ }))
+ return false
+ }
+}
+
+export async function getEthereumProvider(): Promise {
+ if (ethereumProvider?.session) {
+ return ethereumProvider
+ }
+
+ const session = await storage.getWalletSession()
+ if (!session) {
+ return null
+ }
+
+ try {
+ const provider = await initializeEthereumProvider()
+
+ if (!provider.session) {
+ await clearWalletSession()
+ ethereumProvider = null
+ return null
+ }
+
+ const now = Date.now()
+ if (provider.session.expiry && provider.session.expiry * 1000 < now) {
+ await clearWalletSession()
+ ethereumProvider = null
+ return null
+ }
+
+ if (provider.session.topic !== session.topic) {
+ const updatedSession: WalletConnectSession = {
+ topic: provider.session.topic,
+ address: provider.accounts[0],
+ chainId: provider.chainId,
+ expiry: provider.session.expiry
+ }
+ await storage.setWalletSession(updatedSession)
+ }
+
+ ethereumProvider = provider
+
+ provider.on('disconnect', async () => {
+ await clearWalletSession()
+ ethereumProvider = null
+ })
+
+ return ethereumProvider
+ } catch (err) {
+ ethereumProvider = null
+ return null
+ }
+}
+
+export function clearEthereumProvider(): void {
+ if (ethereumProvider?.session) {
+ ethereumProvider.disconnect().catch(() => {})
+ }
+ ethereumProvider = null
+}
diff --git a/templates/echo-cli/src/config/ascii.ts b/templates/echo-cli/src/config/ascii.ts
new file mode 100644
index 000000000..525cf4c9d
--- /dev/null
+++ b/templates/echo-cli/src/config/ascii.ts
@@ -0,0 +1,10 @@
+export const ECHODEX_ASCII_ART = `
+ _____ ____ _ _ ___ ____ _______ __
+| ____/ ___| | | |/ _ \| _ \| ____\ \/ /
+| _|| | | |_| | | | | | | | _| \ /
+| |__| |___| _ | |_| | |_| | |___ / \
+|_____\____|_| |_|\___/|____/|_____/_/\_\\
+
+CLI Coding Agent Powered by Echo
+`
+
diff --git a/templates/echo-cli/src/config/index.ts b/templates/echo-cli/src/config/index.ts
new file mode 100644
index 000000000..9ba856e34
--- /dev/null
+++ b/templates/echo-cli/src/config/index.ts
@@ -0,0 +1,137 @@
+import { Storage, StorageType } from './store'
+import { ApiKeySchema, ModelSchema, AuthMethodSchema, WalletConnectSessionSchema, LocalWalletSessionSchema, validate } from '@/validation'
+import { DEFAULT_MODEL } from './models'
+import type { Model, AuthMethod, WalletConnectSession, LocalWalletSession } from '@/validation'
+
+class EchodexStorage extends Storage {
+ constructor() {
+ super({
+ serviceName: 'echodex',
+ configName: 'echodex'
+ })
+ }
+
+ async getApiKey(): Promise {
+ return this.get('apiKey', {
+ type: StorageType.SECURE,
+ schema: ApiKeySchema
+ })
+ }
+
+ async setApiKey(apiKey: string): Promise {
+ const validatedKey = validate(ApiKeySchema, apiKey)
+ await this.set('apiKey', validatedKey, { type: StorageType.SECURE })
+ }
+
+ async deleteApiKey(): Promise {
+ await this.delete('apiKey', StorageType.SECURE)
+ }
+
+ async hasApiKey(): Promise {
+ return this.has('apiKey', StorageType.SECURE)
+ }
+
+ async getAuthMethod(): Promise {
+ return this.get('authMethod', {
+ type: StorageType.NORMAL,
+ schema: AuthMethodSchema
+ })
+ }
+
+ async setAuthMethod(method: AuthMethod): Promise {
+ const validatedMethod = validate(AuthMethodSchema, method)
+ await this.set('authMethod', validatedMethod, { type: StorageType.NORMAL })
+ }
+
+ async deleteAuthMethod(): Promise {
+ await this.delete('authMethod', StorageType.NORMAL)
+ }
+
+ async getWalletSession(): Promise {
+ return this.get('walletSession', {
+ type: StorageType.NORMAL,
+ schema: WalletConnectSessionSchema
+ })
+ }
+
+ async setWalletSession(session: WalletConnectSession): Promise {
+ const validatedSession = validate(WalletConnectSessionSchema, session)
+ await this.set('walletSession', validatedSession, { type: StorageType.NORMAL })
+ }
+
+ async deleteWalletSession(): Promise {
+ await this.delete('walletSession', StorageType.NORMAL)
+ }
+
+ async hasWalletSession(): Promise {
+ return this.has('walletSession', StorageType.NORMAL)
+ }
+
+ async getLocalWalletPrivateKey(): Promise {
+ return this.get('localWalletPrivateKey', {
+ type: StorageType.SECURE
+ })
+ }
+
+ async setLocalWalletPrivateKey(key: string): Promise {
+ await this.set('localWalletPrivateKey', key, { type: StorageType.SECURE })
+ }
+
+ async deleteLocalWalletPrivateKey(): Promise {
+ await this.delete('localWalletPrivateKey', StorageType.SECURE)
+ }
+
+ async hasLocalWalletPrivateKey(): Promise {
+ return this.has('localWalletPrivateKey', StorageType.SECURE)
+ }
+
+ async getLocalWalletSession(): Promise {
+ return this.get('localWalletSession', {
+ type: StorageType.NORMAL,
+ schema: LocalWalletSessionSchema
+ })
+ }
+
+ async setLocalWalletSession(session: LocalWalletSession): Promise {
+ const validatedSession = validate(LocalWalletSessionSchema, session)
+ await this.set('localWalletSession', validatedSession, { type: StorageType.NORMAL })
+ }
+
+ async deleteLocalWalletSession(): Promise {
+ await this.delete('localWalletSession', StorageType.NORMAL)
+ }
+
+ async hasLocalWalletSession(): Promise {
+ return this.has('localWalletSession', StorageType.NORMAL)
+ }
+
+ async isAuthenticated(): Promise {
+ const method = await this.getAuthMethod()
+ if (!method) return false
+
+ if (method === 'echo') {
+ return this.hasApiKey()
+ } else if (method === 'wallet') {
+ return this.hasWalletSession()
+ } else if (method === 'local-wallet') {
+ return this.hasLocalWalletSession()
+ }
+ return false
+ }
+
+ async getModel(): Promise {
+ const model = await this.get('model', {
+ type: StorageType.NORMAL,
+ schema: ModelSchema
+ })
+ return model ?? DEFAULT_MODEL
+ }
+
+ async setModel(model: Model): Promise {
+ const validatedModel = validate(ModelSchema, model)
+ await this.set('model', validatedModel, { type: StorageType.NORMAL })
+ }
+}
+
+export const storage = new EchodexStorage()
+export { StorageType, StorageAdapter } from './store'
diff --git a/templates/echo-cli/src/config/messages.ts b/templates/echo-cli/src/config/messages.ts
new file mode 100644
index 000000000..203fb5d71
--- /dev/null
+++ b/templates/echo-cli/src/config/messages.ts
@@ -0,0 +1,26 @@
+export const MESSAGE_MODES = {
+ CHAT: 'chat',
+ AGENT: 'agent'
+} as const
+
+export const THINKING_MESSAGES = [
+ 'doodling',
+ 'pondering',
+ 'musing',
+ 'reflecting',
+ 'considering',
+ 'ideating',
+ 'ruminating',
+ 'cogitating',
+ 'synthesizing'
+] as const
+
+export const THINKING_INTERVAL = 1500
+
+export const THINKING_COLORS = [
+ 'blue',
+ 'cyan',
+ 'green',
+ 'yellow',
+ 'magenta'
+] as const
diff --git a/templates/echo-cli/src/config/models.ts b/templates/echo-cli/src/config/models.ts
new file mode 100644
index 000000000..f6a61cda5
--- /dev/null
+++ b/templates/echo-cli/src/config/models.ts
@@ -0,0 +1,10 @@
+export const MODELS = [
+ { value: 'gpt-4o', label: 'GPT-4o' },
+ { value: 'gpt-4o-mini', label: 'GPT-4o Mini' },
+ { value: 'gpt-5', label: 'GPT-5' },
+ { value: 'gpt-5-mini', label: 'GPT-5 Mini' },
+ { value: 'gpt-5-nano', label: 'GPT-5 Nano' }
+] as const
+
+export const DEFAULT_MODEL = 'gpt-5-mini' as const
+
diff --git a/templates/echo-cli/src/config/store.ts b/templates/echo-cli/src/config/store.ts
new file mode 100644
index 000000000..09168fdd3
--- /dev/null
+++ b/templates/echo-cli/src/config/store.ts
@@ -0,0 +1,128 @@
+import Conf from 'conf'
+import keytar from 'keytar'
+import { z } from 'zod'
+import { validate } from '@/validation'
+import { IKeyValueStorage } from '@walletconnect/keyvaluestorage'
+
+export enum StorageType {
+ SECURE = 'secure',
+ NORMAL = 'normal'
+}
+
+export interface StorageOptions {
+ serviceName: string
+ configName: string
+}
+
+export interface GetOptions {
+ type?: StorageType
+ schema?: z.ZodSchema
+}
+
+export interface SetOptions {
+ type?: StorageType
+}
+
+export abstract class Storage {
+ protected conf: Conf
+ protected serviceName: string
+
+ constructor(options: StorageOptions) {
+ this.serviceName = options.serviceName
+ this.conf = new Conf({
+ projectName: options.configName,
+ clearInvalidConfig: true
+ })
+ }
+
+ async get(key: string, options?: GetOptions): Promise {
+ const type = options?.type ?? StorageType.NORMAL
+ const schema = options?.schema
+
+ let rawValue: unknown
+
+ if (type === StorageType.SECURE) {
+ const value = await keytar.getPassword(this.serviceName, key)
+ rawValue = value ? JSON.parse(value) : undefined
+ } else {
+ rawValue = this.conf.get(key)
+ }
+
+ if (rawValue === undefined) {
+ return undefined
+ }
+
+ if (schema) {
+ return validate(schema, rawValue)
+ }
+
+ return rawValue as T
+ }
+
+ async set(key: string, value: T, options?: SetOptions): Promise {
+ const type = options?.type ?? StorageType.NORMAL
+
+ if (type === StorageType.SECURE) {
+ await keytar.setPassword(this.serviceName, key, JSON.stringify(value))
+ } else {
+ this.conf.set(key, value)
+ }
+ }
+
+ async delete(key: string, type: StorageType = StorageType.NORMAL): Promise {
+ if (type === StorageType.SECURE) {
+ await keytar.deletePassword(this.serviceName, key)
+ } else {
+ this.conf.delete(key)
+ }
+ }
+
+ async has(key: string, type: StorageType = StorageType.NORMAL): Promise {
+ if (type === StorageType.SECURE) {
+ const value = await keytar.getPassword(this.serviceName, key)
+ return value !== null
+ }
+ return this.conf.has(key)
+ }
+
+ clear(): void {
+ this.conf.clear()
+ }
+
+ getAllKeys(): string[] {
+ return Object.keys(this.conf.store)
+ }
+
+ getAllEntries(): [string, T][] {
+ return Object.entries(this.conf.store) as [string, T][]
+ }
+}
+
+export class StorageAdapter extends IKeyValueStorage {
+ private storage: Storage
+
+ constructor(storage: Storage) {
+ super()
+ this.storage = storage
+ }
+
+ async getKeys(): Promise {
+ return this.storage.getAllKeys()
+ }
+
+ async getEntries(): Promise<[string, T][]> {
+ return this.storage.getAllEntries()
+ }
+
+ async getItem(key: string): Promise {
+ return this.storage.get(key)
+ }
+
+ async setItem(key: string, value: T): Promise {
+ await this.storage.set(key, value)
+ }
+
+ async removeItem(key: string): Promise {
+ await this.storage.delete(key)
+ }
+}
diff --git a/templates/echo-cli/src/config/wallet.ts b/templates/echo-cli/src/config/wallet.ts
new file mode 100644
index 000000000..0de7303ee
--- /dev/null
+++ b/templates/echo-cli/src/config/wallet.ts
@@ -0,0 +1,24 @@
+export const WALLET_CHAINS = [1, 8453, 10, 137, 42161]
+
+export const WALLET_OPTIONAL_METHODS = [
+ 'eth_sendTransaction',
+ 'eth_signTransaction',
+ 'eth_sign',
+ 'personal_sign',
+ 'eth_signTypedData',
+ 'eth_signTypedData_v4'
+]
+
+export const AUTH_OPTIONS = [
+ { value: 'echo', label: 'Echo API Key' },
+ { value: 'wallet', label: 'WalletConnect' },
+ { value: 'local-wallet', label: 'Local Wallet (Self Custody)' }
+]
+
+export const CHAIN_OPTIONS = [
+ { value: 1, label: 'Ethereum Mainnet' },
+ { value: 8453, label: 'Base' },
+ { value: 10, label: 'Optimism' },
+ { value: 137, label: 'Polygon' },
+ { value: 42161, label: 'Arbitrum' }
+]
diff --git a/templates/echo-cli/src/constants.ts b/templates/echo-cli/src/constants.ts
new file mode 100644
index 000000000..ca4207529
--- /dev/null
+++ b/templates/echo-cli/src/constants.ts
@@ -0,0 +1,36 @@
+import { MODELS } from '@/config/models'
+
+export { ECHODEX_ASCII_ART } from '@/config/ascii'
+export { MODELS, DEFAULT_MODEL } from '@/config/models'
+export { MESSAGE_MODES, THINKING_MESSAGES, THINKING_INTERVAL, THINKING_COLORS } from '@/config/messages'
+export { WALLET_CHAINS, WALLET_OPTIONAL_METHODS, AUTH_OPTIONS } from '@/config/wallet'
+
+const ECHO_URL = 'https://echo.merit.systems'
+const ECHO_API_URL = 'https://api.echo.merit.systems/v1'
+const ECHO_ROUTER_URL = 'https://echo.router.merit.systems'
+
+export const AGENT_NAME = 'echodex' as const
+export const AVAILABLE_MODELS = MODELS
+
+export const ECHO_APP_ID = 'dbfe663c-b54d-4a64-bcc1-1cb24f4da32f'
+export const WALLETCONNECT_PROJECT_ID = '592e3344e57cbc26ad91d191e82a4185'
+export const ECHO_KEYS_URL = `${ECHO_URL}/app/${ECHO_APP_ID}/keys`
+
+export const APP = {
+ name: 'Echodex',
+ description: 'CLI Coding Agent Powered by Echo',
+ version: '1.0.0',
+ echoAppId: ECHO_APP_ID,
+ walletConnectProjectId: WALLETCONNECT_PROJECT_ID,
+ echoKeysUrl: `${ECHO_URL}/app/${ECHO_APP_ID}/keys`,
+ echoUrl: ECHO_URL,
+ echoApiUrl: ECHO_API_URL,
+ echoRouterUrl: ECHO_ROUTER_URL
+} as const
+
+export const APP_METADATA = {
+ name: APP.name,
+ description: APP.description,
+ url: APP.echoUrl,
+ icons: [`${APP.echoUrl}/favicon.ico`]
+}
diff --git a/templates/echo-cli/src/core/chat.ts b/templates/echo-cli/src/core/chat.ts
new file mode 100644
index 000000000..d396e0cee
--- /dev/null
+++ b/templates/echo-cli/src/core/chat.ts
@@ -0,0 +1,152 @@
+import { text, isCancel } from '@clack/prompts'
+import chalk from 'chalk'
+import { getAIProvider } from '@/auth'
+import { AGENT_NAME, MESSAGE_MODES } from '@/constants'
+import { storage } from '@/config'
+import { streamText, ModelMessage } from 'ai'
+import { consumeStream, createThinkingSpinner, isAuthenticated, displayAppError, isErrorCode, ErrorCode } from '@/utils'
+import { warning, hint, blankLine, write, newLine, error, header } from '@/print'
+import { createThread, addMessageToThread, selectThreadToResume } from './history'
+import { Thread } from '@/validation'
+
+async function runChatLoop(thread: Thread, isResume: boolean = false): Promise {
+ const authenticated = await isAuthenticated()
+
+ if (!authenticated) {
+ warning('Not authenticated. Please run: echodex login')
+ return
+ }
+
+ let provider
+ try {
+ provider = await getAIProvider()
+ } catch (err) {
+ if (err instanceof Error) {
+ displayAppError(err as any)
+ } else {
+ error('Failed to initialize AI provider')
+ }
+ return
+ }
+
+ if (!provider) {
+ error('Failed to initialize AI provider')
+ return
+ }
+
+ const conversationHistory: ModelMessage[] = thread.messages.map((msg) => ({
+ role: msg.role,
+ content: msg.content
+ }))
+
+ const mode = MESSAGE_MODES.CHAT
+ const modeDisplay = mode === MESSAGE_MODES.CHAT ? 'Chat' : 'Agent'
+
+ header(`${AGENT_NAME} - ${modeDisplay}${isResume ? ' (Resumed)' : ''}`)
+
+ // Display previous messages if resuming
+ if (isResume && thread.messages.length > 0) {
+ hint('Previous conversation:')
+ blankLine()
+
+ thread.messages.forEach((msg) => {
+ const displayName = msg.role === 'user' ? 'You' : AGENT_NAME
+ const color = msg.role === 'user' ? chalk.green : chalk.blue
+ write(color(`${displayName}: `))
+ write(`${msg.content}\n`)
+ })
+
+ blankLine()
+ }
+
+ hint(`Type "exit" to quit.`)
+ hint(`Using model: ${thread.model}\n`)
+
+ while (true) {
+ const userInput = await text({
+ message: 'You:',
+ placeholder: 'Type your message...'
+ })
+
+ if (isCancel(userInput)) {
+ newLine()
+ blankLine()
+ break
+ }
+
+ if (typeof userInput !== 'string') {
+ break
+ }
+
+ if (userInput.toLowerCase() === 'exit') {
+ blankLine()
+ break
+ }
+
+ conversationHistory.push({
+ role: 'user',
+ content: userInput
+ })
+
+ await addMessageToThread(thread, 'user', userInput, mode)
+
+ const spinner = createThinkingSpinner()
+
+ try {
+ const stream = streamText({
+ model: provider(thread.model),
+ messages: conversationHistory,
+ })
+
+ const assistantMessage = await consumeStream(stream.textStream, (chunk, isFirst) => {
+ if (isFirst) {
+ spinner.stop()
+ write(chalk.blue(`${AGENT_NAME}: `))
+ }
+ write(chunk)
+ })
+
+ conversationHistory.push({
+ role: 'assistant',
+ content: assistantMessage
+ })
+
+ await addMessageToThread(thread, 'assistant', assistantMessage, mode)
+
+ newLine()
+ newLine()
+ } catch (err) {
+ spinner.stop()
+ newLine()
+
+ if (isErrorCode(err, ErrorCode.INSUFFICIENT_FUNDS) || isErrorCode(err, ErrorCode.WRONG_CHAIN)) {
+ return
+ }
+
+ if (isErrorCode(err, ErrorCode.PAYMENT_FAILED)) {
+ error('Payment processing failed')
+ hint('Please try again or check your wallet connection')
+ blankLine()
+ return
+ }
+
+ displayAppError(err as any)
+ }
+ }
+}
+
+export async function startChatSession(): Promise {
+ const model = await storage.getModel()
+ const thread = await createThread(model)
+ await runChatLoop(thread)
+}
+
+export async function resumeChatSession(): Promise {
+ const thread = await selectThreadToResume()
+
+ if (!thread) {
+ return
+ }
+
+ await runChatLoop(thread, true)
+}
diff --git a/templates/echo-cli/src/core/history.ts b/templates/echo-cli/src/core/history.ts
new file mode 100644
index 000000000..978b28f21
--- /dev/null
+++ b/templates/echo-cli/src/core/history.ts
@@ -0,0 +1,186 @@
+import { storage, StorageType } from '@/config'
+import { Thread, ThreadsSchema, ThreadMessage, Model } from '@/validation'
+import { randomUUID } from 'crypto'
+import { select, isCancel } from '@clack/prompts'
+import { info, warning, success, error, label, hint, blankLine } from '@/print'
+import { MESSAGE_MODES } from '@/constants'
+import { writeFile } from 'fs/promises'
+import { join } from 'path'
+import { displayAppError, createError, ErrorCode } from '@/utils'
+
+const THREADS_STORAGE_KEY = 'conversation_threads'
+
+export async function createThread(model: Model): Promise {
+ const now = new Date().toISOString()
+ return {
+ id: randomUUID(),
+ createdAt: now,
+ updatedAt: now,
+ messages: [],
+ model
+ }
+}
+
+export async function getThreads(): Promise {
+ try {
+ const threads = await storage.get(THREADS_STORAGE_KEY, {
+ type: StorageType.NORMAL,
+ schema: ThreadsSchema
+ })
+ return threads || []
+ } catch {
+ return []
+ }
+}
+
+export async function getThread(threadId: string): Promise {
+ const threads = await getThreads()
+ return threads.find(t => t.id === threadId) || null
+}
+
+export async function saveThread(thread: Thread): Promise {
+ const threads = await getThreads()
+ const existingIndex = threads.findIndex(t => t.id === thread.id)
+
+ thread.updatedAt = new Date().toISOString()
+
+ if (existingIndex >= 0) {
+ threads[existingIndex] = thread
+ } else {
+ threads.push(thread)
+ }
+
+ await storage.set(THREADS_STORAGE_KEY, threads, {
+ type: StorageType.NORMAL
+ })
+}
+
+export async function addMessageToThread(
+ thread: Thread,
+ role: 'user' | 'assistant',
+ content: string,
+ mode: typeof MESSAGE_MODES.CHAT | typeof MESSAGE_MODES.AGENT = MESSAGE_MODES.CHAT
+): Promise {
+ const message: ThreadMessage = {
+ role,
+ content,
+ mode,
+ timestamp: new Date().toISOString()
+ }
+
+ thread.messages.push(message)
+ await saveThread(thread)
+}
+
+export async function showConversationHistory(): Promise {
+ const threads = await getThreads()
+
+ if (threads.length === 0) {
+ info('No conversation history found.')
+ return
+ }
+
+ info(`Found ${threads.length} conversation thread${threads.length > 1 ? 's' : ''}:\n`)
+
+ threads
+ .sort((a, b) => new Date(b.updatedAt).getTime() - new Date(a.updatedAt).getTime())
+ .forEach((thread, index) => {
+ const date = new Date(thread.createdAt).toLocaleString()
+ const messageCount = thread.messages.length
+ const preview = thread.messages[0]?.content.slice(0, 60) || 'Empty thread'
+
+ label(`${index + 1}.`, `${date}`)
+ hint(` Model: ${thread.model}`)
+ hint(` Messages: ${messageCount}`)
+ hint(` Preview: ${preview}${preview.length >= 60 ? '...' : ''}`)
+ blankLine()
+ })
+}
+
+export async function exportConversationHistory(): Promise {
+ try {
+ const threads = await getThreads()
+
+ if (threads.length === 0) {
+ warning('No conversation history to export.')
+ return false
+ }
+
+ const timestamp = new Date().toISOString().replace(/[:.]/g, '-')
+ const filename = `echodex-history-${timestamp}.json`
+ const filepath = join(process.cwd(), filename)
+
+ await writeFile(filepath, JSON.stringify(threads, null, 2), 'utf-8')
+
+ success(`Exported ${threads.length} thread${threads.length > 1 ? 's' : ''} to: ${filename}`)
+ return true
+ } catch (err) {
+ displayAppError(createError({
+ code: ErrorCode.API_ERROR,
+ message: 'Failed to export history',
+ originalError: err
+ }))
+ return false
+ }
+}
+
+export async function selectThreadToResume(): Promise {
+ const threads = await getThreads()
+
+ if (threads.length === 0) {
+ warning('No conversation history found.')
+ return null
+ }
+
+ const sortedThreads = threads.sort(
+ (a, b) => new Date(b.updatedAt).getTime() - new Date(a.updatedAt).getTime()
+ )
+
+ const choices = sortedThreads.map(thread => {
+ const date = new Date(thread.createdAt).toLocaleString()
+ const preview = thread.messages[0]?.content.slice(0, 50) || 'Empty thread'
+ return {
+ value: thread.id,
+ label: `${date} - ${preview}${preview.length >= 50 ? '...' : ''}`,
+ hint: `${thread.messages.length} messages, ${thread.model}`
+ }
+ })
+
+ const selectedId = await select({
+ message: 'Select a conversation to resume:',
+ options: choices
+ })
+
+ if (isCancel(selectedId)) {
+ warning('Cancelled.')
+ return null
+ }
+
+ return threads.find(t => t.id === selectedId) || null
+}
+
+export async function clearConversationHistory(): Promise {
+ try {
+ const threads = await getThreads()
+
+ if (threads.length === 0) {
+ warning('No conversation history to clear.')
+ return false
+ }
+
+ await storage.set(THREADS_STORAGE_KEY, [], {
+ type: StorageType.NORMAL
+ })
+
+ success(`Cleared ${threads.length} thread${threads.length > 1 ? 's' : ''} from history.`)
+ return true
+ } catch (err) {
+ displayAppError(createError({
+ code: ErrorCode.API_ERROR,
+ message: 'Failed to clear history',
+ originalError: err
+ }))
+ return false
+ }
+}
+
diff --git a/templates/echo-cli/src/core/index.ts b/templates/echo-cli/src/core/index.ts
new file mode 100644
index 000000000..355b88f0a
--- /dev/null
+++ b/templates/echo-cli/src/core/index.ts
@@ -0,0 +1,5 @@
+export { startChatSession, resumeChatSession } from './chat'
+export { showProfile } from './profile'
+export { selectModel } from './model'
+export { showConversationHistory, exportConversationHistory, clearConversationHistory } from './history'
+export { showLocalWalletBalance, showLocalWalletAddress, exportPrivateKey, fundWallet } from './local-wallet'
diff --git a/templates/echo-cli/src/core/local-wallet.ts b/templates/echo-cli/src/core/local-wallet.ts
new file mode 100644
index 000000000..8d5f06ec4
--- /dev/null
+++ b/templates/echo-cli/src/core/local-wallet.ts
@@ -0,0 +1,223 @@
+import { confirm, isCancel } from '@clack/prompts'
+import chalk from 'chalk'
+import Table from 'cli-table3'
+import { storage } from '@/config'
+import { info, warning, success, error, header, blankLine } from '@/print'
+import {
+ getUSDCBalance,
+ generateQRCodeForAddress,
+ formatAddress,
+ getChainName,
+ displayAppError,
+ createError,
+ ErrorCode
+} from '@/utils'
+
+async function checkLocalWalletAuth(): Promise {
+ const authMethod = await storage.getAuthMethod()
+
+ if (authMethod !== 'local-wallet') {
+ warning('This command requires local wallet authentication')
+ info('Please run: echodex login')
+ info('Then select: Local Wallet (Self Custody)')
+ return false
+ }
+
+ const session = await storage.getLocalWalletSession()
+ if (!session) {
+ warning('Local wallet session not found. Please run: echodex login')
+ return false
+ }
+
+ return true
+}
+
+export async function showLocalWalletBalance(): Promise {
+ try {
+ if (!await checkLocalWalletAuth()) {
+ return
+ }
+
+ const session = await storage.getLocalWalletSession()
+ if (!session) return
+
+ header('Local Wallet Balance')
+
+ info('Fetching balance...')
+ const balance = await getUSDCBalance(session.address as `0x${string}`, session.chainId)
+
+ const table = new Table({
+ head: ['Property', 'Value'],
+ colWidths: [20, 60],
+ style: {
+ head: ['cyan']
+ }
+ })
+
+ table.push(
+ ['Chain', `${getChainName(session.chainId)} (${session.chainId})`],
+ ['Address', formatAddress(session.address)],
+ ['USDC Balance', `${balance} USDC`]
+ )
+
+ blankLine()
+ console.log(table.toString())
+ blankLine()
+ } catch (err) {
+ displayAppError(createError({
+ code: ErrorCode.WALLET_DISCONNECTED,
+ message: 'Failed to fetch balance',
+ originalError: err
+ }))
+ }
+}
+
+export async function showLocalWalletAddress(): Promise {
+ try {
+ if (!await checkLocalWalletAuth()) {
+ return
+ }
+
+ const session = await storage.getLocalWalletSession()
+ if (!session) return
+
+ blankLine()
+ header('=== Local Wallet Address ===')
+ blankLine()
+ info(`Full Address: ${chalk.white(session.address)}`)
+ info(`Short Address: ${chalk.gray(formatAddress(session.address))}`)
+ info(`Network: ${chalk.green(getChainName(session.chainId))} (${session.chainId})`)
+ blankLine()
+ info('📱 Scan QR code to send USDC:\n')
+ generateQRCodeForAddress(session.address)
+ blankLine()
+ info('💡 Tip: Send USDC on the correct network to fund your wallet')
+ blankLine()
+ } catch (err) {
+ displayAppError(createError({
+ code: ErrorCode.WALLET_DISCONNECTED,
+ message: 'Failed to display address',
+ originalError: err
+ }))
+ }
+}
+
+export async function exportPrivateKey(): Promise {
+ try {
+ if (!await checkLocalWalletAuth()) {
+ return
+ }
+
+ blankLine()
+ header('⚠️ EXPORT PRIVATE KEY ⚠️')
+ blankLine()
+ warning('WARNING: Your private key provides FULL ACCESS to your wallet!')
+ warning('Never share it with anyone or paste it into untrusted applications.')
+ warning('Anyone with your private key can steal all your funds.')
+ blankLine()
+
+ const confirmed = await confirm({
+ message: 'Do you understand the risks and want to proceed?'
+ })
+
+ if (isCancel(confirmed) || !confirmed) {
+ info('\nExport cancelled')
+ return
+ }
+
+ const privateKey = await storage.getLocalWalletPrivateKey()
+ if (!privateKey) {
+ error('Private key not found')
+ return
+ }
+
+ blankLine()
+ error('═══════════════════════════════════════════════════════════')
+ error(' YOUR PRIVATE KEY')
+ error('═══════════════════════════════════════════════════════════')
+ blankLine()
+ console.log(chalk.red.bold(privateKey))
+ blankLine()
+ error('═══════════════════════════════════════════════════════════')
+ blankLine()
+ warning('⚠️ Keep this key safe and secure!')
+ warning('⚠️ Delete this from your terminal history!')
+ warning('⚠️ Anyone with this key can access your funds!')
+ blankLine()
+ } catch (err) {
+ displayAppError(createError({
+ code: ErrorCode.AUTHENTICATION_FAILED,
+ message: 'Failed to export private key',
+ originalError: err
+ }))
+ }
+}
+
+export async function fundWallet(): Promise {
+ try {
+ if (!await checkLocalWalletAuth()) {
+ return
+ }
+
+ const session = await storage.getLocalWalletSession()
+ if (!session) return
+
+ blankLine()
+ header('=== Fund Local Wallet ===')
+ blankLine()
+ info(`Wallet Address: ${session.address}`)
+ info(`Network: ${getChainName(session.chainId)} (${session.chainId})`)
+ blankLine()
+
+ const currentBalance = await getUSDCBalance(session.address as `0x${string}`, session.chainId)
+ info(`Current USDC Balance: ${currentBalance} USDC`)
+ blankLine()
+
+ info('📱 Scan QR code to send USDC:\n')
+ generateQRCodeForAddress(session.address)
+ blankLine()
+
+ // Start balance polling
+ info('💰 Waiting for USDC deposit...')
+ info(' (Press Ctrl+C to stop monitoring)\n')
+
+ const startBalance = parseFloat(currentBalance)
+ let cancelled = false
+
+ const handleCancel = () => {
+ cancelled = true
+ info('\n\n✓ Stopped monitoring for deposits')
+ process.exit(0)
+ }
+
+ process.on('SIGINT', handleCancel)
+
+ try {
+ while (!cancelled) {
+ const balance = await getUSDCBalance(session.address as `0x${string}`, session.chainId)
+ const balanceNum = parseFloat(balance)
+
+ if (balanceNum > startBalance) {
+ const diff = (balanceNum - startBalance).toFixed(2)
+ success(`\n✓ Received ${diff} USDC!`)
+ success(`✓ New balance: ${balance} USDC`)
+ break
+ }
+
+ // Wait 3 seconds before next check
+ await new Promise(resolve => setTimeout(resolve, 3000))
+ }
+ } finally {
+ process.off('SIGINT', handleCancel)
+ }
+
+ blankLine()
+ } catch (err) {
+ displayAppError(createError({
+ code: ErrorCode.WALLET_DISCONNECTED,
+ message: 'Failed to fund wallet',
+ originalError: err
+ }))
+ }
+}
+
diff --git a/templates/echo-cli/src/core/model.ts b/templates/echo-cli/src/core/model.ts
new file mode 100644
index 000000000..13bfe585f
--- /dev/null
+++ b/templates/echo-cli/src/core/model.ts
@@ -0,0 +1,49 @@
+import { select, isCancel } from '@clack/prompts'
+import { storage } from '@/config'
+import { AVAILABLE_MODELS } from '@/constants'
+import { isValid, ModelSchema } from '@/validation'
+import { warning, success, error } from '@/print'
+import { displayAppError, createError, ErrorCode } from '@/utils'
+
+export async function selectModel(): Promise {
+ try {
+ const currentModel = await storage.getModel()
+
+ const selectedModel = await select({
+ message: 'Select a model:',
+ options: AVAILABLE_MODELS.map((model: typeof AVAILABLE_MODELS[number]) => ({
+ value: model.value,
+ label: model.label,
+ hint: model.value === currentModel ? `current` : undefined
+ })),
+ initialValue: currentModel
+ })
+
+ if (isCancel(selectedModel)) {
+ warning('Model selection cancelled')
+ return false
+ }
+
+ if (typeof selectedModel !== 'string') {
+ warning('Model selection cancelled')
+ return false
+ }
+
+ if (!isValid(ModelSchema, selectedModel)) {
+ error('Invalid model selected')
+ return false
+ }
+
+ await storage.setModel(selectedModel)
+ success(`✓ Model set to ${selectedModel}`)
+ return true
+ } catch (err) {
+ displayAppError(createError({
+ code: ErrorCode.API_ERROR,
+ message: 'Failed to set model',
+ originalError: err
+ }))
+ return false
+ }
+}
+
diff --git a/templates/echo-cli/src/core/profile.ts b/templates/echo-cli/src/core/profile.ts
new file mode 100644
index 000000000..03af7ab45
--- /dev/null
+++ b/templates/echo-cli/src/core/profile.ts
@@ -0,0 +1,113 @@
+import chalk from 'chalk'
+import { getEchoClient } from '@/auth'
+import { storage } from '@/config'
+import { validate, UserInfoSchema, BalanceSchema } from '@/validation'
+import { warning, header, label, blankLine, error } from '@/print'
+import { getChainName, formatAddress, getUSDCBalance, displayAppError, createError, ErrorCode } from '@/utils'
+
+export async function showProfile(): Promise {
+ const authMethod = await storage.getAuthMethod()
+
+ if (!authMethod) {
+ warning('Not authenticated. Please run: echodex login')
+ return
+ }
+
+ if (authMethod === 'echo') {
+ await showEchoProfile()
+ } else if (authMethod === 'wallet') {
+ await showWalletProfile()
+ } else if (authMethod === 'local-wallet') {
+ await showLocalWalletProfile()
+ }
+}
+
+async function showEchoProfile(): Promise {
+ const client = await getEchoClient()
+
+ if (!client) {
+ warning('Echo authentication not found. Please run: echodex login')
+ return
+ }
+
+ try {
+ const [rawUser, rawBalance] = await Promise.all([
+ client.users.getUserInfo(),
+ client.balance.getBalance()
+ ])
+
+ const user = validate(UserInfoSchema, rawUser)
+ const balance = validate(BalanceSchema, rawBalance)
+
+ blankLine()
+ header('=== Echo Profile ===')
+ blankLine()
+ label('Auth Method:', chalk.cyan('Echo API Key'))
+ label('Email:', chalk.white(user.email))
+ label('Balance:', chalk.green(`$${balance.balance.toFixed(4)}`))
+ label('Total Spent:', chalk.yellow(`$${balance.totalSpent.toFixed(4)}`))
+ label('Created:', chalk.white(new Date(user.createdAt).toLocaleDateString()))
+ blankLine()
+ } catch (err) {
+ displayAppError(createError({
+ code: ErrorCode.API_ERROR,
+ message: 'Failed to fetch profile',
+ originalError: err
+ }))
+ }
+}
+
+async function showWalletProfile(): Promise {
+ const session = await storage.getWalletSession()
+
+ if (!session) {
+ warning('Wallet session not found. Please run: echodex login')
+ return
+ }
+
+ blankLine()
+ header('=== Wallet Profile ===')
+ blankLine()
+ label('Auth Method:', chalk.cyan('WalletConnect'))
+ label('Address:', chalk.white(session.address))
+ label('Short Address:', chalk.gray(formatAddress(session.address)))
+ label('Chain:', chalk.green(`${getChainName(session.chainId, true)} (${session.chainId})`))
+ label('Session Topic:', chalk.dim(session.topic.slice(0, 32) + '...'))
+ if (session.expiry) {
+ const expiryDate = new Date(session.expiry * 1000)
+ label('Session Expires:', chalk.white(expiryDate.toLocaleString()))
+ }
+ blankLine()
+}
+
+async function showLocalWalletProfile(): Promise {
+ const session = await storage.getLocalWalletSession()
+
+ if (!session) {
+ warning('Local wallet session not found. Please run: echodex login')
+ return
+ }
+
+ try {
+ const balance = await getUSDCBalance(session.address, session.chainId)
+
+ blankLine()
+ header('=== Local Wallet Profile ===')
+ blankLine()
+ label('Auth Method:', chalk.cyan('Local Wallet (Self Custody)'))
+ label('Address:', chalk.white(session.address))
+ label('Short Address:', chalk.gray(formatAddress(session.address)))
+ label('Chain:', chalk.green(`${getChainName(session.chainId, true)} (${session.chainId})`))
+ label('USDC Balance:', chalk.green(`${balance} USDC`))
+ label('Created:', chalk.white(new Date(session.createdAt).toLocaleDateString()))
+ blankLine()
+ label('Security:', chalk.yellow('🔐 Private key stored in OS keychain'))
+ blankLine()
+ } catch (err) {
+ displayAppError(createError({
+ code: ErrorCode.WALLET_DISCONNECTED,
+ message: 'Failed to fetch wallet profile',
+ originalError: err
+ }))
+ }
+}
diff --git a/templates/echo-cli/src/index.ts b/templates/echo-cli/src/index.ts
new file mode 100644
index 000000000..a0af972e4
--- /dev/null
+++ b/templates/echo-cli/src/index.ts
@@ -0,0 +1,159 @@
+#!/usr/bin/env node
+
+import { Command } from 'commander'
+import { select, isCancel } from '@clack/prompts'
+import { loginWithEcho, loginWithWallet, initLocalWallet, logout } from '@/auth'
+import {
+ startChatSession,
+ resumeChatSession,
+ showProfile,
+ selectModel,
+ showConversationHistory,
+ exportConversationHistory,
+ clearConversationHistory,
+ showLocalWalletBalance,
+ showLocalWalletAddress,
+ exportPrivateKey,
+ fundWallet
+} from '@/core'
+import { isAuthenticated } from '@/utils'
+import { ECHODEX_ASCII_ART, AUTH_OPTIONS } from '@/constants'
+import { info, warning, header } from '@/print'
+
+const program = new Command()
+
+program
+ .name('echodex')
+ .description('CLI Coding Agent Powered by Echo')
+ .version('1.0.0')
+
+program
+ .command('login')
+ .description('Authenticate with Echo or Wallet')
+ .action(async () => {
+ header('Authentication')
+
+ const authMethod = await select({
+ message: 'Choose authentication method:',
+ options: AUTH_OPTIONS
+ })
+
+ if (isCancel(authMethod)) {
+ warning('\nLogin cancelled')
+ process.exit(1)
+ }
+
+ let success = false
+ if (authMethod === 'echo') {
+ success = await loginWithEcho()
+ } else if (authMethod === 'wallet') {
+ success = await loginWithWallet()
+ } else if (authMethod === 'local-wallet') {
+ success = await initLocalWallet()
+ }
+
+ process.exit(success ? 0 : 1)
+ })
+
+program
+ .command('logout')
+ .description('Log out from Echo')
+ .action(async () => {
+ await logout()
+ process.exit(0)
+ })
+
+program
+ .command('profile')
+ .description('Show user profile information')
+ .action(async () => {
+ await showProfile()
+ process.exit(0)
+ })
+
+program
+ .command('model')
+ .description('Select the AI model to use for chat')
+ .action(async () => {
+ const success = await selectModel()
+ process.exit(success ? 0 : 1)
+ })
+
+program
+ .command('history')
+ .description('View conversation history')
+ .action(async () => {
+ await showConversationHistory()
+ process.exit(0)
+ })
+
+program
+ .command('export')
+ .description('Export conversation history as JSON')
+ .action(async () => {
+ const success = await exportConversationHistory()
+ process.exit(success ? 0 : 1)
+ })
+
+program
+ .command('clear-history')
+ .description('Clear all conversation history')
+ .action(async () => {
+ const success = await clearConversationHistory()
+ process.exit(success ? 0 : 1)
+ })
+
+program
+ .command('resume')
+ .description('Resume a conversation from history')
+ .action(async () => {
+ await resumeChatSession()
+ process.exit(0)
+ })
+
+program
+ .command('wallet-balance')
+ .description('Show local wallet USDC balance')
+ .action(async () => {
+ await showLocalWalletBalance()
+ process.exit(0)
+ })
+
+program
+ .command('wallet-address')
+ .description('Show local wallet address and QR code')
+ .action(async () => {
+ await showLocalWalletAddress()
+ process.exit(0)
+ })
+
+program
+ .command('export-private-key')
+ .description('Export local wallet private key (⚠️ SENSITIVE)')
+ .action(async () => {
+ await exportPrivateKey()
+ process.exit(0)
+ })
+
+program
+ .command('fund-wallet')
+ .description('Show QR code and wait for USDC deposit')
+ .action(async () => {
+ await fundWallet()
+ process.exit(0)
+ })
+
+program.action(async () => {
+ const authenticated = await isAuthenticated()
+
+ if (!authenticated) {
+ info(ECHODEX_ASCII_ART)
+ program.help()
+ process.exit(0)
+ } else {
+ await startChatSession()
+ process.exit(0)
+ }
+})
+
+program.parse()
diff --git a/templates/echo-cli/src/print.ts b/templates/echo-cli/src/print.ts
new file mode 100644
index 000000000..e228ce2c9
--- /dev/null
+++ b/templates/echo-cli/src/print.ts
@@ -0,0 +1,50 @@
+import chalk from 'chalk'
+
+export function info(message: string): void {
+ console.log(chalk.cyan(message))
+}
+
+export function success(message: string): void {
+ console.log(chalk.green(message))
+}
+
+export function warning(message: string): void {
+ console.log(chalk.yellow(message))
+}
+
+export function error(label: string, message?: string): void {
+ if (message) {
+ console.log(chalk.red(label), message)
+ } else {
+ console.log(chalk.red(label))
+ }
+}
+
+export function header(message: string): void {
+ console.log(chalk.bold(message))
+}
+
+export function label(label: string, value: string): void {
+ console.log(chalk.gray(label), value)
+}
+
+export function hint(message: string): void {
+ console.log(chalk.dim(message))
+}
+
+export function aiResponse(agentName: string, message: string): void {
+ process.stdout.write(chalk.blue(`${agentName}: `) + message)
+}
+
+export function write(text: string): void {
+ process.stdout.write(text)
+}
+
+export function newLine(): void {
+ process.stdout.write('\n')
+}
+
+export function blankLine(): void {
+ console.log()
+}
+
diff --git a/templates/echo-cli/src/utils/auth.ts b/templates/echo-cli/src/utils/auth.ts
new file mode 100644
index 000000000..28fa9a6c4
--- /dev/null
+++ b/templates/echo-cli/src/utils/auth.ts
@@ -0,0 +1,5 @@
+import { storage } from '@/config'
+
+export async function isAuthenticated(): Promise {
+ return storage.isAuthenticated()
+}
diff --git a/templates/echo-cli/src/utils/chains.ts b/templates/echo-cli/src/utils/chains.ts
new file mode 100644
index 000000000..5513961d2
--- /dev/null
+++ b/templates/echo-cli/src/utils/chains.ts
@@ -0,0 +1,24 @@
+export const CHAIN_NAMES: Record = {
+ 1: 'Ethereum',
+ 8453: 'Base',
+ 10: 'Optimism',
+ 137: 'Polygon',
+ 42161: 'Arbitrum'
+}
+
+export const CHAIN_NAMES_FULL: Record = {
+ 1: 'Ethereum Mainnet',
+ 8453: 'Base',
+ 10: 'Optimism',
+ 137: 'Polygon',
+ 42161: 'Arbitrum One'
+}
+
+export function getChainName(chainId: number, full: boolean = false): string {
+ const chains = full ? CHAIN_NAMES_FULL : CHAIN_NAMES
+ return chains[chainId] || 'Unknown'
+}
+
+export function isSupported(chainId: number): boolean {
+ return chainId in CHAIN_NAMES
+}
diff --git a/templates/echo-cli/src/utils/errors.ts b/templates/echo-cli/src/utils/errors.ts
new file mode 100644
index 000000000..c5ec46c8e
--- /dev/null
+++ b/templates/echo-cli/src/utils/errors.ts
@@ -0,0 +1,227 @@
+import { error, warning, hint, blankLine } from '@/print'
+
+export enum ErrorCode {
+ VALIDATION_ERROR = 'VALIDATION_ERROR',
+ AUTHENTICATION_FAILED = 'AUTHENTICATION_FAILED',
+ WALLET_SESSION_EXPIRED = 'WALLET_SESSION_EXPIRED',
+ WALLET_DISCONNECTED = 'WALLET_DISCONNECTED',
+ WRONG_CHAIN = 'WRONG_CHAIN',
+ INSUFFICIENT_FUNDS = 'INSUFFICIENT_FUNDS',
+ PAYMENT_FAILED = 'PAYMENT_FAILED',
+ API_ERROR = 'API_ERROR',
+ NOT_FOUND = 'NOT_FOUND',
+ CANCELLED = 'CANCELLED',
+ UNKNOWN = 'UNKNOWN'
+}
+
+export interface ErrorContext {
+ code: ErrorCode
+ message: string
+ details?: string
+ originalError?: unknown
+ responseBody?: string
+ requiredChainId?: number
+ currentChainId?: number
+}
+
+export class AppError extends Error {
+ code: ErrorCode
+ details?: string
+ originalError?: unknown
+ responseBody?: string
+ requiredChainId?: number
+ currentChainId?: number
+
+ constructor(context: ErrorContext) {
+ super(context.message)
+ this.name = 'AppError'
+ this.code = context.code
+ this.details = context.details
+ this.originalError = context.originalError
+ this.responseBody = context.responseBody
+ this.requiredChainId = context.requiredChainId
+ this.currentChainId = context.currentChainId
+ Object.setPrototypeOf(this, AppError.prototype)
+ }
+}
+
+export function createError(context: ErrorContext): AppError {
+ return new AppError(context)
+}
+
+export function throwError(context: ErrorContext): never {
+ throw createError(context)
+}
+
+export function handleError(err: unknown, fallbackMessage: string = 'An error occurred'): void {
+ if (err instanceof AppError) {
+ displayAppError(err)
+ } else if (err instanceof Error) {
+ error(err.message)
+ } else {
+ error(fallbackMessage)
+ }
+}
+
+export function displayAppError(err: unknown): void {
+ // Convert to AppError if needed
+ let appError: AppError
+
+ if (isAppError(err)) {
+ appError = err
+ } else if (is402PaymentError(err)) {
+ appError = transformPaymentError(err)
+ } else if (err instanceof Error) {
+ appError = createError({
+ code: ErrorCode.UNKNOWN,
+ message: err.message,
+ originalError: err
+ })
+ } else {
+ appError = createError({
+ code: ErrorCode.UNKNOWN,
+ message: 'An unexpected error occurred',
+ originalError: err
+ })
+ }
+
+ blankLine()
+
+ switch (appError.code) {
+ case ErrorCode.VALIDATION_ERROR:
+ error('Validation Error')
+ if (appError.details) {
+ hint(appError.details)
+ }
+ break
+
+ case ErrorCode.AUTHENTICATION_FAILED:
+ error('Authentication Failed')
+ hint(appError.message)
+ hint('Please check your credentials and try again')
+ break
+
+ case ErrorCode.WALLET_SESSION_EXPIRED:
+ error('Wallet Session Expired')
+ warning('Your WalletConnect session has expired or was disconnected')
+ hint('Please reconnect your wallet: echodex login')
+ break
+
+ case ErrorCode.WALLET_DISCONNECTED:
+ warning('Wallet Disconnected')
+ hint('Please reconnect your wallet: echodex login')
+ break
+
+ case ErrorCode.WRONG_CHAIN:
+ error('Wrong Blockchain Network')
+ hint(`Your wallet is on chain ${appError.currentChainId}`)
+ hint(`Please switch to chain ${appError.requiredChainId} in your mobile wallet`)
+ break
+
+ case ErrorCode.INSUFFICIENT_FUNDS:
+ error('💰 Insufficient USDC Balance')
+ warning('Your wallet does not have enough USDC to complete this request')
+ blankLine()
+ hint('To fund your wallet:')
+ hint(' • Run: echodex fund-wallet')
+ hint(' • Or check balance: echodex wallet-balance')
+ hint(' • Or view address: echodex wallet-address')
+ if (appError.details) {
+ blankLine()
+ hint(appError.details)
+ }
+ break
+
+ case ErrorCode.PAYMENT_FAILED:
+ error('Payment Processing Failed')
+ hint('Please try again or check your wallet connection')
+ break
+
+ case ErrorCode.API_ERROR:
+ error('API Error')
+ hint(appError.message)
+ break
+
+ case ErrorCode.NOT_FOUND:
+ warning('Not Found')
+ hint(appError.message)
+ break
+
+ case ErrorCode.CANCELLED:
+ warning(appError.message)
+ break
+
+ default:
+ error(appError.message)
+ }
+
+ blankLine()
+}
+
+export function extractErrorMessage(err: unknown): string {
+ if (err instanceof AppError) {
+ return err.message
+ }
+ if (err instanceof Error) {
+ return err.message
+ }
+ return 'Unknown error'
+}
+
+export function isAppError(err: unknown): err is AppError {
+ return err instanceof AppError
+}
+
+export function isErrorCode(err: unknown, code: ErrorCode): boolean {
+ return isAppError(err) && err.code === code
+}
+
+export function is402PaymentError(err: unknown): boolean {
+ if (err && typeof err === 'object' && 'statusCode' in err) {
+ return (err as any).statusCode === 402
+ }
+ return false
+}
+
+export function transformPaymentError(err: unknown): AppError {
+ const errorData = err as any
+
+ // Check if it's a 402 payment error
+ if (errorData.statusCode === 402) {
+ let details: string | undefined
+ try {
+ if (errorData.responseBody) {
+ const parsed = JSON.parse(errorData.responseBody)
+ details = parsed.error
+ }
+ } catch {
+ // Ignore JSON parse errors
+ }
+
+ return createError({
+ code: ErrorCode.INSUFFICIENT_FUNDS,
+ message: 'Insufficient USDC balance to complete this request',
+ details,
+ originalError: err
+ })
+ }
+
+ // Check for other payment-related errors
+ if (errorData.message?.includes('Payment Required') ||
+ errorData.message?.includes('payment') ||
+ errorData.message?.includes('402')) {
+ return createError({
+ code: ErrorCode.INSUFFICIENT_FUNDS,
+ message: 'Payment required - insufficient funds',
+ originalError: err
+ })
+ }
+
+ // Default to payment failed
+ return createError({
+ code: ErrorCode.PAYMENT_FAILED,
+ message: 'Payment processing failed',
+ originalError: err
+ })
+}
+
diff --git a/templates/echo-cli/src/utils/index.ts b/templates/echo-cli/src/utils/index.ts
new file mode 100644
index 000000000..5ee026ec8
--- /dev/null
+++ b/templates/echo-cli/src/utils/index.ts
@@ -0,0 +1,35 @@
+export { isAuthenticated } from './auth'
+export { consumeStream } from './stream'
+export { createThinkingSpinner } from './spinner'
+export { getChainName, isSupported, CHAIN_NAMES, CHAIN_NAMES_FULL } from './chains'
+export {
+ formatAddress,
+ parseCAIP10Address,
+ initializeEthereumProvider,
+ clearWalletSession,
+ type EthereumProviderInstance
+} from './wallet'
+export { createWalletSigner, createLocalWalletSigner } from './signer'
+export {
+ generateWallet,
+ getLocalWalletAddress,
+ formatPrivateKeyForDisplay,
+ generateQRCodeForAddress,
+ getUSDCBalance,
+ clearLocalWalletSession,
+ type GeneratedWallet
+} from './local-wallet'
+export {
+ ErrorCode,
+ AppError,
+ createError,
+ throwError,
+ handleError,
+ displayAppError,
+ extractErrorMessage,
+ isAppError,
+ isErrorCode,
+ is402PaymentError,
+ transformPaymentError,
+ type ErrorContext
+} from './errors'
diff --git a/templates/echo-cli/src/utils/local-wallet.ts b/templates/echo-cli/src/utils/local-wallet.ts
new file mode 100644
index 000000000..3a6a564d1
--- /dev/null
+++ b/templates/echo-cli/src/utils/local-wallet.ts
@@ -0,0 +1,101 @@
+import QRCode from 'qrcode-terminal'
+import { createPublicClient, http, type Address } from 'viem'
+import { privateKeyToAccount, generatePrivateKey } from 'viem/accounts'
+import { mainnet, base, optimism, polygon, arbitrum } from 'viem/chains'
+import { storage } from '@/config'
+
+const CHAIN_MAP = {
+ 1: mainnet,
+ 8453: base,
+ 10: optimism,
+ 137: polygon,
+ 42161: arbitrum
+} as const
+
+const USDC_ADDRESSES: Record = {
+ 1: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48',
+ 8453: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913',
+ 10: '0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85',
+ 137: '0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359',
+ 42161: '0xaf88d065e77c8cC2239327C5EDb3A432268e5831'
+}
+
+const USDC_ABI = [
+ {
+ constant: true,
+ inputs: [{ name: '_owner', type: 'address' }],
+ name: 'balanceOf',
+ outputs: [{ name: 'balance', type: 'uint256' }],
+ type: 'function'
+ }
+] as const
+
+export interface GeneratedWallet {
+ privateKey: `0x${string}`
+ address: Address
+}
+
+export function generateWallet(): GeneratedWallet {
+ const privateKey = generatePrivateKey()
+ const account = privateKeyToAccount(privateKey)
+
+ return {
+ privateKey,
+ address: account.address
+ }
+}
+
+export function getLocalWalletAddress(privateKey: `0x${string}`): Address {
+ const account = privateKeyToAccount(privateKey)
+ return account.address
+}
+
+export function formatPrivateKeyForDisplay(key: string): string {
+ if (key.length <= 10) {
+ return key
+ }
+ return `${key.slice(0, 6)}...${key.slice(-4)}`
+}
+
+export function generateQRCodeForAddress(address: string): void {
+ QRCode.generate(address, { small: true }, (qr: string) => {
+ console.log(qr)
+ })
+}
+
+export async function getUSDCBalance(address: Address, chainId: number): Promise {
+ const chain = CHAIN_MAP[chainId as keyof typeof CHAIN_MAP]
+ const usdcAddress = USDC_ADDRESSES[chainId]
+
+ if (!chain || !usdcAddress) {
+ throw new Error(`Unsupported chain: ${chainId}`)
+ }
+
+ const publicClient = createPublicClient({
+ chain,
+ transport: http()
+ })
+
+ try {
+ const balance = await publicClient.readContract({
+ address: usdcAddress,
+ abi: USDC_ABI,
+ functionName: 'balanceOf',
+ args: [address]
+ }) as bigint
+
+ // USDC has 6 decimals
+ const balanceNumber = Number(balance) / 1_000_000
+ return balanceNumber.toFixed(2)
+ } catch (err) {
+ // If balance query fails, return 0
+ return '0.00'
+ }
+}
+
+export async function clearLocalWalletSession(): Promise {
+ await storage.deleteLocalWalletPrivateKey()
+ await storage.deleteLocalWalletSession()
+ await storage.deleteAuthMethod()
+}
+
diff --git a/templates/echo-cli/src/utils/signer.ts b/templates/echo-cli/src/utils/signer.ts
new file mode 100644
index 000000000..9f5f32084
--- /dev/null
+++ b/templates/echo-cli/src/utils/signer.ts
@@ -0,0 +1,62 @@
+import { createWalletClient, custom, http, type WalletClient } from 'viem'
+import { privateKeyToAccount } from 'viem/accounts'
+import { mainnet, base, optimism, polygon, arbitrum } from 'viem/chains'
+import { getEthereumProvider } from '@/auth'
+import { storage } from '@/config'
+import type { Signer } from 'x402/types'
+
+const CHAIN_MAP = {
+ 1: mainnet,
+ 8453: base,
+ 10: optimism,
+ 137: polygon,
+ 42161: arbitrum
+}
+
+export async function createWalletSigner(): Promise {
+ const provider = await getEthereumProvider()
+ const session = await storage.getWalletSession()
+
+ if (!provider || !session) {
+ return null
+ }
+
+ const chain = CHAIN_MAP[session.chainId as keyof typeof CHAIN_MAP]
+
+ if (!chain) {
+ return null
+ }
+
+ const walletClient: WalletClient = createWalletClient({
+ account: session.address as `0x${string}`,
+ chain,
+ transport: custom(provider)
+ })
+
+ return walletClient as unknown as Signer
+}
+
+export async function createLocalWalletSigner(): Promise {
+ const privateKey = await storage.getLocalWalletPrivateKey()
+ const session = await storage.getLocalWalletSession()
+
+ if (!privateKey || !session) {
+ return null
+ }
+
+ const chain = CHAIN_MAP[session.chainId as keyof typeof CHAIN_MAP]
+
+ if (!chain) {
+ return null
+ }
+
+ const account = privateKeyToAccount(privateKey as `0x${string}`)
+
+ const walletClient: WalletClient = createWalletClient({
+ account,
+ chain,
+ transport: http()
+ })
+
+ return walletClient as unknown as Signer
+}
diff --git a/templates/echo-cli/src/utils/spinner.ts b/templates/echo-cli/src/utils/spinner.ts
new file mode 100644
index 000000000..a9eec38e8
--- /dev/null
+++ b/templates/echo-cli/src/utils/spinner.ts
@@ -0,0 +1,35 @@
+import ora, { Ora } from 'ora'
+import chalk, { ChalkInstance } from 'chalk'
+import { THINKING_COLORS, THINKING_MESSAGES, THINKING_INTERVAL } from '@/constants'
+
+export function createThinkingSpinner(): Ora {
+ const randomMessage = () => THINKING_MESSAGES[Math.floor(Math.random() * THINKING_MESSAGES.length)]
+ const randomColor = () => THINKING_COLORS[Math.floor(Math.random() * THINKING_COLORS.length)] as 'blue' | 'cyan' | 'green' | 'yellow' | 'magenta' | 'red'
+
+ const getColoredText = (color: string) => {
+ const message = randomMessage()
+ return (chalk[color as keyof ChalkInstance] as typeof chalk.blue)(message)
+ }
+
+ let currentColor = randomColor()
+ const spinner = ora({
+ text: getColoredText(currentColor),
+ color: currentColor,
+ spinner: 'dots'
+ }).start()
+
+ const interval = setInterval(() => {
+ currentColor = randomColor()
+ spinner.color = currentColor
+ spinner.text = getColoredText(currentColor)
+ }, THINKING_INTERVAL)
+
+ const originalStop = spinner.stop.bind(spinner)
+ spinner.stop = () => {
+ clearInterval(interval)
+ return originalStop()
+ }
+
+ return spinner
+}
+
diff --git a/templates/echo-cli/src/utils/stream.ts b/templates/echo-cli/src/utils/stream.ts
new file mode 100644
index 000000000..f07628e3a
--- /dev/null
+++ b/templates/echo-cli/src/utils/stream.ts
@@ -0,0 +1,16 @@
+export async function consumeStream(
+ stream: AsyncIterable,
+ onChunk: (chunk: string, isFirst: boolean) => void
+): Promise {
+ let result = ''
+ let isFirst = true
+
+ for await (const chunk of stream) {
+ onChunk(chunk, isFirst)
+ result += chunk
+ isFirst = false
+ }
+
+ return result
+}
+
diff --git a/templates/echo-cli/src/utils/wallet.ts b/templates/echo-cli/src/utils/wallet.ts
new file mode 100644
index 000000000..4a660e748
--- /dev/null
+++ b/templates/echo-cli/src/utils/wallet.ts
@@ -0,0 +1,45 @@
+import { EthereumProvider } from '@walletconnect/ethereum-provider'
+import { storage, StorageAdapter } from '@/config'
+import { WALLETCONNECT_PROJECT_ID, APP_METADATA, WALLET_CHAINS, WALLET_OPTIONAL_METHODS } from '@/constants'
+import pino from 'pino'
+
+export type EthereumProviderInstance = Awaited>
+
+export function formatAddress(address: string, prefixLength: number = 6, suffixLength: number = 4): string {
+ if (address.length <= prefixLength + suffixLength) {
+ return address
+ }
+ return `${address.slice(0, prefixLength)}...${address.slice(-suffixLength)}`
+}
+
+export function parseCAIP10Address(caip10: string): { chainId: number; address: string } | null {
+ const parts = caip10.split(':')
+
+ if (parts.length !== 3 || parts[0] !== 'eip155') {
+ return null
+ }
+
+ return {
+ chainId: parseInt(parts[1]),
+ address: parts[2]
+ }
+}
+
+export async function initializeEthereumProvider(): Promise {
+ const storageAdapter = new StorageAdapter(storage)
+
+ return EthereumProvider.init({
+ projectId: WALLETCONNECT_PROJECT_ID,
+ metadata: APP_METADATA,
+ showQrModal: false,
+ optionalChains: WALLET_CHAINS as [number, ...number[]],
+ optionalMethods: WALLET_OPTIONAL_METHODS,
+ storage: storageAdapter,
+ logger: pino({ level: 'silent' })
+ })
+}
+
+export async function clearWalletSession(): Promise {
+ await storage.deleteWalletSession()
+ await storage.deleteAuthMethod()
+}
diff --git a/templates/echo-cli/src/validation/index.ts b/templates/echo-cli/src/validation/index.ts
new file mode 100644
index 000000000..cfb208793
--- /dev/null
+++ b/templates/echo-cli/src/validation/index.ts
@@ -0,0 +1,25 @@
+export { validate, isValid, ValidationError } from './validator'
+export {
+ ApiKeySchema,
+ UserInfoSchema,
+ BalanceSchema,
+ StorageKeySchema,
+ ModelSchema,
+ MessageModeSchema,
+ ThreadMessageSchema,
+ ThreadSchema,
+ ThreadsSchema,
+ AuthMethodSchema,
+ WalletConnectSessionSchema,
+ LocalWalletSessionSchema,
+ type ApiKey,
+ type UserInfo,
+ type Balance,
+ type Model,
+ type MessageMode,
+ type ThreadMessage,
+ type Thread,
+ type AuthMethod,
+ type WalletConnectSession,
+ type LocalWalletSession
+} from './schemas'
diff --git a/templates/echo-cli/src/validation/schemas.ts b/templates/echo-cli/src/validation/schemas.ts
new file mode 100644
index 000000000..6cedbe1df
--- /dev/null
+++ b/templates/echo-cli/src/validation/schemas.ts
@@ -0,0 +1,73 @@
+import { z } from 'zod'
+import { MODELS } from '@/config/models'
+import { MESSAGE_MODES } from '@/config/messages'
+
+export const ApiKeySchema = z.string()
+ .min(1, 'API key cannot be empty')
+ .startsWith('echo_', 'API key must start with echo_')
+
+export const StorageKeySchema = z.string().min(1)
+
+export const UserInfoSchema = z.object({
+ id: z.string(),
+ name: z.string(),
+ image: z.url(),
+ createdAt: z.string(),
+ email: z.email(),
+ updatedAt: z.string(),
+ picture: z.url()
+})
+
+export const BalanceSchema = z.object({
+ totalPaid: z.number().nonnegative(),
+ totalSpent: z.number().nonnegative(),
+ balance: z.number().nonnegative(),
+ currency: z.string()
+})
+
+export const ModelSchema = z.enum(MODELS.map(model => model.value) as [string, ...string[]])
+
+export const MessageModeSchema = z.enum([MESSAGE_MODES.CHAT, MESSAGE_MODES.AGENT] as [string, string])
+
+export const ThreadMessageSchema = z.object({
+ role: z.enum(['user', 'assistant', 'system']),
+ content: z.string(),
+ mode: MessageModeSchema,
+ timestamp: z.string()
+})
+
+export const ThreadSchema = z.object({
+ id: z.string(),
+ createdAt: z.string(),
+ updatedAt: z.string(),
+ messages: z.array(ThreadMessageSchema),
+ model: ModelSchema
+})
+
+export const ThreadsSchema = z.array(ThreadSchema)
+
+export const AuthMethodSchema = z.enum(['echo', 'wallet', 'local-wallet'] as const)
+
+export const WalletConnectSessionSchema = z.object({
+ topic: z.string(),
+ address: z.string(),
+ chainId: z.number(),
+ expiry: z.number().optional()
+})
+
+export const LocalWalletSessionSchema = z.object({
+ address: z.string(),
+ chainId: z.number(),
+ createdAt: z.string()
+})
+
+export type ApiKey = z.infer
+export type UserInfo = z.infer
+export type Balance = z.infer
+export type Model = z.infer
+export type MessageMode = z.infer
+export type ThreadMessage = z.infer
+export type Thread = z.infer
+export type AuthMethod = z.infer
+export type WalletConnectSession = z.infer
+export type LocalWalletSession = z.infer
diff --git a/templates/echo-cli/src/validation/validator.ts b/templates/echo-cli/src/validation/validator.ts
new file mode 100644
index 000000000..7b24567e2
--- /dev/null
+++ b/templates/echo-cli/src/validation/validator.ts
@@ -0,0 +1,29 @@
+import { z } from 'zod'
+import { throwError, ErrorCode } from '@/utils'
+
+export class ValidationError extends Error {
+ constructor(message: string) {
+ super(message)
+ this.name = 'ValidationError'
+ }
+}
+
+export function validate(schema: z.ZodSchema, data: unknown): T {
+ const result = schema.safeParse(data)
+
+ if (!result.success) {
+ const errors = result.error.issues.map((e: z.ZodIssue) => `${e.path.join('.')}: ${e.message}`).join(', ')
+ throwError({
+ code: ErrorCode.VALIDATION_ERROR,
+ message: 'Validation failed',
+ details: errors
+ })
+ }
+
+ return result.data
+}
+
+export function isValid(schema: z.ZodSchema, data: unknown): data is T {
+ return schema.safeParse(data).success
+}
+
diff --git a/templates/echo-cli/tsconfig.json b/templates/echo-cli/tsconfig.json
new file mode 100644
index 000000000..db46dd927
--- /dev/null
+++ b/templates/echo-cli/tsconfig.json
@@ -0,0 +1,25 @@
+{
+ "compilerOptions": {
+ "target": "ES2022",
+ "module": "ESNext",
+ "moduleResolution": "Bundler",
+ "lib": ["ES2022"],
+ "types": ["node"],
+ "outDir": "./dist",
+ "rootDir": "./src",
+ "strict": true,
+ "esModuleInterop": true,
+ "skipLibCheck": true,
+ "forceConsistentCasingInFileNames": true,
+ "resolveJsonModule": true,
+ "declaration": true,
+ "declarationMap": true,
+ "sourceMap": true,
+ "baseUrl": "./src",
+ "paths": {
+ "@/*": ["./*"]
+ }
+ },
+ "include": ["src/**/*"],
+ "exclude": ["node_modules", "dist"]
+}