diff --git a/content/docs/nexus/widgets/components/deposit.mdx b/content/docs/nexus/widgets/components/deposit.mdx index 606398d..abca30b 100644 --- a/content/docs/nexus/widgets/components/deposit.mdx +++ b/content/docs/nexus/widgets/components/deposit.mdx @@ -6,6 +6,8 @@ links: doc: /docs/nexus/nexus-sdk/reference/bridge-methods/bridge-and-execute --- +import { SquareArrowUpRight } from "lucide-react"; + **Network support:** Mainnet only. Testnet is not supported at the moment. +## Configurator + +Generate the exact basic configuration for Deposit mode using the Widget Configurator . + ## Installation + + + NPM (Recommended) + shadcn/ui (Power Users) + + + +```bash +npm install @avail-project/widgets +``` + + + ```bash npx shadcn@latest add availproject/widgets/nexus ``` + + ## Usage @@ -27,6 +48,76 @@ Wrap your app with the Nexus provider first. See [NexusProvider Setup](/docs/nex Deposit requires a fixed destination chain, at least one destination token, a deposit contract address, and an `executeDeposit` builder describing the app call to run after Nexus delivers funds. The user picks the amount and pay-with sources; Nexus routes funds cross-chain and executes your contract call on the destination. + + + NPM (Recommended) + shadcn/ui (Power Users) + + + + +```tsx showLineNumbers +import { NexusWidget } from "@avail-project/widgets"; +import { encodeFunctionData } from "viem"; + +const AAVE_POOL_ARBITRUM = "0x794a61358D6845594F94dc1DB02A252b5b4814aD"; +const USDT_ARBITRUM = "0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9"; + +const AAVE_ABI = [ + { + inputs: [ + { internalType: "address", name: "asset", type: "address" }, + { internalType: "uint256", name: "amount", type: "uint256" }, + { internalType: "address", name: "onBehalfOf", type: "address" }, + { internalType: "uint16", name: "referralCode", type: "uint16" }, + ], + name: "supply", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export function DepositExample({ address }: { address?: `0x${string}` }) { + return ( + ({ + to: AAVE_POOL_ARBITRUM, + data: encodeFunctionData({ + abi: AAVE_ABI, + functionName: "supply", + args: [tokenAddress, amount, user, 0], + }), + gas: 400_000n, + tokenApproval: { + toTokenAddress: tokenAddress, + amount, + spender: AAVE_POOL_ARBITRUM, + }, + }), + appearance: { + appName: "Aave", + heading: "Deposit into Aave", + mode: "system", + }, + }} + /> + ); +} +``` + + + + + ```tsx showLineNumbers import { NexusWidget } from "@/components/nexus/nexus"; import { encodeFunctionData } from "viem"; @@ -67,6 +158,7 @@ export function DepositExample({ address }: { address?: `0x${string}` }) { functionName: "supply", args: [tokenAddress, amount, user, 0], }), + gas: 400_000n, tokenApproval: { toTokenAddress: tokenAddress, amount, @@ -84,6 +176,9 @@ export function DepositExample({ address }: { address?: `0x${string}` }) { } ``` + + + ## Configuration Deposit uses `mode: "deposit"`. Unlike send and swap, the destination is required and locked: the user only chooses the amount and the sources to pay with. @@ -180,7 +275,7 @@ Render the deposit flow as a modal instead of an embedded card: ```tsx showLineNumbers import { useState } from "react"; -import { NexusWidget } from "@/components/nexus/nexus"; +import { NexusWidget } from "@avail-project/widgets"; export function DepositModal({ config, diff --git a/content/docs/nexus/widgets/components/swaps.mdx b/content/docs/nexus/widgets/components/swaps.mdx index bb0a1db..0aa10b3 100644 --- a/content/docs/nexus/widgets/components/swaps.mdx +++ b/content/docs/nexus/widgets/components/swaps.mdx @@ -6,6 +6,8 @@ links: doc: /docs/nexus/nexus-sdk/reference/swap-methods/swap-exact-in --- +import { SquareArrowUpRight } from "lucide-react"; + **Network support:** Mainnet only. Testnet is not supported at the moment. +## Configurator + +Generate the exact basic configuration for Swap mode using the Widget Configurator . + ## Installation + + + NPM (Recommended) + shadcn/ui (Power Users) + + + +```bash +npm install @avail-project/widgets +``` + + + ```bash npx shadcn@latest add availproject/widgets/nexus ``` + + ## Usage Wrap your app with the Nexus provider first. See [NexusProvider Setup](/docs/nexus/widgets/get-started/nexus-provider-setup) for provider setup. + + + NPM (Recommended) + shadcn/ui (Power Users) + + + + +```tsx showLineNumbers +import { NexusWidget } from "@avail-project/widgets"; + +const USDC_BASE = "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"; + +export function SwapAndBridgeExample({ + address, +}: { + address?: `0x${string}`; +}) { + return ( + + ); +} +``` + + + + + ```tsx showLineNumbers import { NexusWidget } from "@/components/nexus/nexus"; @@ -50,6 +108,9 @@ export function SwapAndBridgeExample({ } ``` + + + ## Configuration Swap and Bridge uses `mode: "swap"`. Users pick a source asset, the quote determines the receive amount, and the flow submits through the Nexus swap execution path. diff --git a/content/docs/nexus/widgets/components/transfer.mdx b/content/docs/nexus/widgets/components/transfer.mdx index 8fcc505..8f8ef06 100644 --- a/content/docs/nexus/widgets/components/transfer.mdx +++ b/content/docs/nexus/widgets/components/transfer.mdx @@ -6,6 +6,8 @@ links: doc: /docs/nexus/nexus-sdk/reference/bridge-methods/transfer --- +import { SquareArrowUpRight } from "lucide-react"; + **Network support:** Mainnet only. Testnet is not supported at the moment. +## Configurator + +Generate the exact basic configuration for Send mode using the Widget Configurator . + ## Installation + + + NPM (Recommended) + shadcn/ui (Power Users) + + + +```bash +npm install @avail-project/widgets +``` + + + ```bash npx shadcn@latest add availproject/widgets/nexus ``` + + ## Usage Wrap your app with the Nexus provider first. See [NexusProvider Setup](/docs/nexus/widgets/get-started/nexus-provider-setup) for provider setup. + + + NPM (Recommended) + shadcn/ui (Power Users) + + + + +```tsx showLineNumbers +import { NexusWidget } from "@avail-project/widgets"; + +const USDC_BASE = "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"; +const RECIPIENT = "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"; + +export function SendExample({ address }: { address?: `0x${string}` }) { + return ( + + ); +} +``` + + + + + ```tsx showLineNumbers import { NexusWidget } from "@/components/nexus/nexus"; @@ -49,6 +106,9 @@ export function SendExample({ address }: { address?: `0x${string}` }) { } ``` + + + ## Configuration Send uses `mode: "send"`. This mode is exact-out: users enter the token amount to send, pay-with sources are selected, and the flow submits through the Nexus transfer execution path. diff --git a/content/docs/nexus/widgets/get-started/installation/index.mdx b/content/docs/nexus/widgets/get-started/installation/index.mdx index de3d680..774796b 100644 --- a/content/docs/nexus/widgets/get-started/installation/index.mdx +++ b/content/docs/nexus/widgets/get-started/installation/index.mdx @@ -16,15 +16,80 @@ Before you begin, make sure your project meets the following requirements: - **React 18+** with a framework like [Next.js](https://nextjs.org), [Vite](https://vitejs.dev), or similar - **Tailwind CSS v3 or v4** configured in your project - **A wallet connection library** such as [wagmi](https://wagmi.sh) + [RainbowKit](https://rainbowkit.com) or [ConnectKit](https://docs.family.co/connectkit) -- **Node.js 18+** and a package manager (npm, pnpm, or yarn) +- **Node.js 24+** and a package manager (npm, pnpm, or yarn) The widget needs access to the user's connected wallet provider to sign transactions. It is designed to work with wagmi's hooks, but any EIP-1193 compatible provider will work. -## Step 1 — Install shadcn/ui +## Interactive Configurator -Nexus Widget is built on [shadcn/ui](https://ui.shadcn.com) primitives. If your project doesn't have shadcn/ui set up yet, follow the official installation guide first. +Before installing, you can configure your widget live and copy the exact basic config for your desired widget using the Widget Configurator . + +## Installation Methods + +Choose your preferred installation method below. **NPM** is the recommended method for fast integration without adding extra source files to your repository. **shadcn/ui** is available for power users who require full source code control and customization. + + + + NPM (Recommended) + shadcn/ui (Power Users) + + + + +### Install the NPM Package + +Install the compiled @avail-project/widgets package directly from npm: + + + + npm + pnpm + yarn + bun + + +```bash +npm install @avail-project/widgets +``` + + +```bash +pnpm add @avail-project/widgets +``` + + +```bash +yarn add @avail-project/widgets +``` + + +```bash +bun add @avail-project/widgets +``` + + + +> **Peer dependencies:** `viem` and `wagmi` are required peer dependencies. Ensure they are installed in your project: +> +> ```bash +> npm install @avail-project/widgets viem wagmi @tanstack/react-query +> ``` + +The npm package ships pre-compiled styles and components — no manual component file copying required. + + + + + + +If you want complete source-level control over the component code and shadcn primitives, you can install Nexus Widget directly into your codebase using the shadcn CLI. + + +### Step 1 — Install shadcn/ui + +If your project doesn't have shadcn/ui set up yet, follow the official installation guide first: - -If shadcn/ui is already configured in your project, skip this step and proceed directly to installing the widget below. - - -## Step 2 — Install Nexus Widget +### Step 2 — Add Nexus Widget via shadcn CLI -With shadcn/ui configured, install Nexus Widget from the Avail Widgets registry. One component covers swap, send, and deposit, and brings in its own dependencies and source files. +With shadcn/ui configured, install Nexus Widget from the Avail Widgets registry: ```bash npx shadcn@latest add availproject/widgets/nexus @@ -60,29 +121,16 @@ This command will: 2. Install the required npm dependencies (including `@avail-project/nexus-core`) 3. Add the shadcn/ui primitives the component needs -See the [Swap and Bridge](/docs/nexus/widgets/components/swaps), [Deposit](/docs/nexus/widgets/components/deposit), and [Send](/docs/nexus/widgets/components/transfer) pages for per-mode configuration and usage. + + ### Legacy standalone components Earlier standalone elements (`SwapWidget`, `FastBridge`, `FastTransfer`, `NexusDeposit`, `UnifiedBalance`, `ViewHistory`) have been removed in favor of Nexus Widget. If you are upgrading from them, follow the [Widgets migration guide](/docs/nexus/migration/widgets-legacy-to-nexus-widget). -## Step 3 — Verify the installation - -After running the install command, confirm that the component files were added to your project: - -```bash -ls components/nexus/ -``` - -You should see the widget source files, including `nexus.tsx` (the `NexusWidget` component) and `NexusProvider.tsx`. The provider is essential — you will configure it in the next step. - - -The `NexusProvider` is a React context provider that initializes the Nexus SDK and makes it available to the widget in your app. The widget will not function without it. - - ## Next step -Your dependencies are installed and the component files are in place. Next, you need to wire up the `NexusProvider` so the SDK can connect to the user's wallet. +Your dependencies are installed. Next, you will wire up the `NexusProvider` so the SDK can connect to the user's wallet.
diff --git a/content/docs/nexus/widgets/get-started/nexus-provider-setup/index.mdx b/content/docs/nexus/widgets/get-started/nexus-provider-setup/index.mdx index cb126fd..c6a875e 100644 --- a/content/docs/nexus/widgets/get-started/nexus-provider-setup/index.mdx +++ b/content/docs/nexus/widgets/get-started/nexus-provider-setup/index.mdx @@ -9,20 +9,28 @@ In this step you will: 1. Wrap your application layout with the provider 2. Create a small helper component that initializes Nexus when a wallet connects + + + NPM (Recommended) + shadcn/ui (Power Users) + + + + ## Step 1 — Wrap your app with NexusProvider -Open your root layout file (or the highest-level client boundary in your app) and wrap the children with `NexusProvider`. This makes the Nexus SDK context available to every component in the tree. +Open your root layout file (or the highest-level client boundary in your app) and wrap the children with `NexusProvider` imported from `@avail-project/widgets`. ```tsx title="app/providers.tsx" showLineNumbers "use client"; -import NexusProvider from "@/components/nexus/NexusProvider"; +import { NexusProvider } from "@avail-project/widgets"; export default function Providers({ children, }: { children: React.ReactNode; }) { - return {children}; + return {children}; } ``` @@ -46,57 +54,131 @@ export default function RootLayout({ } ``` - -`NexusProvider` must be rendered **inside** your wallet provider (e.g. wagmi's `WagmiProvider`) because it needs access to the connected wallet. A typical nesting order is: +## Step 2 — Initialize Nexus on wallet connect -`WagmiProvider` → `QueryClientProvider` → `ConnectKitProvider` → **`NexusProvider`** → `{children}` - +Create an `InitNexusOnConnect` component that listens for wallet connection events and hands the provider instance to the SDK via `useNexus()` from `@avail-project/widgets`. + +```tsx title="components/InitNexusOnConnect.tsx" showLineNumbers +"use client"; +import { useEffect } from "react"; +import { useAccount, useConnectorClient } from "wagmi"; +import type { EthereumProvider } from "@avail-project/nexus-core"; +import { useNexus } from "@avail-project/widgets"; + +export function InitNexusOnConnect() { + const { status, connector } = useAccount(); + const { data: walletClient } = useConnectorClient(); + const { handleInit } = useNexus(); + + useEffect(() => { + if (status !== "connected") return; + + void (async () => { + const mobileProvider = walletClient + ? ({ request: (args: unknown) => walletClient.request(args as never) } as EthereumProvider) + : undefined; + const desktopProvider = await connector?.getProvider(); + const provider = mobileProvider ?? (desktopProvider as EthereumProvider | undefined); + if (!provider || typeof provider.request !== "function") return; + await handleInit(provider); + })(); + }, [status, connector, walletClient, handleInit]); + + return null; +} +``` + + + + + +## Step 1 — Wrap your app with NexusProvider + +Open your root layout file and wrap the children with `NexusProvider` installed into your local `components/nexus/` folder. + +```tsx title="app/providers.tsx" showLineNumbers +"use client"; +import NexusProvider from "@/components/nexus/NexusProvider"; + +export default function Providers({ + children, +}: { + children: React.ReactNode; +}) { + return {children}; +} +``` -`NexusProvider` accepts an optional `config` prop. The only setting you typically need is the network, which defaults to `"mainnet"`: +Then use this component in your root layout: -```tsx -{children} +```tsx title="app/layout.tsx" showLineNumbers +import Providers from "./providers"; + +export default function RootLayout({ + children, +}: { + children: React.ReactNode; +}) { + return ( + + + {children} + + + ); +} ``` ## Step 2 — Initialize Nexus on wallet connect -The Nexus SDK needs to be initialized with the user's wallet provider once a connection is established. Create an `InitNexusOnConnect` component that listens for wallet connection events and hands the provider instance to the SDK. +Create an `InitNexusOnConnect` component that listens for wallet connection events and passes the provider to `handleInit`: ```tsx title="components/InitNexusOnConnect.tsx" showLineNumbers "use client"; import { useEffect } from "react"; -import { useAccount } from "wagmi"; +import { useAccount, useConnectorClient } from "wagmi"; import type { EthereumProvider } from "@avail-project/nexus-core"; import { useNexus } from "@/components/nexus/NexusProvider"; export function InitNexusOnConnect() { const { status, connector } = useAccount(); + const { data: walletClient } = useConnectorClient(); const { handleInit } = useNexus(); useEffect(() => { - if (status === "connected") { - connector?.getProvider().then((p) => handleInit(p as EthereumProvider)); - } - }, [status, connector, handleInit]); + if (status !== "connected") return; + + void (async () => { + const mobileProvider = walletClient + ? ({ request: (args: unknown) => walletClient.request(args as never) } as EthereumProvider) + : undefined; + const desktopProvider = await connector?.getProvider(); + const provider = mobileProvider ?? (desktopProvider as EthereumProvider | undefined); + if (!provider || typeof provider.request !== "function") return; + await handleInit(provider); + })(); + }, [status, connector, walletClient, handleInit]); return null; } ``` -### How it works + + -- **`useAccount()`** comes from wagmi and provides the current connection status and connector. -- **`useNexus()`** exposes `handleInit`, the function that bootstraps the Nexus SDK with a wallet provider. -- When the user connects their wallet (`status === "connected"`), the effect retrieves the raw EIP-1193 provider from the connector and passes it to `handleInit`. -- The component renders nothing (`return null`) — it is purely a side-effect hook. + +`NexusProvider` must be rendered **inside** your wallet provider (e.g. wagmi's `WagmiProvider`) because it needs access to the connected wallet. A typical nesting order is: -### Render it alongside the provider +`WagmiProvider` → `QueryClientProvider` → `ConnectKitProvider` → **`NexusProvider`** → `{children}` + + +### Render `InitNexusOnConnect` alongside the provider -Add `InitNexusOnConnect` inside your providers so it runs automatically: +Add `InitNexusOnConnect` inside your providers component so it runs automatically when the wallet connects: ```tsx title="app/providers.tsx" showLineNumbers {3,12} "use client"; -import NexusProvider from "@/components/nexus/NexusProvider"; +import { NexusProvider } from "@avail-project/widgets"; import { InitNexusOnConnect } from "@/components/InitNexusOnConnect"; export default function Providers({ @@ -105,7 +187,7 @@ export default function Providers({ children: React.ReactNode; }) { return ( - + {children} @@ -117,18 +199,6 @@ export default function Providers({ Both `NexusProvider` and `InitNexusOnConnect` must be client components (marked with `"use client"`) because they use React hooks and browser APIs. -## Without shadcn/ui - -If you are not using shadcn/ui, you can still use Nexus Widget by manually copying the component source files from each component page. Keep in mind: - -- You must install all peer dependencies listed on the component page yourself -- UI primitives (buttons, inputs, dialogs, selects) must be provided by your own component library or built from scratch -- Styling and theming are your responsibility — the components ship with Tailwind CSS classes by default - - -We recommend using shadcn/ui. The CLI handles all dependency resolution and file scaffolding automatically. - - ## Next step The provider is configured and the SDK will initialize as soon as the user connects a wallet. You are now ready to render your first component. diff --git a/content/docs/nexus/widgets/get-started/your-first-widget/index.mdx b/content/docs/nexus/widgets/get-started/your-first-widget/index.mdx index 3d5d55f..f60b3ea 100644 --- a/content/docs/nexus/widgets/get-started/your-first-widget/index.mdx +++ b/content/docs/nexus/widgets/get-started/your-first-widget/index.mdx @@ -3,24 +3,91 @@ title: Your First Widget description: Render the Nexus Widget and understand how props and callbacks work. --- +import { SquareArrowUpRight } from "lucide-react"; + You have installed the component and configured the `NexusProvider`. Now it is time to render a working widget. In this guide you will add **Nexus Widget** to a page, understand each prop it accepts, and handle its lifecycle callbacks. ## What you will build By the end of this page you will have a fully functional swap-and-bridge widget embedded in your app. The user will be able to select a source and receive asset across chains and execute the intent — all with built-in progress UI, fee breakdowns, and error handling. Switching to send or deposit is a one-line `config.mode` change. -## Step 1 — Install the component +## Interactive Configurator + +You can generate the exact basic config for your desired widget mode live using the Widget Configurator . + +## Step 1 — Install the package -If you have not already installed it during the installation step, add it now: +If you have not already installed the package during the installation step, install it now: + + + + NPM (Recommended) + shadcn/ui (Power Users) + + + +```bash +npm install @avail-project/widgets +``` + + ```bash npx shadcn@latest add availproject/widgets/nexus ``` + + ## Step 2 — Create a page Create a new page (or add to an existing one) that renders `NexusWidget`. Here is a complete example: + + + NPM Import (Recommended) + shadcn Import (Power Users) + + + + +```tsx title="app/swap/page.tsx" showLineNumbers +"use client"; +import { useAccount } from "wagmi"; +import { NexusWidget } from "@avail-project/widgets"; + +const USDC_BASE = "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"; + +export default function SwapPage() { + const { address } = useAccount(); + + if (!address) { + return

Connect your wallet to get started.

; + } + + return ( +
+ console.log("Intent started")} + onComplete={(explorerUrl) => console.log("Complete!", explorerUrl)} + onError={(message) => console.error("Error:", message)} + /> +
+ ); +} +``` + +
+ + + ```tsx title="app/swap/page.tsx" showLineNumbers "use client"; import { useAccount } from "wagmi"; @@ -55,6 +122,9 @@ export default function SwapPage() { } ``` + +
+ ## Step 3 — Understand the props Here is a breakdown of the props `NexusWidget` accepts and what they control: diff --git a/content/docs/nexus/widgets/mcp-and-agent-skills/index.mdx b/content/docs/nexus/widgets/mcp-and-agent-skills/index.mdx index 93d3887..f31cef2 100644 --- a/content/docs/nexus/widgets/mcp-and-agent-skills/index.mdx +++ b/content/docs/nexus/widgets/mcp-and-agent-skills/index.mdx @@ -5,11 +5,15 @@ links: doc: https://ui.shadcn.com/docs/mcp --- -This page covers two ways AI assistants can work with Widgets: the **MCP server** for browsing and installing components via natural language, and **Agent Skills** for giving coding agents deep context about each component. +This page covers two ways AI assistants can work with Widgets: **Agent Skills** for giving coding agents deep context about each component, and the **MCP server** for browsing and installing components via natural language. + + +When integrating Avail Widgets, AI coding assistants should default to installing via npm (`npm install @avail-project/widgets`). Use the shadcn MCP approach only when explicit source-level control over component primitives is requested. + ## Agent Skills -[skills.sh](https://skills.sh) skills give AI coding agents (Codex, Claude Code, Cursor, etc.) deep context about Widgets components, enabling them to scaffold and integrate pre-built React components for bridging, swaps, deposits, and more. +[skills.sh](https://skills.sh) skills give AI coding agents (Codex, Claude Code, Cursor, Antigravity, etc.) deep context about Widgets components, enabling them to scaffold and integrate pre-built React components for bridging, swaps, deposits, and more. ### Install Skills @@ -31,6 +35,10 @@ npx skills add https://github.com/availproject/nexus-elements --skill nexus-widg | `nexus-widget-swaps` | Nexus Widget swap mode integration | | `nexus-widget-send` | Nexus Widget send mode integration | | `nexus-widget-deposit` | Nexus Widget deposit mode integration | +| `avail-widgets-swaps` | Swap and bridge component patterns | +| `avail-widgets-deposit` | Deposit component patterns | +| `avail-widgets-transfer` | Transfer / send component patterns | +| `avail-widgets-bridge-deposit` | Bridge & Deposit execution patterns | | `nexus-migration-guide` | Migrating legacy standalone elements to Nexus Widget | Browse all available skills at [skills.sh/availproject/nexus-elements](https://skills.sh/availproject/nexus-elements). @@ -39,11 +47,38 @@ Browse all available skills at [skills.sh/availproject/nexus-elements](https://s The Nexus SDK has its own set of agent skills for bridge flows, swap flows, hooks, and more. See the [SDK Skills Integration](/docs/nexus/nexus-sdk/reference/utility-reference#skills-integration) section. +--- ## MCP Server The shadcn MCP Server lets Cursor (and other MCP-compatible IDEs) talk directly to your Widgets registry so you can browse, search, and install UI packages with natural language. Detailed platform-agnostic docs live at [ui.shadcn.com/docs/mcp](https://ui.shadcn.com/docs/mcp), but this page focuses on the Widgets setup. +## Build Options + +### Option 1: NPM Package (Recommended for LLMs & Agents) + +The fastest and most robust way to integrate: + +```bash +npm install @avail-project/widgets viem wagmi @tanstack/react-query +``` + +```tsx +import { NexusWidget, NexusProvider } from "@avail-project/widgets"; +``` + +### Option 2: shadcn/ui Registry (Power Users) + +Install from the public registry for source-level code access: + +```bash +npx shadcn@latest add availproject/widgets/nexus +``` + +All legacy standalone elements (`FastBridge`, `FastTransfer`, `SwapWidget`, `Deposit`, `BridgeDeposit`, `UnifiedBalance`, `ViewHistory`) have been deprecated and removed in favor of Nexus Widget. + +--- + ## Nexus Registry Setup Add the Widgets registry to your local `components.json`. This gives any MCP client access to the published components. @@ -79,9 +114,9 @@ npx shadcn@latest mcp init --client cursor Open **Cursor Settings** and enable the shadcn MCP server. Then try prompts like: - - Show me all available components in the shadcn registry - - Add the button, dialog and card components to my project - - Create a contact form using components from the shadcn registry + - Add Nexus Widget to my project using npm install + - Install @avail-project/widgets and set up NexusProvider + - Add deposit mode to my app using Avail Widgets @@ -223,37 +258,17 @@ Restart Codex so it reloads the config. --- -## Configuring Registries - -You can mix public, third-party, and internal registries by extending `components.json`. - -```json title="components.json" showLineNumbers -{ - "registries": { - "@avail-widgets": "https://widgets.availproject.org/r/{name}.json", - "@acme": "https://registry.acme.com/{name}.json", - "@internal": { - "url": "https://internal.company.com/{name}.json", - "headers": { - "Authorization": "Bearer ${REGISTRY_TOKEN}" - } - } - } -} -``` +## Example Prompts - - **Tip:** No extra config is required for the default shadcn/ui registry—only - customize it when you need additional namespaces. - +### NPM Install ---- +- Install @avail-project/widgets and set up NexusProvider in my Next.js app +- Add Nexus Widget in deposit mode for my DeFi protocol using npm -## Example Prompts +### Browse & Search (shadcn registry) -- Show me all components in the @avail-widgets registry -- Add @avail-widgets/nexus to my project -- Set up the NexusProvider and render the Nexus Widget in swap mode +- Show me all available components in the @avail-widgets registry +- Add @avail-widgets/nexus to my project using shadcn --- @@ -280,12 +295,6 @@ You can mix public, third-party, and internal registries by extending `component 3. Make sure underlying dependencies (React, Tailwind, etc.) are installed. 4. Inspect CLI output for missing peer deps or TypeScript errors. -### No Tools or Prompts Listed - -1. Run `npx clear-npx-cache`. -2. Disable/re-enable the MCP server in your client. -3. Check the MCP log output (`View → Output → MCP: project-*` in Cursor). - --- ### Learn More @@ -294,5 +303,3 @@ You can mix public, third-party, and internal registries by extending `component - [Namespaces](https://ui.shadcn.com/docs/registry/namespace) – configuring multiple sources. - [Authentication](https://ui.shadcn.com/docs/registry/authentication) – securing private registries. - [MCP specification](https://modelcontextprotocol.io/) – full protocol details. - ---- diff --git a/package.json b/package.json index c7c7d97..6cc134a 100644 --- a/package.json +++ b/package.json @@ -24,6 +24,7 @@ }, "dependencies": { "@avail-project/nexus-core": "github:availproject/nexus-sdk#fix/bigint-issue-fix", + "@avail-project/widgets": "^2.0.4", "@phosphor-icons/react": "2.1.10", "@radix-ui/react-accordion": "^1.2.12", "@radix-ui/react-checkbox": "^1.3.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a5caeb2..363d48b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,7 +10,10 @@ importers: dependencies: '@avail-project/nexus-core': specifier: github:availproject/nexus-sdk#fix/bigint-issue-fix - version: https://codeload.github.com/availproject/nexus-sdk/tar.gz/d61f3b38e58d1d1c4a476478c927337396cd892b(@opentelemetry/api@1.9.0)(google-protobuf@3.21.4)(typescript@5.9.3)(zod@4.3.6) + version: https://codeload.github.com/availproject/nexus-sdk/tar.gz/d61f3b38e58d1d1c4a476478c927337396cd892b(@opentelemetry/api@1.9.0)(bufferutil@4.1.0)(google-protobuf@3.21.4)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@4.3.6) + '@avail-project/widgets': + specifier: ^2.0.4 + version: 2.0.4(@opentelemetry/api@1.9.0)(@types/react-dom@19.2.3(@types/react@19.2.10))(@types/react@19.2.10)(bufferutil@4.1.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3)(utf-8-validate@6.0.6)(viem@2.45.0(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@4.3.6))(wagmi@3.4.1(@tanstack/query-core@5.90.20)(@tanstack/react-query@5.90.20(react@19.2.4))(@types/react@19.2.10)(ox@0.11.3(typescript@5.9.3)(zod@4.3.6))(react@19.2.4)(typescript@5.9.3)(viem@2.45.0(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@4.3.6))) '@phosphor-icons/react': specifier: 2.1.10 version: 2.1.10(react-dom@19.2.4(react@19.2.4))(react@19.2.4) @@ -79,7 +82,7 @@ importers: version: 1.1.1(@types/react-dom@19.2.3(@types/react@19.2.10))(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) connectkit: specifier: ^1.9.1 - version: 1.9.1(@babel/core@7.28.6)(@tanstack/react-query@5.90.20(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react-is@18.3.1)(react@19.2.4)(viem@2.45.0(typescript@5.9.3)(zod@4.3.6))(wagmi@3.4.1(@tanstack/query-core@5.90.20)(@tanstack/react-query@5.90.20(react@19.2.4))(@types/react@19.2.10)(ox@0.11.3(typescript@5.9.3)(zod@4.3.6))(react@19.2.4)(typescript@5.9.3)(viem@2.45.0(typescript@5.9.3)(zod@4.3.6))) + version: 1.9.1(@babel/core@7.28.6)(@tanstack/react-query@5.90.20(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react-is@18.3.1)(react@19.2.4)(viem@2.45.0(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@4.3.6))(wagmi@3.4.1(@tanstack/query-core@5.90.20)(@tanstack/react-query@5.90.20(react@19.2.4))(@types/react@19.2.10)(ox@0.11.3(typescript@5.9.3)(zod@4.3.6))(react@19.2.4)(typescript@5.9.3)(viem@2.45.0(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@4.3.6))) front-matter: specifier: ^4.0.2 version: 4.0.2 @@ -133,10 +136,10 @@ importers: version: 3.4.0 viem: specifier: ~2.45.0 - version: 2.45.0(typescript@5.9.3)(zod@4.3.6) + version: 2.45.0(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@4.3.6) wagmi: specifier: ^3.4.1 - version: 3.4.1(@tanstack/query-core@5.90.20)(@tanstack/react-query@5.90.20(react@19.2.4))(@types/react@19.2.10)(ox@0.11.3(typescript@5.9.3)(zod@4.3.6))(react@19.2.4)(typescript@5.9.3)(viem@2.45.0(typescript@5.9.3)(zod@4.3.6)) + version: 3.4.1(@tanstack/query-core@5.90.20)(@tanstack/react-query@5.90.20(react@19.2.4))(@types/react@19.2.10)(ox@0.11.3(typescript@5.9.3)(zod@4.3.6))(react@19.2.4)(typescript@5.9.3)(viem@2.45.0(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@4.3.6)) zod: specifier: ^4.3.6 version: 4.3.6 @@ -192,6 +195,20 @@ importers: packages: + '@0no-co/graphql.web@1.3.3': + resolution: {integrity: sha512-4gFGBdyaFmQ6n9euhp5JtIGS4ZeivwDr1tCPENUxTvy5wyv532yOtFCr9zzYAJh1s6uibgC+TRXUcay+mxzCoQ==} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 + peerDependenciesMeta: + graphql: + optional: true + + '@0no-co/graphqlsp@1.17.3': + resolution: {integrity: sha512-4PPvxDPmbntddpgMyA3VId5/E9YGdRuuS/mW+THOvtTx/C79Pf+lN28LkNNACJrF9L7YACiAJelyOkC6LqUzvw==} + peerDependencies: + graphql: ^15.5.0 || ^16.0.0 || ^17.0.0 + typescript: ^5.0.0 || ^6.0.0 + '@adraffy/ens-normalize@1.10.1': resolution: {integrity: sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw==} @@ -213,11 +230,28 @@ packages: msgpackr: ^1.11.4 viem: ^2.31.7 + '@avail-project/nexus-core@2.2.3': + resolution: {integrity: sha512-W0U+3xtK4xPl6weIoGBEh2WZ/nVk6IfCUd5nP+FN1QyC1ObeKaulCt3p07WIsfXTKxHbOoGROyIsuNR64Ig70A==} + engines: {node: '>=18.0.0'} + '@avail-project/nexus-core@https://codeload.github.com/availproject/nexus-sdk/tar.gz/d61f3b38e58d1d1c4a476478c927337396cd892b': resolution: {tarball: https://codeload.github.com/availproject/nexus-sdk/tar.gz/d61f3b38e58d1d1c4a476478c927337396cd892b} version: 1.0.0-beta.64 engines: {node: '>=18.0.0', npm: '>=9.0.0'} + '@avail-project/nexus-types@0.1.21': + resolution: {integrity: sha512-GMn36KmRa71qZDgZ505eWHDxsfxPEBJcXuafe3/8EVRdCzdXXT/2xVkCaAC61pyUAnktSP2oL7sLHWoA6r+6Gg==} + peerDependencies: + zod: '>=4.0.0' + + '@avail-project/widgets@2.0.4': + resolution: {integrity: sha512-2JMfV20OTEhd6pzEoh3XUJluKyp02JcM3Pwb7LoJfqrfO6OApIg3u6l1QVQINwPXUvdP6TO7k9gFDmzF7jmSaw==} + peerDependencies: + react: '>=18.3.0 || >=19.0.0' + react-dom: '>=18.3.0 || >=19.0.0' + viem: ^2.38.3 + wagmi: ^2.17.4 + '@babel/code-frame@7.28.6': resolution: {integrity: sha512-JYgintcMjRiCvS8mMECzaEn+m3PfoQiyqukOMCCVQtoJGYJw8j/8LBJEiqkHLkfwCcs74E3pbAUFNg7d9VNJ+Q==} engines: {node: '>=6.9.0'} @@ -704,6 +738,31 @@ packages: tailwindcss: optional: true + '@gql.tada/cli-utils@1.9.3': + resolution: {integrity: sha512-P1TiXErpJwIi73sei5fzwGA/SOeCaIHFWFR4RdZPLwqxZzQN0T6MAUivzXBgKCORL67rvYnLaaPoWeqWq/61ug==} + peerDependencies: + '@0no-co/graphqlsp': ^1.16.0 + '@gql.tada/svelte-support': 1.0.3 + '@gql.tada/vue-support': 1.0.3 + graphql: ^15.5.0 || ^16.0.0 || ^17.0.0 + typescript: ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 + peerDependenciesMeta: + '@gql.tada/svelte-support': + optional: true + '@gql.tada/vue-support': + optional: true + + '@gql.tada/internal@1.2.2': + resolution: {integrity: sha512-4lZcElPP6MC8Ct8KN70LR2WQsHjbAsyAmTGG09VsOPhx738UFIYaL0S1XiI2pqq2tj/sDs/y3b9jvKoWGL7iuQ==} + peerDependencies: + graphql: ^15.5.0 || ^16.0.0 || ^17.0.0 + typescript: ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 + + '@graphql-typed-document-node/core@3.2.0': + resolution: {integrity: sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==} + peerDependencies: + graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + '@img/colour@1.0.0': resolution: {integrity: sha512-A5P/LfWGFSl6nsckYtjw9da+19jB8hkJ6ACTGcDfEJ0aE+l2n2El7dsVM7UVHZQ9s2lmYMWlrS21YLy2IR1LUw==} engines: {node: '>=18'} @@ -977,6 +1036,9 @@ packages: '@jridgewell/trace-mapping@0.3.31': resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} + '@mayanfinance/swap-sdk@13.3.0': + resolution: {integrity: sha512-wBsyJB4tTsVEdBeebBykK9KUiLziQ4hLnXomqB8/JT8MjWTCpN50gimAXK/TrepcHkZznQlMarqNNmbGCL9TZw==} + '@mdx-js/mdx@3.1.1': resolution: {integrity: sha512-f6ZO2ifpwAQIpzGWaBQT2TXxPv6z3RBzQKpVftEWN78Vl/YweF1uwussDx8ECAXVtr3Rs89fKyG9YlzUs9DyGQ==} @@ -1032,6 +1094,16 @@ packages: cpu: [x64] os: [win32] + '@mysten/bcs@1.9.2': + resolution: {integrity: sha512-kBk5xrxV9OWR7i+JhL/plQrgQ2/KJhB2pB5gj+w6GXhbMQwS3DPpOvi/zN0Tj84jwPvHMllpEl0QHj6ywN7/eQ==} + + '@mysten/sui@1.45.2': + resolution: {integrity: sha512-gftf7fNpFSiXyfXpbtP2afVEnhc7p2m/MEYc/SO5pov92dacGKOpQIF7etZsGDI1Wvhv+dpph+ulRNpnYSs7Bg==} + engines: {node: '>=18'} + + '@mysten/utils@0.2.0': + resolution: {integrity: sha512-CM6kJcJHX365cK6aXfFRLBiuyXc5WSBHQ43t94jqlCAIRw8umgNcTb5EnEA9n31wPAQgLDGgbG/rCUISCTJ66w==} + '@napi-rs/wasm-runtime@0.2.12': resolution: {integrity: sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==} @@ -1104,6 +1176,10 @@ packages: resolution: {integrity: sha512-k11yZxZg+t+gWvBbIswW0yoJlu8cHOC7dhunwOzoWH/mXGBiYyR4YY6hAEK/3EUs4UpB8la1RfdRpeGsFHkWsA==} engines: {node: ^14.21.3 || >=16} + '@noble/curves@1.9.4': + resolution: {integrity: sha512-2bKONnuM53lINoDrSmK8qP8W271ms7pygDhZt4SiLOoLwBtoHqeCFi6RG42V8zd3mLHuJFhU/Bmaqo4nX0/kBw==} + engines: {node: ^14.21.3 || >=16} + '@noble/curves@1.9.7': resolution: {integrity: sha512-gbKGcRUYIjA3/zCCNaWDciTMFI0dCkvou3TL8Zmy5Nc7sJ47a0jtOeZoTaMxkuqRo9cRhjOdZJXegxYE5FN/xw==} engines: {node: ^14.21.3 || >=16} @@ -1124,6 +1200,10 @@ packages: resolution: {integrity: sha512-CjruKY9V6NMssL/T1kAFgzosF1v9o6oeN+aX5JB/C/xPNtmgIJqcXHG7fA82Ou1zCpWGl4lROQUKwUNE1pMCyg==} engines: {node: '>=8.0.0'} + '@opentelemetry/api-logs@0.219.0': + resolution: {integrity: sha512-FFx7YnaYJlIjqWW/AG/yAZ0L/NEY724PipXXXQLdtZPbLwBGbUMTGL1i/esI56TWfTUXxhLfpgrnWJCG8aUJyg==} + engines: {node: '>=8.0.0'} + '@opentelemetry/api@1.9.0': resolution: {integrity: sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==} engines: {node: '>=8.0.0'} @@ -1134,48 +1214,96 @@ packages: peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.10.0' + '@opentelemetry/core@2.8.0': + resolution: {integrity: sha512-hd1Lfh8p545nNz+jq1Ejfz+Mn1hyLuxYn1YzTfFNrxr8urEWMNQLPf1Th8kjOH+HxwawCrtgBp8JpBUR4ZSgww==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': '>=1.0.0 <1.10.0' + '@opentelemetry/exporter-logs-otlp-http@0.208.0': resolution: {integrity: sha512-jOv40Bs9jy9bZVLo/i8FwUiuCvbjWDI+ZW13wimJm4LjnlwJxGgB+N/VWOZUTpM+ah/awXeQqKdNlpLf2EjvYg==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 + '@opentelemetry/exporter-logs-otlp-http@0.219.0': + resolution: {integrity: sha512-mhl2HL6GmZI8b8PwPfqMws/5ovJfbRTxwc9Y5agVVHiQ+e5SL1btsFr/kJDgt7YCexDtsUn5HAreHQO9szFS0A==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + '@opentelemetry/otlp-exporter-base@0.208.0': resolution: {integrity: sha512-gMd39gIfVb2OgxldxUtOwGJYSH8P1kVFFlJLuut32L6KgUC4gl1dMhn+YC2mGn0bDOiQYSk/uHOdSjuKp58vvA==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 + '@opentelemetry/otlp-exporter-base@0.219.0': + resolution: {integrity: sha512-zvIxQX/AZUVKDU+hCuYx+7UkiP7GRdnk1ZbFQRYzHvYp47cAWR4j3IhoPhV9KaeXEv2xdGq3IA6PnpzDmLcmSA==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + '@opentelemetry/otlp-transformer@0.208.0': resolution: {integrity: sha512-DCFPY8C6lAQHUNkzcNT9R+qYExvsk6C5Bto2pbNxgicpcSWbe2WHShLxkOxIdNcBiYPdVHv/e7vH7K6TI+C+fQ==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 + '@opentelemetry/otlp-transformer@0.219.0': + resolution: {integrity: sha512-aaYKAyXhw9VchKZVGOopD3Gw/kPsyrX2c6IQ0AW32mTjqmZOh5Y6Gf5OYqTNqVktAeBjmFinhyFaCwW6GYK9YQ==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + '@opentelemetry/resources@2.2.0': resolution: {integrity: sha512-1pNQf/JazQTMA0BiO5NINUzH0cbLbbl7mntLa4aJNmCCXSj0q03T5ZXXL0zw4G55TjdL9Tz32cznGClf+8zr5A==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.10.0' + '@opentelemetry/resources@2.8.0': + resolution: {integrity: sha512-qmXQ27ilDbUK/vGMqwL8D4/rhn76C+sherM4wTbjlfknR8Nvfc/hCxjRJPhkzZzUsPiNg16SA31NxMabwttRjg==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': '>=1.3.0 <1.10.0' + '@opentelemetry/sdk-logs@0.208.0': resolution: {integrity: sha512-QlAyL1jRpOeaqx7/leG1vJMp84g0xKP6gJmfELBpnI4O/9xPX+Hu5m1POk9Kl+veNkyth5t19hRlN6tNY1sjbA==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': '>=1.4.0 <1.10.0' + '@opentelemetry/sdk-logs@0.219.0': + resolution: {integrity: sha512-s6lTKRakaPClvKoWHRChxnXjDMkM/TQ30ff78jN6EBGf7MI7VzANE5PU3f4z9qDUudWjvZjOLHG0rBnBKYvoXA==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': '>=1.4.0 <1.10.0' + '@opentelemetry/sdk-metrics@2.2.0': resolution: {integrity: sha512-G5KYP6+VJMZzpGipQw7Giif48h6SGQ2PFKEYCybeXJsOCB4fp8azqMAAzE5lnnHK3ZVwYQrgmFbsUJO/zOnwGw==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': '>=1.9.0 <1.10.0' + '@opentelemetry/sdk-metrics@2.8.0': + resolution: {integrity: sha512-UDBGaj6W0Rgy5rTTaoxs8gVGF/aGkAKyjurJv7se6wjRxJu7FoquTLT/vt54DZfo4crbprYfhX/SOK9+BPw1qg==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': '>=1.9.0 <1.10.0' + '@opentelemetry/sdk-trace-base@2.2.0': resolution: {integrity: sha512-xWQgL0Bmctsalg6PaXExmzdedSp3gyKV8mQBwK/j9VGdCDu2fmXIb2gAehBKbkXCpJ4HPkgv3QfoJWRT4dHWbw==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.10.0' + '@opentelemetry/sdk-trace-base@2.8.0': + resolution: {integrity: sha512-mhU4jp+vW0mGbFRd+GeXHvmfA4aDqWjBjLC3pE5XMpLs0IE2ryYb019Ts2AQrOq67gaTF25D91+fgvEHDZEnuQ==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': '>=1.3.0 <1.10.0' + '@opentelemetry/semantic-conventions@1.39.0': resolution: {integrity: sha512-R5R9tb2AXs2IRLNKLBJDynhkfmx7mX0vi8NkhZb3gUkPWHn6HXk5J8iQ/dql0U3ApfWym4kXXmBDRGO+oeOfjg==} engines: {node: '>=14'} @@ -1205,9 +1333,24 @@ packages: '@posthog/core@1.23.1': resolution: {integrity: sha512-GViD5mOv/mcbZcyzz3z9CS0R79JzxVaqEz4sP5Dsea178M/j3ZWe6gaHDZB9yuyGfcmIMQ/8K14yv+7QrK4sQQ==} + '@posthog/core@1.30.6': + resolution: {integrity: sha512-9X9IUm4Iw9M+nxWOou8LdsvUCyAhDNwzYchMZOcOUVu+CY2oq19GJHC7fZ7UERoUppKVbgWQD51NlfFMHkjGKg==} + '@posthog/types@1.336.4': resolution: {integrity: sha512-BY3cq/8segbXEvHbEXx9SWmaKJEM0AGgsOgMFH2yy13AV+rUHsGcp4Z5LDI5pU25DURN9EAZvzcoVyYy/Iokmw==} + '@posthog/types@1.379.3': + resolution: {integrity: sha512-xx5GLkb/S/eSSQ0H0hnkn1BT7ZG1ZVetQ8/G/h8B5XyOM5prR96a/bgkcIbnK25GFSYyIMNx0X3syvBCYorkUA==} + + '@protobuf-ts/grpcweb-transport@2.11.1': + resolution: {integrity: sha512-1W4utDdvOB+RHMFQ0soL4JdnxjXV+ddeGIUg08DvZrA8Ms6k5NN6GBFU2oHZdTOcJVpPrDJ02RJlqtaoCMNBtw==} + + '@protobuf-ts/runtime-rpc@2.11.1': + resolution: {integrity: sha512-4CqqUmNA+/uMz00+d3CYKgElXO9VrEbucjnBFEjqI4GuDrEQ32MaI3q+9qPBvIGOlL4PmHXrzM32vBPWRhQKWQ==} + + '@protobuf-ts/runtime@2.11.1': + resolution: {integrity: sha512-KuDaT1IfHkugM2pyz+FwiY80ejWrkH1pAtOBOZFuR6SXEFTsnb/jiQWQ1rCIrcKx2BtyxnxW6BWwsVSA/Ie+WQ==} + '@protobufjs/aspromise@1.1.2': resolution: {integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==} @@ -2168,6 +2311,32 @@ packages: '@sinonjs/fake-timers@13.0.5': resolution: {integrity: sha512-36/hTbH2uaWuGVERyC6da9YwGWnzUZXuPro/F2LfsdOsLnCojz/iSH8MxUt/FD2S5XBSVPhmArFUXcpCQ2Hkiw==} + '@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-numbers@2.3.0': + resolution: {integrity: sha512-jFvvwKJKffvG7Iz9dmN51OGB7JBcy2CJ6Xf3NqD/VP90xak66m/Lg48T01u5IQ/hc15mChVHiBm+HHuOFDUrQg==} + 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/web3.js@1.98.4': + resolution: {integrity: sha512-vv9lfnvjUsRiq//+j5pBdXig0IQdtzA0BRZ3bXEP4KaIyF1CcaydWqgyzQgfZMNIsWNWmG+AUHwPy4AHOD6gpw==} + '@standard-schema/spec@1.1.0': resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==} @@ -2305,6 +2474,9 @@ packages: '@types/chai@5.2.3': resolution: {integrity: sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==} + '@types/connect@3.4.38': + resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} + '@types/debug@4.1.12': resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} @@ -2341,6 +2513,9 @@ packages: '@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.7.5': resolution: {integrity: sha512-jML7s2NAzMWc//QSJ1a3prpk78cOPchGvXJsC3C6R6PSMoooztvRVQEz89gmBTBY1SPMaqo5teB4uNHPdetShQ==} @@ -2373,6 +2548,12 @@ packages: '@types/unist@3.0.3': resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} + '@types/uuid@10.0.0': + resolution: {integrity: sha512-7gqG38EyHgyP1S+7+xomFtL+ZNHcKv6DwNaCZmJmo1vgMugyF3TCnXVg4t1uk89mLNwnLtnY3TpOpCOyp1/xHQ==} + + '@types/ws@7.4.7': + resolution: {integrity: sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==} + '@types/ws@8.18.1': resolution: {integrity: sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==} @@ -2597,6 +2778,14 @@ packages: aes-js@4.0.0-beta.5: resolution: {integrity: sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q==} + agent-base@6.0.2: + resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} + engines: {node: '>= 6.0.0'} + + agentkeepalive@4.6.0: + resolution: {integrity: sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ==} + engines: {node: '>= 8.0.0'} + ansi-escapes@4.3.2: resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} engines: {node: '>=8'} @@ -2669,6 +2858,9 @@ packages: axios@1.13.4: resolution: {integrity: sha512-1wVkUaAO6WyaYtCkcYCOx12ZgpGf9Zif+qXa4n+oYzK558YryKqiL6UWwd5DqiH3VRW0GYhTZQ/vlgJrCoNQlg==} + axios@1.18.1: + resolution: {integrity: sha512-3nTvFlvpn9Zu/RkHUqtc7/+al4UpRW5az71ap5zccp6e8RAYEzhMTecX8Dz1wWDYrPpUoB1HAQEGEAEvUr7S9g==} + babel-jest@30.2.0: resolution: {integrity: sha512-0YiBEOxWqKkSQWL9nNGGEgndoeL0ZpWrbLMNL5u/Kaxrli3Eaxlt3ZtIDktEvXt4L/R9r3ODr2zKwGM/2BjxVw==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} @@ -2708,6 +2900,9 @@ packages: 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==} @@ -2733,6 +2928,9 @@ packages: bn.js@5.2.2: resolution: {integrity: sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==} + borsh@0.7.0: + resolution: {integrity: sha512-CLCsZGIBCFnPtkNnieW/a8wmreDmfUtjU2m9yHrzPXIlNbqVs0AQrSatSG6vdNYUqdc83tkQi2eHfF98ubzQLA==} + brace-expansion@1.1.12: resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==} @@ -2774,6 +2972,9 @@ packages: bs58@4.0.1: resolution: {integrity: sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==} + bs58@6.0.0: + resolution: {integrity: sha512-PD0wEnEYg6ijszw/u8s+iI3H17cTymlrwkKhDhPZq+Sokl3AU4htyBFTjAeNAlCCmg0f53g6ih3jATyCKftTfw==} + bs58check@2.1.2: resolution: {integrity: sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==} @@ -2789,6 +2990,10 @@ packages: buffer@6.0.3: resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + bufferutil@4.1.0: + resolution: {integrity: sha512-ZMANVnAixE6AWWnPzlW2KpUrxhm9woycYvPOo67jWHyFowASTEd9s+QN1EIMsSDtwhIxN4sWE1jotpuDUIgyIw==} + engines: {node: '>=6.14.2'} + call-bind-apply-helpers@1.0.2: resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} engines: {node: '>= 0.4'} @@ -2833,6 +3038,10 @@ packages: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} + chalk@5.6.2: + resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + char-regex@1.0.2: resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} engines: {node: '>=10'} @@ -2926,6 +3135,9 @@ packages: resolution: {integrity: sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==} engines: {node: '>=20'} + commander@2.20.3: + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + compute-scroll-into-view@3.1.1: resolution: {integrity: sha512-VRhuHOLoKYOy4UbilLbUzbYg93XLjv2PncJC50EuTWPA3gaja1UjBsUP/D/9/juV3vQFr6XBEzn9KCAHdUvOHw==} @@ -2963,6 +3175,9 @@ packages: create-hmac@1.1.7: resolution: {integrity: sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==} + 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==} @@ -3028,6 +3243,10 @@ packages: resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} engines: {node: '>= 0.4'} + 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'} @@ -3065,6 +3284,9 @@ packages: dompurify@3.3.1: resolution: {integrity: sha512-qkdCKzLNtrgPFP1Vo+98FRzJnBRGe4ffyCea9IwHB1fyxPOeNTHpLKYGd4Uk9xvNoH0ZoOjwZxNptyMwqrId1Q==} + dompurify@3.4.13: + resolution: {integrity: sha512-2vmYIoqjze2d+kakP8S/nS5shfsl587kzwEjcGlTdiksUVgFHnFCsLYDVj/JNqJVOQZGSYBTmuycv0PodwmnMQ==} + dunder-proto@1.0.1: resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} engines: {node: '>= 0.4'} @@ -3131,6 +3353,15 @@ packages: es-toolkit@1.44.0: resolution: {integrity: sha512-6penXeZalaV88MM3cGkFZZfOoLGWshWWfdy0tWw/RlVVyhvMaWSBTOvXNeiW3e5FwdS5ePW0LGEu17zT139ktg==} + es-toolkit@1.46.1: + resolution: {integrity: sha512-5eNtXOs3tbfxXOj04tjjseeWkRWaoCjdEI+96DgwzZoe6c9juL49pXlzAFTI72aWC9Y8p7168g6XIKjh7k6pyQ==} + + es6-promise@4.2.8: + resolution: {integrity: sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==} + + es6-promisify@5.0.0: + resolution: {integrity: sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==} + esast-util-from-estree@2.0.0: resolution: {integrity: sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ==} @@ -3232,6 +3463,10 @@ packages: extend@3.0.2: resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} + eyes@0.1.8: + resolution: {integrity: sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ==} + engines: {node: '> 0.1.90'} + family@0.1.6: resolution: {integrity: sha512-ulHRThfhz+glfmVfSPcU16N1hZ/uj0Y1D79vl0PeJ3yFfgXlkiBbVwXRJhDQuP8oizxBCl16KT2PrMleiYwrPw==} peerDependencies: @@ -3252,6 +3487,9 @@ packages: fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + fast-stable-stringify@1.0.0: + resolution: {integrity: sha512-wpYMUmFu5f00Sm0cj2pfivpmawLZ0NKdviQ4w9zJeR8JVtOpOxHmLaJuj0vxvGqMJQWyP/COUkF75/57OKyRag==} + fb-watchman@2.0.2: resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} @@ -3284,6 +3522,15 @@ packages: debug: optional: true + follow-redirects@1.16.0: + resolution: {integrity: sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + for-each@0.3.5: resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==} engines: {node: '>= 0.4'} @@ -3459,9 +3706,19 @@ packages: resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} engines: {node: '>= 0.4'} + gql.tada@1.11.3: + resolution: {integrity: sha512-5JCI4j2f0nug8ILaCQys/yjOP78QqqjVUf47OQsME63rZfemsHT3e5vcfbHsnZiG6vxyqpKUJArtXEVwSefUhw==} + hasBin: true + peerDependencies: + typescript: ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 + graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + graphql@16.14.2: + resolution: {integrity: sha512-Chq1s4CY7jmh8gO2qvLIJyfCDIN+EHLFW/9iShnp1z8FjBQMoodWP1kDC36VAMXXIvAjj4ARa7ntfAV2BrjsbA==} + engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} + has-flag@3.0.0: resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} engines: {node: '>=4'} @@ -3538,10 +3795,17 @@ packages: html-void-elements@3.0.0: resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} + https-proxy-agent@5.0.1: + resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} + engines: {node: '>= 6'} + human-signals@2.1.0: resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} engines: {node: '>=10.17.0'} + humanize-ms@1.2.1: + resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==} + husky@9.1.7: resolution: {integrity: sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA==} engines: {node: '>=18'} @@ -3696,6 +3960,11 @@ packages: jackspeak@3.4.3: resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} + jayson@4.3.0: + resolution: {integrity: sha512-AauzHcUcqs8OBnCHOkJY280VaTiCm57AbuO7lqzcw7JapGj50BisE3xhksye4zlTSR1+1tAz67wLTl8tEH1obQ==} + engines: {node: '>=8'} + hasBin: true + jest-changed-files@30.2.0: resolution: {integrity: sha512-L8lR1ChrRnSdfeOvTrwZMlnWV8G/LLjQ0nG9MBclwWZidA2N5FviRki0Bvh20WRMOX31/JYvzdqTJrk5oBdydQ==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} @@ -3850,6 +4119,9 @@ packages: json-parse-even-better-errors@2.3.1: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + json-stringify-safe@5.0.1: + resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} + json5@2.2.3: resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} engines: {node: '>=6'} @@ -3981,6 +4253,11 @@ packages: lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + lucide-react@0.487.0: + resolution: {integrity: sha512-aKqhOQ+YmFnwq8dWgGjOuLc8V1R9/c/yOd+zDY4+ohsR2Jo05lSGc3WsstYPIzcTpeosN7LoCkLReUUITvaIvw==} + peerDependencies: + react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0 + lucide-react@0.561.0: resolution: {integrity: sha512-Y59gMY38tl4/i0qewcqohPdEbieBy7SovpBL9IFebhc2mDd8x4PZSOsiFRkpPcOq6bj1r/mjH/Rk73gSlIJP2A==} peerDependencies: @@ -4357,6 +4634,15 @@ packages: typescript: optional: true + ox@https://pkg.pr.new/ox@386a3439fe1ce76d237930f8c6e6bb493746069a: + resolution: {integrity: sha512-OHHm9re1yVjiMN66GZ2JSGuqmvJPrk40zh3PIS/3I6prZLbt6U/zKlgW18eIIkO0Y/ZyySKr6D/4mUXjBmky1g==, tarball: https://pkg.pr.new/ox@386a3439fe1ce76d237930f8c6e6bb493746069a} + version: 0.14.26-386a343.0 + peerDependencies: + typescript: '>=5.4.0' + peerDependenciesMeta: + typescript: + optional: true + p-limit@2.3.0: resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} engines: {node: '>=6'} @@ -4450,6 +4736,9 @@ packages: popmotion@11.0.3: resolution: {integrity: sha512-Y55FLdj3UxkR7Vl3s7Qr4e9m0onSnP8W7d/xQLsoJM40vs6UKHFdygs6SWryasTZYqugMjm3BepCF4CWXDiHgA==} + poseidon-lite@0.2.1: + resolution: {integrity: sha512-xIr+G6HeYfOhCuswdqcFpSX47SPhm0EpisWJ6h7fHlWwaVIvH3dLnejpatrtw6Xc6HaLrpq05y7VRfvDmDGIog==} + possible-typed-array-names@1.1.0: resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==} engines: {node: '>= 0.4'} @@ -4472,6 +4761,9 @@ packages: posthog-js@1.336.4: resolution: {integrity: sha512-NX81XaqOjS/gue3UsbAAuJxi6vD0AGy1HUvywBIhAArCwbTXKS04NhEFwUcYJdrmwXUf94MntEIWGoc1pTFDtg==} + posthog-js@1.379.3: + resolution: {integrity: sha512-Ej0Z6ZdaG8c0NoHtY0k1xiV/ws2WooX44Yr1GcuPU82uee+r6EuWf6fBsp9EDc5F/6MHe0RRpZG0YbLqM3TLTg==} + posthog-node@5.24.17: resolution: {integrity: sha512-mdb8TKt+YCRbGQdYar3AKNUPCyEiqcprScF4unYpGALF6HlBaEuO6wPuIqXXpCWkw4VclJYCKbb6lq6pH6bJeA==} engines: {node: ^20.20.0 || >=22.22.0} @@ -4496,6 +4788,10 @@ packages: proxy-from-env@1.1.0: resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + proxy-from-env@2.1.0: + resolution: {integrity: sha512-cJ+oHTW1VAEa8cJslgmUZrc+sjRKgAKl3Zyse6+PV38hZe/V6Z14TbCuXcan9F9ghlz4QrFr2c92TNF82UkYHA==} + engines: {node: '>=10'} + public-encrypt@4.0.3: resolution: {integrity: sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==} @@ -4707,6 +5003,9 @@ packages: engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true + rpc-websockets@9.3.9: + resolution: {integrity: sha512-2iQDaTB4g5fDB2ihrTFSJSibCEuxaRi1q7qTW7ZO9/M5/TC+ToHA4D9/ffNLEbAoHNNrcdeP05oATNk44SKZXA==} + safe-buffer@5.1.2: resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} @@ -4835,6 +5134,12 @@ packages: stream-browserify@3.0.0: resolution: {integrity: sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==} + 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==} + string-argv@0.3.2: resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} engines: {node: '>=0.6.19'} @@ -4918,6 +5223,10 @@ packages: babel-plugin-macros: optional: true + superstruct@2.0.2: + resolution: {integrity: sha512-uV+TFRZdXsqXTL2pRvujROjdZQ4RAlBUS5BTh9IGm+jTqQntYThciG/qu57Gs69yjnVUSqdxF9YLmSnpupBW9A==} + engines: {node: '>=14.0.0'} + supports-color@5.5.0: resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} engines: {node: '>=4'} @@ -4952,6 +5261,9 @@ packages: resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} engines: {node: '>=8'} + text-encoding-utf-8@1.0.2: + resolution: {integrity: sha512-8bw4MY9WjdsD2aMtO0OzOCY3pXGYNx2d2FfHRVUKkiCPDWjKuOlhLVASS+pD7VkLTVjW268LYJHwsnPFlBpbAg==} + throttleit@2.1.0: resolution: {integrity: sha512-nt6AMGKW1p/70DF/hGBdJB57B8Tspmbp5gfJ8ilhLnt7kkr2ye7hzD6NVG8GGErk2HWF34igrL2CXmNIkzKqKw==} engines: {node: '>=18'} @@ -5099,6 +5411,10 @@ packages: peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + utf-8-validate@6.0.6: + resolution: {integrity: sha512-q3l3P9UtEEiAHcsgsqTgf9PPjctrDWoIXW3NpOHFdRDbLvu4DLIcxHangJ4RLrWkBcKjmcs/6NkerI8T/rE4LA==} + engines: {node: '>=6.14.2'} + utf8@3.0.0: resolution: {integrity: sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==} @@ -5108,6 +5424,10 @@ packages: util@0.12.5: resolution: {integrity: sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==} + uuid@14.0.1: + resolution: {integrity: sha512-6ZxzVpzDXDa3bJWaHilVayA+BH/1zmxCJoVgvmqJnid/gPoKHxUrS/aC/T6LGQtNHT+XHG9fXPJB4d+IrU30Ew==} + hasBin: true + uuid@8.3.2: resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} hasBin: true @@ -5116,6 +5436,14 @@ packages: resolution: {integrity: sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==} engines: {node: '>=10.12.0'} + valibot@1.4.2: + resolution: {integrity: sha512-gjdCvJ6d3RyHAneqxMYMW9QMCwYMb3jpOO0IyHZV1bnRHFBHrX3VkIILt5XYR0WhwHiH7Mty8ovuPZ/O3gamrg==} + peerDependencies: + typescript: '>=5' + peerDependenciesMeta: + typescript: + optional: true + validator@13.15.23: resolution: {integrity: sha512-4yoz1kEWqUjzi5zsPbAS/903QXSYp0UOtHsPpp7p9rHAw/W+dkInskAE386Fat3oKRROwO98d9ZB0G4cObgUyw==} engines: {node: '>= 0.10'} @@ -5137,6 +5465,14 @@ packages: typescript: optional: true + viem@2.51.0: + resolution: {integrity: sha512-8C0Ca+eEapXE29vHMUW59NqKENl1X4s9P6xSNC9Nvw6EvAeAhn/LNUlgztk6TOw7KN1Gzz5a/n9Wv4okUfmY9g==} + peerDependencies: + typescript: '>=5.0.4' + peerDependenciesMeta: + typescript: + optional: true + vite@7.3.1: resolution: {integrity: sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==} engines: {node: ^20.19.0 || >=22.12.0} @@ -5325,6 +5661,18 @@ packages: utf-8-validate: optional: true + ws@8.20.1: + resolution: {integrity: sha512-It4dO0K5v//JtTXuPkfEOaI3uUN87iYPnqo/ZzqCoG3g8uhA66QUMs/SrM0YK7/NAu+r4LMh/9dq2A7k+rHs+w==} + 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 + xstream@11.14.0: resolution: {integrity: sha512-1bLb+kKKtKPbgTK6i/BaoAn03g47PpFstlbe1BA+y3pNS/LfvcaghS5BFf9+EE1J+KwSQsEpfJvFN5GqFtiNmw==} @@ -5366,6 +5714,9 @@ packages: zod@4.3.6: resolution: {integrity: sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==} + zod@4.4.3: + resolution: {integrity: sha512-ytENFjIJFl2UwYglde2jchW2Hwm4GJFLDiSXWdTrJQBIN9Fcyp7n4DhxJEiWNAJMV1/BqWfW/kkg71UDcHJyTQ==} + zustand@5.0.0: resolution: {integrity: sha512-LE+VcmbartOPM+auOjCCLQOsQ05zUTp8RkgwRzefUk+2jISdMMFnxvyTjA4YNWr5ZGXYbVsEMZosttuxUBkojQ==} engines: {node: '>=12.20.0'} @@ -5389,17 +5740,27 @@ packages: snapshots: + '@0no-co/graphql.web@1.3.3(graphql@16.14.2)': + optionalDependencies: + graphql: 16.14.2 + + '@0no-co/graphqlsp@1.17.3(graphql@16.14.2)(typescript@5.9.3)': + dependencies: + '@gql.tada/internal': 1.2.2(graphql@16.14.2)(typescript@5.9.3) + graphql: 16.14.2 + typescript: 5.9.3 + '@adraffy/ens-normalize@1.10.1': {} '@adraffy/ens-normalize@1.11.1': {} '@alloc/quick-lru@5.2.0': {} - '@avail-project/ca-common@1.0.0-beta16(@cosmjs/proto-signing@0.34.0)(@cosmjs/stargate@0.34.0)(axios@1.13.4)(decimal.js@10.6.0)(google-protobuf@3.21.4)(long@5.3.2)(msgpackr@1.11.8)(viem@2.45.0(typescript@5.9.3)(zod@4.3.6))': + '@avail-project/ca-common@1.0.0-beta16(@cosmjs/proto-signing@0.34.0)(@cosmjs/stargate@0.34.0(bufferutil@4.1.0)(utf-8-validate@6.0.6))(axios@1.13.4)(decimal.js@10.6.0)(google-protobuf@3.21.4)(long@5.3.2)(msgpackr@1.11.8)(viem@2.45.0(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@4.3.6))': dependencies: '@bufbuild/protobuf': 2.11.0 '@cosmjs/proto-signing': 0.34.0 - '@cosmjs/stargate': 0.34.0 + '@cosmjs/stargate': 0.34.0(bufferutil@4.1.0)(utf-8-validate@6.0.6) '@improbable-eng/grpc-web': 0.15.0(google-protobuf@3.21.4) '@improbable-eng/grpc-web-node-http-transport': 0.15.0(@improbable-eng/grpc-web@0.15.0(google-protobuf@3.21.4)) axios: 1.13.4 @@ -5409,33 +5770,57 @@ snapshots: long: 5.3.2 msgpackr: 1.11.8 tslib: 2.8.1 - viem: 2.45.0(typescript@5.9.3)(zod@4.3.6) + viem: 2.45.0(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@4.3.6) transitivePeerDependencies: - google-protobuf - '@avail-project/nexus-core@https://codeload.github.com/availproject/nexus-sdk/tar.gz/d61f3b38e58d1d1c4a476478c927337396cd892b(@opentelemetry/api@1.9.0)(google-protobuf@3.21.4)(typescript@5.9.3)(zod@4.3.6)': + '@avail-project/nexus-core@2.2.3(@opentelemetry/api@1.9.0)(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)': + dependencies: + '@avail-project/nexus-types': 0.1.21(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@4.4.3) + '@opentelemetry/api-logs': 0.219.0 + '@opentelemetry/exporter-logs-otlp-http': 0.219.0(@opentelemetry/api@1.9.0) + '@opentelemetry/resources': 2.8.0(@opentelemetry/api@1.9.0) + '@opentelemetry/sdk-logs': 0.219.0(@opentelemetry/api@1.9.0) + axios: 1.18.1 + decimal.js: 10.6.0 + es-toolkit: 1.46.1 + posthog-js: 1.379.3 + viem: 2.51.0(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@4.4.3) + zod: 4.4.3 + transitivePeerDependencies: + - '@gql.tada/svelte-support' + - '@gql.tada/vue-support' + - '@opentelemetry/api' + - bufferutil + - debug + - encoding + - supports-color + - typescript + - utf-8-validate + + '@avail-project/nexus-core@https://codeload.github.com/availproject/nexus-sdk/tar.gz/d61f3b38e58d1d1c4a476478c927337396cd892b(@opentelemetry/api@1.9.0)(bufferutil@4.1.0)(google-protobuf@3.21.4)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@4.3.6)': dependencies: - '@avail-project/ca-common': 1.0.0-beta16(@cosmjs/proto-signing@0.34.0)(@cosmjs/stargate@0.34.0)(axios@1.13.4)(decimal.js@10.6.0)(google-protobuf@3.21.4)(long@5.3.2)(msgpackr@1.11.8)(viem@2.45.0(typescript@5.9.3)(zod@4.3.6)) + '@avail-project/ca-common': 1.0.0-beta16(@cosmjs/proto-signing@0.34.0)(@cosmjs/stargate@0.34.0(bufferutil@4.1.0)(utf-8-validate@6.0.6))(axios@1.13.4)(decimal.js@10.6.0)(google-protobuf@3.21.4)(long@5.3.2)(msgpackr@1.11.8)(viem@2.45.0(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@4.3.6)) '@cosmjs/proto-signing': 0.34.0 - '@cosmjs/stargate': 0.34.0 + '@cosmjs/stargate': 0.34.0(bufferutil@4.1.0)(utf-8-validate@6.0.6) '@metamask/safe-event-emitter': 3.1.2 '@opentelemetry/api-logs': 0.208.0 '@opentelemetry/exporter-logs-otlp-http': 0.208.0(@opentelemetry/api@1.9.0) '@opentelemetry/resources': 2.2.0(@opentelemetry/api@1.9.0) '@opentelemetry/sdk-logs': 0.208.0(@opentelemetry/api@1.9.0) '@starkware-industries/starkware-crypto-utils': 0.2.1 - '@tronweb3/tronwallet-abstract-adapter': 1.1.10 + '@tronweb3/tronwallet-abstract-adapter': 1.1.10(bufferutil@4.1.0)(utf-8-validate@6.0.6) axios: 1.13.4 buffer: 6.0.3 decimal.js: 10.6.0 es-toolkit: 1.44.0 - it-ws: 6.1.5 + it-ws: 6.1.5(bufferutil@4.1.0)(utf-8-validate@6.0.6) long: 5.3.2 msgpackr: 1.11.8 posthog-js: 1.336.4 - tronweb: 6.1.1 + tronweb: 6.1.1(bufferutil@4.1.0)(utf-8-validate@6.0.6) tslib: 2.8.1 - viem: 2.45.0(typescript@5.9.3)(zod@4.3.6) + viem: 2.45.0(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@4.3.6) transitivePeerDependencies: - '@opentelemetry/api' - bufferutil @@ -5446,6 +5831,46 @@ snapshots: - utf-8-validate - zod + '@avail-project/nexus-types@0.1.21(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@4.4.3)': + dependencies: + '@mayanfinance/swap-sdk': 13.3.0(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6) + viem: 2.51.0(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@4.4.3) + zod: 4.4.3 + transitivePeerDependencies: + - '@gql.tada/svelte-support' + - '@gql.tada/vue-support' + - bufferutil + - encoding + - typescript + - utf-8-validate + + '@avail-project/widgets@2.0.4(@opentelemetry/api@1.9.0)(@types/react-dom@19.2.3(@types/react@19.2.10))(@types/react@19.2.10)(bufferutil@4.1.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3)(utf-8-validate@6.0.6)(viem@2.45.0(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@4.3.6))(wagmi@3.4.1(@tanstack/query-core@5.90.20)(@tanstack/react-query@5.90.20(react@19.2.4))(@types/react@19.2.10)(ox@0.11.3(typescript@5.9.3)(zod@4.3.6))(react@19.2.4)(typescript@5.9.3)(viem@2.45.0(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@4.3.6)))': + dependencies: + '@avail-project/nexus-core': 2.2.3(@opentelemetry/api@1.9.0)(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6) + '@radix-ui/react-dialog': 1.1.15(@types/react-dom@19.2.3(@types/react@19.2.10))(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + '@radix-ui/react-slot': 1.2.4(@types/react@19.2.10)(react@19.2.4) + class-variance-authority: 0.7.1 + clsx: 2.1.1 + decimal.js: 10.6.0 + lucide-react: 0.487.0(react@19.2.4) + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) + tailwind-merge: 3.4.0 + viem: 2.45.0(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@4.3.6) + wagmi: 3.4.1(@tanstack/query-core@5.90.20)(@tanstack/react-query@5.90.20(react@19.2.4))(@types/react@19.2.10)(ox@0.11.3(typescript@5.9.3)(zod@4.3.6))(react@19.2.4)(typescript@5.9.3)(viem@2.45.0(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@4.3.6)) + transitivePeerDependencies: + - '@gql.tada/svelte-support' + - '@gql.tada/vue-support' + - '@opentelemetry/api' + - '@types/react' + - '@types/react-dom' + - bufferutil + - debug + - encoding + - supports-color + - typescript + - utf-8-validate + '@babel/code-frame@7.28.6': dependencies: '@babel/helper-validator-identifier': 7.28.5 @@ -5721,24 +6146,24 @@ snapshots: '@cosmjs/utils': 0.34.1 cosmjs-types: 0.9.0 - '@cosmjs/socket@0.34.1': + '@cosmjs/socket@0.34.1(bufferutil@4.1.0)(utf-8-validate@6.0.6)': dependencies: '@cosmjs/stream': 0.34.1 - isomorphic-ws: 4.0.1(ws@7.5.10) - ws: 7.5.10 + isomorphic-ws: 4.0.1(ws@7.5.10(bufferutil@4.1.0)(utf-8-validate@6.0.6)) + ws: 7.5.10(bufferutil@4.1.0)(utf-8-validate@6.0.6) xstream: 11.14.0 transitivePeerDependencies: - bufferutil - utf-8-validate - '@cosmjs/stargate@0.34.0': + '@cosmjs/stargate@0.34.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)': dependencies: '@cosmjs/amino': 0.34.1 '@cosmjs/encoding': 0.34.1 '@cosmjs/math': 0.34.1 '@cosmjs/proto-signing': 0.34.0 '@cosmjs/stream': 0.34.1 - '@cosmjs/tendermint-rpc': 0.34.1 + '@cosmjs/tendermint-rpc': 0.34.1(bufferutil@4.1.0)(utf-8-validate@6.0.6) '@cosmjs/utils': 0.34.1 cosmjs-types: 0.9.0 transitivePeerDependencies: @@ -5750,13 +6175,13 @@ snapshots: dependencies: xstream: 11.14.0 - '@cosmjs/tendermint-rpc@0.34.1': + '@cosmjs/tendermint-rpc@0.34.1(bufferutil@4.1.0)(utf-8-validate@6.0.6)': dependencies: '@cosmjs/crypto': 0.34.1 '@cosmjs/encoding': 0.34.1 '@cosmjs/json-rpc': 0.34.1 '@cosmjs/math': 0.34.1 - '@cosmjs/socket': 0.34.1 + '@cosmjs/socket': 0.34.1(bufferutil@4.1.0)(utf-8-validate@6.0.6) '@cosmjs/stream': 0.34.1 '@cosmjs/utils': 0.34.1 cross-fetch: 4.1.0 @@ -5931,6 +6356,23 @@ snapshots: - waku - zod + '@gql.tada/cli-utils@1.9.3(@0no-co/graphqlsp@1.17.3(graphql@16.14.2)(typescript@5.9.3))(graphql@16.14.2)(typescript@5.9.3)': + dependencies: + '@0no-co/graphqlsp': 1.17.3(graphql@16.14.2)(typescript@5.9.3) + '@gql.tada/internal': 1.2.2(graphql@16.14.2)(typescript@5.9.3) + graphql: 16.14.2 + typescript: 5.9.3 + + '@gql.tada/internal@1.2.2(graphql@16.14.2)(typescript@5.9.3)': + dependencies: + '@0no-co/graphql.web': 1.3.3(graphql@16.14.2) + graphql: 16.14.2 + typescript: 5.9.3 + + '@graphql-typed-document-node/core@3.2.0(graphql@16.14.2)': + dependencies: + graphql: 16.14.2 + '@img/colour@1.0.0': optional: true @@ -6254,6 +6696,24 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.5 + '@mayanfinance/swap-sdk@13.3.0(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)': + dependencies: + '@mysten/sui': 1.45.2(typescript@5.9.3) + '@noble/hashes': 1.8.0 + '@solana/buffer-layout': 4.0.1 + '@solana/web3.js': 1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6) + bs58: 6.0.0 + cross-fetch: 3.2.0 + ethers: 6.13.5(bufferutil@4.1.0)(utf-8-validate@6.0.6) + js-sha3: 0.8.0 + transitivePeerDependencies: + - '@gql.tada/svelte-support' + - '@gql.tada/vue-support' + - bufferutil + - encoding + - typescript + - utf-8-validate + '@mdx-js/mdx@3.1.1': dependencies: '@types/estree': 1.0.8 @@ -6339,6 +6799,37 @@ snapshots: '@msgpackr-extract/msgpackr-extract-win32-x64@3.0.3': optional: true + '@mysten/bcs@1.9.2': + dependencies: + '@mysten/utils': 0.2.0 + '@scure/base': 1.2.6 + + '@mysten/sui@1.45.2(typescript@5.9.3)': + dependencies: + '@graphql-typed-document-node/core': 3.2.0(graphql@16.14.2) + '@mysten/bcs': 1.9.2 + '@mysten/utils': 0.2.0 + '@noble/curves': 1.9.4 + '@noble/hashes': 1.8.0 + '@protobuf-ts/grpcweb-transport': 2.11.1 + '@protobuf-ts/runtime': 2.11.1 + '@protobuf-ts/runtime-rpc': 2.11.1 + '@scure/base': 1.2.6 + '@scure/bip32': 1.7.0 + '@scure/bip39': 1.6.0 + gql.tada: 1.11.3(graphql@16.14.2)(typescript@5.9.3) + graphql: 16.14.2 + poseidon-lite: 0.2.1 + valibot: 1.4.2(typescript@5.9.3) + transitivePeerDependencies: + - '@gql.tada/svelte-support' + - '@gql.tada/vue-support' + - typescript + + '@mysten/utils@0.2.0': + dependencies: + '@scure/base': 1.2.6 + '@napi-rs/wasm-runtime@0.2.12': dependencies: '@emnapi/core': 1.8.1 @@ -6386,6 +6877,10 @@ snapshots: dependencies: '@noble/hashes': 1.8.0 + '@noble/curves@1.9.4': + dependencies: + '@noble/hashes': 1.8.0 + '@noble/curves@1.9.7': dependencies: '@noble/hashes': 1.8.0 @@ -6400,6 +6895,10 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 + '@opentelemetry/api-logs@0.219.0': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/api@1.9.0': {} '@opentelemetry/core@2.2.0(@opentelemetry/api@1.9.0)': @@ -6407,6 +6906,11 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/semantic-conventions': 1.39.0 + '@opentelemetry/core@2.8.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/semantic-conventions': 1.39.0 + '@opentelemetry/exporter-logs-otlp-http@0.208.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 @@ -6416,12 +6920,27 @@ snapshots: '@opentelemetry/otlp-transformer': 0.208.0(@opentelemetry/api@1.9.0) '@opentelemetry/sdk-logs': 0.208.0(@opentelemetry/api@1.9.0) + '@opentelemetry/exporter-logs-otlp-http@0.219.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/api-logs': 0.219.0 + '@opentelemetry/core': 2.8.0(@opentelemetry/api@1.9.0) + '@opentelemetry/otlp-exporter-base': 0.219.0(@opentelemetry/api@1.9.0) + '@opentelemetry/otlp-transformer': 0.219.0(@opentelemetry/api@1.9.0) + '@opentelemetry/sdk-logs': 0.219.0(@opentelemetry/api@1.9.0) + '@opentelemetry/otlp-exporter-base@0.208.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 2.2.0(@opentelemetry/api@1.9.0) '@opentelemetry/otlp-transformer': 0.208.0(@opentelemetry/api@1.9.0) + '@opentelemetry/otlp-exporter-base@0.219.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/core': 2.8.0(@opentelemetry/api@1.9.0) + '@opentelemetry/otlp-transformer': 0.219.0(@opentelemetry/api@1.9.0) + '@opentelemetry/otlp-transformer@0.208.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 @@ -6433,12 +6952,28 @@ snapshots: '@opentelemetry/sdk-trace-base': 2.2.0(@opentelemetry/api@1.9.0) protobufjs: 7.5.4 + '@opentelemetry/otlp-transformer@0.219.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/api-logs': 0.219.0 + '@opentelemetry/core': 2.8.0(@opentelemetry/api@1.9.0) + '@opentelemetry/resources': 2.8.0(@opentelemetry/api@1.9.0) + '@opentelemetry/sdk-logs': 0.219.0(@opentelemetry/api@1.9.0) + '@opentelemetry/sdk-metrics': 2.8.0(@opentelemetry/api@1.9.0) + '@opentelemetry/sdk-trace-base': 2.8.0(@opentelemetry/api@1.9.0) + '@opentelemetry/resources@2.2.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 2.2.0(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.39.0 + '@opentelemetry/resources@2.8.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/core': 2.8.0(@opentelemetry/api@1.9.0) + '@opentelemetry/semantic-conventions': 1.39.0 + '@opentelemetry/sdk-logs@0.208.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 @@ -6446,12 +6981,26 @@ snapshots: '@opentelemetry/core': 2.2.0(@opentelemetry/api@1.9.0) '@opentelemetry/resources': 2.2.0(@opentelemetry/api@1.9.0) + '@opentelemetry/sdk-logs@0.219.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/api-logs': 0.219.0 + '@opentelemetry/core': 2.8.0(@opentelemetry/api@1.9.0) + '@opentelemetry/resources': 2.8.0(@opentelemetry/api@1.9.0) + '@opentelemetry/semantic-conventions': 1.39.0 + '@opentelemetry/sdk-metrics@2.2.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 2.2.0(@opentelemetry/api@1.9.0) '@opentelemetry/resources': 2.2.0(@opentelemetry/api@1.9.0) + '@opentelemetry/sdk-metrics@2.8.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/core': 2.8.0(@opentelemetry/api@1.9.0) + '@opentelemetry/resources': 2.8.0(@opentelemetry/api@1.9.0) + '@opentelemetry/sdk-trace-base@2.2.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 @@ -6459,6 +7008,13 @@ snapshots: '@opentelemetry/resources': 2.2.0(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.39.0 + '@opentelemetry/sdk-trace-base@2.8.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/core': 2.8.0(@opentelemetry/api@1.9.0) + '@opentelemetry/resources': 2.8.0(@opentelemetry/api@1.9.0) + '@opentelemetry/semantic-conventions': 1.39.0 + '@opentelemetry/semantic-conventions@1.39.0': {} '@orama/orama@3.1.18': {} @@ -6481,8 +7037,25 @@ snapshots: dependencies: cross-spawn: 7.0.6 + '@posthog/core@1.30.6': + dependencies: + '@posthog/types': 1.379.3 + '@posthog/types@1.336.4': {} + '@posthog/types@1.379.3': {} + + '@protobuf-ts/grpcweb-transport@2.11.1': + dependencies: + '@protobuf-ts/runtime': 2.11.1 + '@protobuf-ts/runtime-rpc': 2.11.1 + + '@protobuf-ts/runtime-rpc@2.11.1': + dependencies: + '@protobuf-ts/runtime': 2.11.1 + + '@protobuf-ts/runtime@2.11.1': {} + '@protobufjs/aspromise@1.1.2': {} '@protobufjs/base64@1.1.2': {} @@ -7445,6 +8018,50 @@ snapshots: dependencies: '@sinonjs/commons': 3.0.1 + '@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-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/errors@2.3.0(typescript@5.9.3)': + dependencies: + chalk: 5.6.2 + commander: 14.0.3 + typescript: 5.9.3 + + '@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)': + dependencies: + '@babel/runtime': 7.26.10 + '@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.3.0(bufferutil@4.1.0)(utf-8-validate@6.0.6) + node-fetch: 2.7.0 + rpc-websockets: 9.3.9 + superstruct: 2.0.2 + transitivePeerDependencies: + - bufferutil + - encoding + - typescript + - utf-8-validate + '@standard-schema/spec@1.1.0': {} '@starkware-industries/starkware-crypto-utils@0.2.1': @@ -7546,10 +8163,10 @@ snapshots: '@tanstack/query-core': 5.90.20 react: 19.2.4 - '@tronweb3/tronwallet-abstract-adapter@1.1.10': + '@tronweb3/tronwallet-abstract-adapter@1.1.10(bufferutil@4.1.0)(utf-8-validate@6.0.6)': dependencies: eventemitter3: 4.0.7 - tronweb: 6.1.1 + tronweb: 6.1.1(bufferutil@4.1.0)(utf-8-validate@6.0.6) transitivePeerDependencies: - bufferutil - debug @@ -7592,6 +8209,10 @@ snapshots: '@types/deep-eql': 4.0.2 assertion-error: 2.0.1 + '@types/connect@3.4.38': + dependencies: + '@types/node': 24.10.9 + '@types/debug@4.1.12': dependencies: '@types/ms': 2.1.0 @@ -7631,6 +8252,8 @@ snapshots: '@types/ms@2.1.0': {} + '@types/node@12.20.55': {} + '@types/node@22.7.5': dependencies: undici-types: 6.19.8 @@ -7664,6 +8287,12 @@ snapshots: '@types/unist@3.0.3': {} + '@types/uuid@10.0.0': {} + + '@types/ws@7.4.7': + dependencies: + '@types/node': 24.10.9 + '@types/ws@8.18.1': dependencies: '@types/node': 24.10.9 @@ -7782,18 +8411,18 @@ snapshots: '@vitest/pretty-format': 4.0.18 tinyrainbow: 3.0.3 - '@wagmi/connectors@7.1.5(@wagmi/core@3.3.1(@tanstack/query-core@5.90.20)(@types/react@19.2.10)(ox@0.11.3(typescript@5.9.3)(zod@4.3.6))(react@19.2.4)(typescript@5.9.3)(use-sync-external-store@1.4.0(react@19.2.4))(viem@2.45.0(typescript@5.9.3)(zod@4.3.6)))(typescript@5.9.3)(viem@2.45.0(typescript@5.9.3)(zod@4.3.6))': + '@wagmi/connectors@7.1.5(@wagmi/core@3.3.1(@tanstack/query-core@5.90.20)(@types/react@19.2.10)(ox@0.11.3(typescript@5.9.3)(zod@4.3.6))(react@19.2.4)(typescript@5.9.3)(use-sync-external-store@1.4.0(react@19.2.4))(viem@2.45.0(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@4.3.6)))(typescript@5.9.3)(viem@2.45.0(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@4.3.6))': dependencies: - '@wagmi/core': 3.3.1(@tanstack/query-core@5.90.20)(@types/react@19.2.10)(ox@0.11.3(typescript@5.9.3)(zod@4.3.6))(react@19.2.4)(typescript@5.9.3)(use-sync-external-store@1.4.0(react@19.2.4))(viem@2.45.0(typescript@5.9.3)(zod@4.3.6)) - viem: 2.45.0(typescript@5.9.3)(zod@4.3.6) + '@wagmi/core': 3.3.1(@tanstack/query-core@5.90.20)(@types/react@19.2.10)(ox@0.11.3(typescript@5.9.3)(zod@4.3.6))(react@19.2.4)(typescript@5.9.3)(use-sync-external-store@1.4.0(react@19.2.4))(viem@2.45.0(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@4.3.6)) + viem: 2.45.0(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@4.3.6) optionalDependencies: typescript: 5.9.3 - '@wagmi/core@3.3.1(@tanstack/query-core@5.90.20)(@types/react@19.2.10)(ox@0.11.3(typescript@5.9.3)(zod@4.3.6))(react@19.2.4)(typescript@5.9.3)(use-sync-external-store@1.4.0(react@19.2.4))(viem@2.45.0(typescript@5.9.3)(zod@4.3.6))': + '@wagmi/core@3.3.1(@tanstack/query-core@5.90.20)(@types/react@19.2.10)(ox@0.11.3(typescript@5.9.3)(zod@4.3.6))(react@19.2.4)(typescript@5.9.3)(use-sync-external-store@1.4.0(react@19.2.4))(viem@2.45.0(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@4.3.6))': dependencies: eventemitter3: 5.0.1 mipd: 0.0.7(typescript@5.9.3) - viem: 2.45.0(typescript@5.9.3)(zod@4.3.6) + viem: 2.45.0(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@4.3.6) zustand: 5.0.0(@types/react@19.2.10)(react@19.2.4)(use-sync-external-store@1.4.0(react@19.2.4)) optionalDependencies: '@tanstack/query-core': 5.90.20 @@ -7810,6 +8439,11 @@ snapshots: typescript: 5.9.3 zod: 4.3.6 + abitype@1.2.3(typescript@5.9.3)(zod@4.4.3): + optionalDependencies: + typescript: 5.9.3 + zod: 4.4.3 + acorn-jsx@5.3.2(acorn@8.15.0): dependencies: acorn: 8.15.0 @@ -7820,6 +8454,16 @@ snapshots: aes-js@4.0.0-beta.5: {} + agent-base@6.0.2: + dependencies: + debug: 4.4.3(supports-color@5.5.0) + transitivePeerDependencies: + - supports-color + + agentkeepalive@4.6.0: + dependencies: + humanize-ms: 1.2.1 + ansi-escapes@4.3.2: dependencies: type-fest: 0.21.3 @@ -7899,6 +8543,16 @@ snapshots: transitivePeerDependencies: - debug + axios@1.18.1: + dependencies: + follow-redirects: 1.16.0 + form-data: 4.0.5 + https-proxy-agent: 5.0.1 + proxy-from-env: 2.1.0 + transitivePeerDependencies: + - debug + - supports-color + babel-jest@30.2.0(@babel/core@7.28.6): dependencies: '@babel/core': 7.28.6 @@ -7971,6 +8625,8 @@ snapshots: dependencies: safe-buffer: 5.2.1 + base-x@5.0.1: {} + base64-js@1.5.1: {} baseline-browser-mapping@2.9.19: {} @@ -7989,6 +8645,12 @@ snapshots: 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 + brace-expansion@1.1.12: dependencies: balanced-match: 1.0.2 @@ -8058,6 +8720,10 @@ snapshots: dependencies: base-x: 3.0.11 + bs58@6.0.0: + dependencies: + base-x: 5.0.1 + bs58check@2.1.2: dependencies: bs58: 4.0.1 @@ -8077,6 +8743,11 @@ snapshots: base64-js: 1.5.1 ieee754: 1.2.1 + bufferutil@4.1.0: + dependencies: + node-gyp-build: 4.8.4 + optional: true + call-bind-apply-helpers@1.0.2: dependencies: es-errors: 1.3.0 @@ -8115,6 +8786,8 @@ snapshots: ansi-styles: 4.3.0 supports-color: 7.2.0 + chalk@5.6.2: {} + char-regex@1.0.2: {} character-entities-html4@2.1.0: {} @@ -8202,16 +8875,18 @@ snapshots: commander@14.0.3: {} + commander@2.20.3: {} + compute-scroll-into-view@3.1.1: {} concat-map@0.0.1: {} - connectkit@1.9.1(@babel/core@7.28.6)(@tanstack/react-query@5.90.20(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react-is@18.3.1)(react@19.2.4)(viem@2.45.0(typescript@5.9.3)(zod@4.3.6))(wagmi@3.4.1(@tanstack/query-core@5.90.20)(@tanstack/react-query@5.90.20(react@19.2.4))(@types/react@19.2.10)(ox@0.11.3(typescript@5.9.3)(zod@4.3.6))(react@19.2.4)(typescript@5.9.3)(viem@2.45.0(typescript@5.9.3)(zod@4.3.6))): + connectkit@1.9.1(@babel/core@7.28.6)(@tanstack/react-query@5.90.20(react@19.2.4))(react-dom@19.2.4(react@19.2.4))(react-is@18.3.1)(react@19.2.4)(viem@2.45.0(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@4.3.6))(wagmi@3.4.1(@tanstack/query-core@5.90.20)(@tanstack/react-query@5.90.20(react@19.2.4))(@types/react@19.2.10)(ox@0.11.3(typescript@5.9.3)(zod@4.3.6))(react@19.2.4)(typescript@5.9.3)(viem@2.45.0(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@4.3.6))): dependencies: '@tanstack/react-query': 5.90.20(react@19.2.4) buffer: 6.0.3 detect-browser: 5.3.0 - family: 0.1.6(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(viem@2.45.0(typescript@5.9.3)(zod@4.3.6))(wagmi@3.4.1(@tanstack/query-core@5.90.20)(@tanstack/react-query@5.90.20(react@19.2.4))(@types/react@19.2.10)(ox@0.11.3(typescript@5.9.3)(zod@4.3.6))(react@19.2.4)(typescript@5.9.3)(viem@2.45.0(typescript@5.9.3)(zod@4.3.6))) + family: 0.1.6(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(viem@2.45.0(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@4.3.6))(wagmi@3.4.1(@tanstack/query-core@5.90.20)(@tanstack/react-query@5.90.20(react@19.2.4))(@types/react@19.2.10)(ox@0.11.3(typescript@5.9.3)(zod@4.3.6))(react@19.2.4)(typescript@5.9.3)(viem@2.45.0(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@4.3.6))) framer-motion: 6.5.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4) qrcode: 1.5.4 react: 19.2.4 @@ -8220,8 +8895,8 @@ snapshots: react-use-measure: 2.1.7(react-dom@19.2.4(react@19.2.4))(react@19.2.4) resize-observer-polyfill: 1.5.1 styled-components: 5.3.11(@babel/core@7.28.6)(react-dom@19.2.4(react@19.2.4))(react-is@18.3.1)(react@19.2.4) - viem: 2.45.0(typescript@5.9.3)(zod@4.3.6) - wagmi: 3.4.1(@tanstack/query-core@5.90.20)(@tanstack/react-query@5.90.20(react@19.2.4))(@types/react@19.2.10)(ox@0.11.3(typescript@5.9.3)(zod@4.3.6))(react@19.2.4)(typescript@5.9.3)(viem@2.45.0(typescript@5.9.3)(zod@4.3.6)) + viem: 2.45.0(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@4.3.6) + wagmi: 3.4.1(@tanstack/query-core@5.90.20)(@tanstack/react-query@5.90.20(react@19.2.4))(@types/react@19.2.10)(ox@0.11.3(typescript@5.9.3)(zod@4.3.6))(react@19.2.4)(typescript@5.9.3)(viem@2.45.0(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@4.3.6)) transitivePeerDependencies: - '@babel/core' - react-is @@ -8256,6 +8931,12 @@ snapshots: safe-buffer: 5.2.1 sha.js: 2.4.12 + cross-fetch@3.2.0: + dependencies: + node-fetch: 2.7.0 + transitivePeerDependencies: + - encoding + cross-fetch@4.1.0: dependencies: node-fetch: 2.7.0 @@ -8325,6 +9006,8 @@ snapshots: has-property-descriptors: 1.0.2 object-keys: 1.1.1 + delay@5.0.0: {} + delayed-stream@1.0.0: {} dequal@2.0.3: {} @@ -8358,6 +9041,10 @@ snapshots: optionalDependencies: '@types/trusted-types': 2.0.7 + dompurify@3.4.13: + optionalDependencies: + '@types/trusted-types': 2.0.7 + dunder-proto@1.0.1: dependencies: call-bind-apply-helpers: 1.0.2 @@ -8423,6 +9110,14 @@ snapshots: es-toolkit@1.44.0: {} + es-toolkit@1.46.1: {} + + es6-promise@4.2.8: {} + + es6-promisify@5.0.0: + dependencies: + es6-promise: 4.2.8 + esast-util-from-estree@2.0.0: dependencies: '@types/estree-jsx': 1.0.5 @@ -8555,7 +9250,7 @@ snapshots: utf8: 3.0.0 uuid: 8.3.2 - ethers@6.13.5: + ethers@6.13.5(bufferutil@4.1.0)(utf-8-validate@6.0.6): dependencies: '@adraffy/ens-normalize': 1.10.1 '@noble/curves': 1.2.0 @@ -8563,7 +9258,7 @@ snapshots: '@types/node': 22.7.5 aes-js: 4.0.0-beta.5 tslib: 2.7.0 - ws: 8.17.1 + ws: 8.17.1(bufferutil@4.1.0)(utf-8-validate@6.0.6) transitivePeerDependencies: - bufferutil - utf-8-validate @@ -8606,15 +9301,19 @@ snapshots: extend@3.0.2: {} - family@0.1.6(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(viem@2.45.0(typescript@5.9.3)(zod@4.3.6))(wagmi@3.4.1(@tanstack/query-core@5.90.20)(@tanstack/react-query@5.90.20(react@19.2.4))(@types/react@19.2.10)(ox@0.11.3(typescript@5.9.3)(zod@4.3.6))(react@19.2.4)(typescript@5.9.3)(viem@2.45.0(typescript@5.9.3)(zod@4.3.6))): + eyes@0.1.8: {} + + family@0.1.6(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(viem@2.45.0(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@4.3.6))(wagmi@3.4.1(@tanstack/query-core@5.90.20)(@tanstack/react-query@5.90.20(react@19.2.4))(@types/react@19.2.10)(ox@0.11.3(typescript@5.9.3)(zod@4.3.6))(react@19.2.4)(typescript@5.9.3)(viem@2.45.0(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@4.3.6))): optionalDependencies: react: 19.2.4 react-dom: 19.2.4(react@19.2.4) - viem: 2.45.0(typescript@5.9.3)(zod@4.3.6) - wagmi: 3.4.1(@tanstack/query-core@5.90.20)(@tanstack/react-query@5.90.20(react@19.2.4))(@types/react@19.2.10)(ox@0.11.3(typescript@5.9.3)(zod@4.3.6))(react@19.2.4)(typescript@5.9.3)(viem@2.45.0(typescript@5.9.3)(zod@4.3.6)) + viem: 2.45.0(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@4.3.6) + wagmi: 3.4.1(@tanstack/query-core@5.90.20)(@tanstack/react-query@5.90.20(react@19.2.4))(@types/react@19.2.10)(ox@0.11.3(typescript@5.9.3)(zod@4.3.6))(react@19.2.4)(typescript@5.9.3)(viem@2.45.0(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@4.3.6)) fast-json-stable-stringify@2.1.0: {} + fast-stable-stringify@1.0.0: {} + fb-watchman@2.0.2: dependencies: bser: 2.1.1 @@ -8636,6 +9335,8 @@ snapshots: follow-redirects@1.15.11: {} + follow-redirects@1.16.0: {} + for-each@0.3.5: dependencies: is-callable: 1.2.7 @@ -8840,8 +9541,22 @@ snapshots: gopd@1.2.0: {} + gql.tada@1.11.3(graphql@16.14.2)(typescript@5.9.3): + dependencies: + '@0no-co/graphql.web': 1.3.3(graphql@16.14.2) + '@0no-co/graphqlsp': 1.17.3(graphql@16.14.2)(typescript@5.9.3) + '@gql.tada/cli-utils': 1.9.3(@0no-co/graphqlsp@1.17.3(graphql@16.14.2)(typescript@5.9.3))(graphql@16.14.2)(typescript@5.9.3) + '@gql.tada/internal': 1.2.2(graphql@16.14.2)(typescript@5.9.3) + typescript: 5.9.3 + transitivePeerDependencies: + - '@gql.tada/svelte-support' + - '@gql.tada/vue-support' + - graphql + graceful-fs@4.2.11: {} + graphql@16.14.2: {} + has-flag@3.0.0: {} has-flag@4.0.0: {} @@ -8988,8 +9703,19 @@ snapshots: html-void-elements@3.0.0: {} + https-proxy-agent@5.0.1: + dependencies: + agent-base: 6.0.2 + debug: 4.4.3(supports-color@5.5.0) + transitivePeerDependencies: + - supports-color + human-signals@2.1.0: {} + humanize-ms@1.2.1: + dependencies: + ms: 2.1.3 + husky@9.1.7: {} ieee754@1.2.1: {} @@ -9082,13 +9808,17 @@ snapshots: isexe@2.0.0: {} - isomorphic-ws@4.0.1(ws@7.5.10): + isomorphic-ws@4.0.1(ws@7.5.10(bufferutil@4.1.0)(utf-8-validate@6.0.6)): dependencies: - ws: 7.5.10 + ws: 7.5.10(bufferutil@4.1.0)(utf-8-validate@6.0.6) - isows@1.0.7(ws@8.18.3): + isows@1.0.7(ws@8.18.3(bufferutil@4.1.0)(utf-8-validate@6.0.6)): dependencies: - ws: 8.18.3 + ws: 8.18.3(bufferutil@4.1.0)(utf-8-validate@6.0.6) + + isows@1.0.7(ws@8.20.1(bufferutil@4.1.0)(utf-8-validate@6.0.6)): + dependencies: + ws: 8.20.1(bufferutil@4.1.0)(utf-8-validate@6.0.6) istanbul-lib-coverage@3.2.2: {} @@ -9123,13 +9853,13 @@ snapshots: it-stream-types@2.0.2: {} - it-ws@6.1.5: + it-ws@6.1.5(bufferutil@4.1.0)(utf-8-validate@6.0.6): dependencies: '@types/ws': 8.18.1 event-iterator: 2.0.0 it-stream-types: 2.0.2 uint8arrays: 5.1.0 - ws: 8.19.0 + ws: 8.19.0(bufferutil@4.1.0)(utf-8-validate@6.0.6) transitivePeerDependencies: - bufferutil - utf-8-validate @@ -9140,6 +9870,24 @@ snapshots: optionalDependencies: '@pkgjs/parseargs': 0.11.0 + jayson@4.3.0(bufferutil@4.1.0)(utf-8-validate@6.0.6): + 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.1.0)(utf-8-validate@6.0.6)) + json-stringify-safe: 5.0.1 + stream-json: 1.9.1 + uuid: 8.3.2 + ws: 7.5.10(bufferutil@4.1.0)(utf-8-validate@6.0.6) + transitivePeerDependencies: + - bufferutil + - utf-8-validate + jest-changed-files@30.2.0: dependencies: execa: 5.1.1 @@ -9470,6 +10218,8 @@ snapshots: json-parse-even-better-errors@2.3.1: {} + json-stringify-safe@5.0.1: {} + json5@2.2.3: {} keccak@3.0.4: @@ -9582,6 +10332,10 @@ snapshots: dependencies: yallist: 3.1.1 + lucide-react@0.487.0(react@19.2.4): + dependencies: + react: 19.2.4 + lucide-react@0.561.0(react@19.2.4): dependencies: react: 19.2.4 @@ -10216,6 +10970,21 @@ snapshots: transitivePeerDependencies: - zod + ox@https://pkg.pr.new/ox@386a3439fe1ce76d237930f8c6e6bb493746069a(typescript@5.9.3)(zod@4.4.3): + 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.2.3(typescript@5.9.3)(zod@4.4.3) + eventemitter3: 5.0.1 + optionalDependencies: + typescript: 5.9.3 + transitivePeerDependencies: + - zod + p-limit@2.3.0: dependencies: p-try: 2.2.0 @@ -10310,6 +11079,8 @@ snapshots: style-value-types: 5.0.0 tslib: 2.8.1 + poseidon-lite@0.2.1: {} + possible-typed-array-names@1.1.0: {} postcss-selector-parser@7.1.1: @@ -10347,6 +11118,17 @@ snapshots: query-selector-shadow-dom: 1.0.1 web-vitals: 5.1.0 + posthog-js@1.379.3: + dependencies: + '@posthog/core': 1.30.6 + '@posthog/types': 1.379.3 + core-js: 3.48.0 + dompurify: 3.4.13 + fflate: 0.4.8 + preact: 10.28.2 + query-selector-shadow-dom: 1.0.1 + web-vitals: 5.1.0 + posthog-node@5.24.17: dependencies: '@posthog/core': 1.23.1 @@ -10380,6 +11162,8 @@ snapshots: proxy-from-env@1.1.0: {} + proxy-from-env@2.1.0: {} + public-encrypt@4.0.3: dependencies: bn.js: 4.12.2 @@ -10721,6 +11505,19 @@ snapshots: '@rollup/rollup-win32-x64-msvc': 4.57.1 fsevents: 2.3.3 + rpc-websockets@9.3.9: + dependencies: + '@swc/helpers': 0.5.15 + '@types/uuid': 10.0.0 + '@types/ws': 8.18.1 + buffer: 6.0.3 + eventemitter3: 5.0.1 + uuid: 14.0.1 + ws: 8.19.0(bufferutil@4.1.0)(utf-8-validate@6.0.6) + optionalDependencies: + bufferutil: 4.1.0 + utf-8-validate: 6.0.6 + safe-buffer@5.1.2: {} safe-buffer@5.2.1: {} @@ -10867,6 +11664,12 @@ snapshots: inherits: 2.0.4 readable-stream: 3.6.2 + stream-chain@2.2.5: {} + + stream-json@1.9.1: + dependencies: + stream-chain: 2.2.5 + string-argv@0.3.2: {} string-length@4.0.2: @@ -10962,6 +11765,8 @@ snapshots: optionalDependencies: '@babel/core': 7.28.6 + superstruct@2.0.2: {} + supports-color@5.5.0: dependencies: has-flag: 3.0.0 @@ -10992,6 +11797,8 @@ snapshots: glob: 7.2.3 minimatch: 3.1.2 + text-encoding-utf-8@1.0.2: {} + throttleit@2.1.0: {} tinybench@2.9.0: {} @@ -11021,13 +11828,13 @@ snapshots: trim-lines@3.0.1: {} - tronweb@6.1.1: + tronweb@6.1.1(bufferutil@4.1.0)(utf-8-validate@6.0.6): dependencies: '@babel/runtime': 7.26.10 axios: 1.12.2 bignumber.js: 9.1.2 ethereum-cryptography: 2.2.1 - ethers: 6.13.5 + ethers: 6.13.5(bufferutil@4.1.0)(utf-8-validate@6.0.6) eventemitter3: 5.0.1 google-protobuf: 3.21.4 semver: 7.7.1 @@ -11166,6 +11973,11 @@ snapshots: dependencies: react: 19.2.4 + utf-8-validate@6.0.6: + dependencies: + node-gyp-build: 4.8.4 + optional: true + utf8@3.0.0: {} util-deprecate@1.0.2: {} @@ -11178,6 +11990,8 @@ snapshots: is-typed-array: 1.1.15 which-typed-array: 1.1.20 + uuid@14.0.1: {} + uuid@8.3.2: {} v8-to-istanbul@9.3.0: @@ -11186,6 +12000,10 @@ snapshots: '@types/istanbul-lib-coverage': 2.0.6 convert-source-map: 2.0.0 + valibot@1.4.2(typescript@5.9.3): + optionalDependencies: + typescript: 5.9.3 + validator@13.15.23: {} vfile-location@5.0.3: @@ -11203,16 +12021,33 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.3 - viem@2.45.0(typescript@5.9.3)(zod@4.3.6): + viem@2.45.0(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@4.3.6): dependencies: '@noble/curves': 1.9.1 '@noble/hashes': 1.8.0 '@scure/bip32': 1.7.0 '@scure/bip39': 1.6.0 abitype: 1.2.3(typescript@5.9.3)(zod@4.3.6) - isows: 1.0.7(ws@8.18.3) + isows: 1.0.7(ws@8.18.3(bufferutil@4.1.0)(utf-8-validate@6.0.6)) ox: 0.11.3(typescript@5.9.3)(zod@4.3.6) - ws: 8.18.3 + ws: 8.18.3(bufferutil@4.1.0)(utf-8-validate@6.0.6) + optionalDependencies: + typescript: 5.9.3 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + - zod + + viem@2.51.0(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@4.4.3): + dependencies: + '@noble/curves': 1.9.1 + '@noble/hashes': 1.8.0 + '@scure/bip32': 1.7.0 + '@scure/bip39': 1.6.0 + abitype: 1.2.3(typescript@5.9.3)(zod@4.4.3) + isows: 1.0.7(ws@8.20.1(bufferutil@4.1.0)(utf-8-validate@6.0.6)) + ox: https://pkg.pr.new/ox@386a3439fe1ce76d237930f8c6e6bb493746069a(typescript@5.9.3)(zod@4.4.3) + ws: 8.20.1(bufferutil@4.1.0)(utf-8-validate@6.0.6) optionalDependencies: typescript: 5.9.3 transitivePeerDependencies: @@ -11273,14 +12108,14 @@ snapshots: - tsx - yaml - wagmi@3.4.1(@tanstack/query-core@5.90.20)(@tanstack/react-query@5.90.20(react@19.2.4))(@types/react@19.2.10)(ox@0.11.3(typescript@5.9.3)(zod@4.3.6))(react@19.2.4)(typescript@5.9.3)(viem@2.45.0(typescript@5.9.3)(zod@4.3.6)): + wagmi@3.4.1(@tanstack/query-core@5.90.20)(@tanstack/react-query@5.90.20(react@19.2.4))(@types/react@19.2.10)(ox@0.11.3(typescript@5.9.3)(zod@4.3.6))(react@19.2.4)(typescript@5.9.3)(viem@2.45.0(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@4.3.6)): dependencies: '@tanstack/react-query': 5.90.20(react@19.2.4) - '@wagmi/connectors': 7.1.5(@wagmi/core@3.3.1(@tanstack/query-core@5.90.20)(@types/react@19.2.10)(ox@0.11.3(typescript@5.9.3)(zod@4.3.6))(react@19.2.4)(typescript@5.9.3)(use-sync-external-store@1.4.0(react@19.2.4))(viem@2.45.0(typescript@5.9.3)(zod@4.3.6)))(typescript@5.9.3)(viem@2.45.0(typescript@5.9.3)(zod@4.3.6)) - '@wagmi/core': 3.3.1(@tanstack/query-core@5.90.20)(@types/react@19.2.10)(ox@0.11.3(typescript@5.9.3)(zod@4.3.6))(react@19.2.4)(typescript@5.9.3)(use-sync-external-store@1.4.0(react@19.2.4))(viem@2.45.0(typescript@5.9.3)(zod@4.3.6)) + '@wagmi/connectors': 7.1.5(@wagmi/core@3.3.1(@tanstack/query-core@5.90.20)(@types/react@19.2.10)(ox@0.11.3(typescript@5.9.3)(zod@4.3.6))(react@19.2.4)(typescript@5.9.3)(use-sync-external-store@1.4.0(react@19.2.4))(viem@2.45.0(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@4.3.6)))(typescript@5.9.3)(viem@2.45.0(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@4.3.6)) + '@wagmi/core': 3.3.1(@tanstack/query-core@5.90.20)(@types/react@19.2.10)(ox@0.11.3(typescript@5.9.3)(zod@4.3.6))(react@19.2.4)(typescript@5.9.3)(use-sync-external-store@1.4.0(react@19.2.4))(viem@2.45.0(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@4.3.6)) react: 19.2.4 use-sync-external-store: 1.4.0(react@19.2.4) - viem: 2.45.0(typescript@5.9.3)(zod@4.3.6) + viem: 2.45.0(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@4.3.6) optionalDependencies: typescript: 5.9.3 transitivePeerDependencies: @@ -11364,13 +12199,30 @@ snapshots: imurmurhash: 0.1.4 signal-exit: 4.1.0 - ws@7.5.10: {} + ws@7.5.10(bufferutil@4.1.0)(utf-8-validate@6.0.6): + optionalDependencies: + bufferutil: 4.1.0 + utf-8-validate: 6.0.6 - ws@8.17.1: {} + ws@8.17.1(bufferutil@4.1.0)(utf-8-validate@6.0.6): + optionalDependencies: + bufferutil: 4.1.0 + utf-8-validate: 6.0.6 - ws@8.18.3: {} + ws@8.18.3(bufferutil@4.1.0)(utf-8-validate@6.0.6): + optionalDependencies: + bufferutil: 4.1.0 + utf-8-validate: 6.0.6 - ws@8.19.0: {} + ws@8.19.0(bufferutil@4.1.0)(utf-8-validate@6.0.6): + optionalDependencies: + bufferutil: 4.1.0 + utf-8-validate: 6.0.6 + + ws@8.20.1(bufferutil@4.1.0)(utf-8-validate@6.0.6): + optionalDependencies: + bufferutil: 4.1.0 + utf-8-validate: 6.0.6 xstream@11.14.0: dependencies: @@ -11420,6 +12272,8 @@ snapshots: zod@4.3.6: {} + zod@4.4.3: {} + zustand@5.0.0(@types/react@19.2.10)(react@19.2.4)(use-sync-external-store@1.4.0(react@19.2.4)): optionalDependencies: '@types/react': 19.2.10 diff --git a/src/components/helpers/network-toggle.tsx b/src/components/helpers/network-toggle.tsx index 2eae44c..d65662a 100644 --- a/src/components/helpers/network-toggle.tsx +++ b/src/components/helpers/network-toggle.tsx @@ -1,11 +1,10 @@ "use client"; import type { NexusNetwork } from "@avail-project/nexus-core"; +import { useNexus } from "@avail-project/widgets"; import { useEffect, useState } from "react"; - import { useAnalytics } from "@/hooks/use-analytics"; import { NETWORK_KEY } from "@/lib/constants"; import { getItem, setItem } from "@/lib/local-storage"; -import { useNexus } from "../nexus/NexusProvider"; import { Select, SelectContent, diff --git a/src/components/helpers/preview-panel.tsx b/src/components/helpers/preview-panel.tsx index 14a2093..f03612b 100644 --- a/src/components/helpers/preview-panel.tsx +++ b/src/components/helpers/preview-panel.tsx @@ -3,13 +3,13 @@ import { type EthereumProvider, truncateAddress, } from "@avail-project/nexus-core"; +import { useNexus } from "@avail-project/widgets"; import { Spinner, SpinnerGap } from "@phosphor-icons/react"; import { ConnectKitButton } from "connectkit"; import { type ReactNode, useEffect } from "react"; import { toast } from "sonner"; import { useAccount, useConnectorClient } from "wagmi"; import { useIsMobile } from "@/hooks/use-mobile"; -import { useNexus } from "../nexus/NexusProvider"; import { Button } from "../ui/button"; interface PreviewPanelProps { diff --git a/src/components/showcase/demo-showcase-shell.tsx b/src/components/showcase/demo-showcase-shell.tsx index f1827b0..c537f9f 100644 --- a/src/components/showcase/demo-showcase-shell.tsx +++ b/src/components/showcase/demo-showcase-shell.tsx @@ -4,6 +4,7 @@ import { type EthereumProvider, truncateAddress, } from "@avail-project/nexus-core"; +import { useNexus } from "@avail-project/widgets"; import { Check, SpinnerGap, X } from "@phosphor-icons/react"; import { ConnectKitButton } from "connectkit"; import type React from "react"; @@ -13,7 +14,6 @@ import { useIsMobile } from "@/hooks/use-mobile"; import { NETWORK_KEY } from "@/lib/constants"; import { getItem } from "@/lib/local-storage"; import NetworkToggle from "../helpers/network-toggle"; -import { useNexus } from "../nexus/NexusProvider"; import { Toggle } from "../ui/toggle"; // --- Wallet button --- diff --git a/src/components/showcase/deposit-demo-showcase.tsx b/src/components/showcase/deposit-demo-showcase.tsx index a66fe20..07c8150 100644 --- a/src/components/showcase/deposit-demo-showcase.tsx +++ b/src/components/showcase/deposit-demo-showcase.tsx @@ -1,98 +1,73 @@ "use client"; -import { - CHAIN_METADATA, - SUPPORTED_CHAINS, - TOKEN_CONTRACT_ADDRESSES, - TOKEN_METADATA, -} from "@avail-project/nexus-core"; +import { NexusWidget } from "@avail-project/widgets"; import { useState } from "react"; -import { type Abi, type Address, encodeFunctionData } from "viem"; -import NexusDepositDemo from "../deposit/demo/nexus-deposit-demo"; -import NexusDeposit from "../deposit/nexus-deposit"; +import { type Abi, encodeFunctionData } from "viem"; import DemoShowcaseShell from "./demo-showcase-shell"; -// --- Execute deposit builder (Aave supply on Base) --- +const AAVE_POOL_ARBITRUM = "0x794a61358D6845594F94dc1DB02A252b5b4814aD"; +const USDT_ARBITRUM = "0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9"; -function buildExecuteDeposit( - tokenSymbol: string, - tokenAddress: `0x${string}`, - amount: bigint, - _chainId: number, - user: Address, -) { - const contractAddress = "0xA238Dd80C259a72e81d7e4664a9801593F98d1c5" as const; - const abi: Abi = [ - { - inputs: [ - { internalType: "address", name: "asset", type: "address" }, - { internalType: "uint256", name: "amount", type: "uint256" }, - { internalType: "address", name: "onBehalfOf", type: "address" }, - { internalType: "uint16", name: "referralCode", type: "uint16" }, - ], - name: "supply", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - ]; - if (tokenSymbol === "ETH") { - throw new Error("ETH is native and not supported for this execute builder"); - } - const encoded = encodeFunctionData({ - abi, - functionName: "supply", - args: [tokenAddress, amount, user, 0], - }); - if (!encoded) { - throw new Error("Failed to encode contract call"); - } - return { - to: contractAddress, - data: encoded, - gasPriceSelector: "medium", - tokenApproval: { - token: tokenAddress, - amount, - spender: contractAddress, - }, - }; -} +const AAVE_ABI: Abi = [ + { + inputs: [ + { internalType: "address", name: "asset", type: "address" }, + { internalType: "uint256", name: "amount", type: "uint256" }, + { internalType: "address", name: "onBehalfOf", type: "address" }, + { internalType: "uint16", name: "referralCode", type: "uint16" }, + ], + name: "supply", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +]; const DepositDemoShowcase = () => { - const [embed, setEmbed] = useState(false); + const [embed, setEmbed] = useState(true); return ( - {(ctx) => - ctx.isConnected && ctx.nexusSDK ? ( - - ) : ( - - ) - } + {() => ( + ({ + to: AAVE_POOL_ARBITRUM, + data: encodeFunctionData({ + abi: AAVE_ABI, + functionName: "supply", + args: [tokenAddress, amount, user, 0], + }), + gas: 400_000n, + tokenApproval: { + toTokenAddress: tokenAddress, + amount, + spender: AAVE_POOL_ARBITRUM, + }, + }), + appearance: { + appName: "Aave", + heading: "Deposit into Aave", + }, + }} + /> + )} ); }; diff --git a/src/components/showcase/swaps-demo-showcase.tsx b/src/components/showcase/swaps-demo-showcase.tsx index 70ecc9c..161f403 100644 --- a/src/components/showcase/swaps-demo-showcase.tsx +++ b/src/components/showcase/swaps-demo-showcase.tsx @@ -1,21 +1,24 @@ "use client"; -import MockNexusProvider from "../nexus/MockNexusProvider"; -import SwapWidget from "../swaps/swap-widget"; +import { NexusWidget } from "@avail-project/widgets"; import DemoShowcaseShell from "./demo-showcase-shell"; +const USDC_BASE = "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"; + const SwapsDemoShowcase = () => { return ( - {(ctx) => - ctx.isConnected && ctx.nexusSDK ? ( - - ) : ( - - - - ) - } + {() => ( + + )} ); }; diff --git a/src/components/showcase/transfer-demo-showcase.tsx b/src/components/showcase/transfer-demo-showcase.tsx index 2581149..f8ad72f 100644 --- a/src/components/showcase/transfer-demo-showcase.tsx +++ b/src/components/showcase/transfer-demo-showcase.tsx @@ -1,21 +1,27 @@ "use client"; -import MockNexusProvider from "../nexus/MockNexusProvider"; -import FastTransfer from "../transfer/transfer"; +import { NexusWidget } from "@avail-project/widgets"; import DemoShowcaseShell from "./demo-showcase-shell"; +const USDC_BASE = "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"; +const RECIPIENT = "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"; + const TransferDemoShowcase = () => { return ( - {(ctx) => - ctx.isConnected && ctx.nexusSDK ? ( - - ) : ( - - - - ) - } + {() => ( + + )} ); }; diff --git a/src/providers/Web3Provider.tsx b/src/providers/Web3Provider.tsx index bbb577b..e8cf4e3 100644 --- a/src/providers/Web3Provider.tsx +++ b/src/providers/Web3Provider.tsx @@ -1,5 +1,5 @@ "use client"; -import type { NexusNetwork } from "@avail-project/nexus-core"; +import { NexusProvider } from "@avail-project/widgets"; import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; import { ConnectKitProvider, getDefaultConfig } from "connectkit"; import { Suspense, useEffect, useMemo, useState } from "react"; @@ -23,7 +23,6 @@ import { sepolia, } from "wagmi/chains"; import { PostHogIdentify } from "@/components/analytics/PostHogIdentify"; -import NexusProvider from "@/components/nexus/NexusProvider"; import { Skeleton } from "@/components/ui/skeleton"; import { NETWORK_KEY } from "@/lib/constants"; import { getItem, setItem } from "@/lib/local-storage"; @@ -131,12 +130,12 @@ const defaultConfig = getDefaultConfig({ const wagmiConfig = createConfig(defaultConfig); function NexusContainer({ children }: Readonly<{ children: React.ReactNode }>) { - const [network, setNetwork] = useState("mainnet"); + const [network, setNetwork] = useState<"mainnet" | "testnet">("mainnet"); const [isInitialized, setIsInitialized] = useState(false); useEffect(() => { // Initialize network from localStorage on client side - const storedNetwork = getItem(NETWORK_KEY) as NexusNetwork | null; + const storedNetwork = getItem(NETWORK_KEY) as "mainnet" | "testnet" | null; if ( storedNetwork &&