diff --git a/README.md b/README.md index 2f797a01f..114e4f273 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,14 @@ -# Zora Protocol +# Niche Protocol [![Contracts](https://github.com/ourzora/zora-protocol/actions/workflows/contracts.yml/badge.svg)](https://github.com/ourzora/zora-protocol/actions/workflows/contracts.yml) -This repository is a monorepo for the Zora Protocol. +This repository is a monorepo for the Niche Protocol - a customized implementation of the Zora Protocol using the Niche coin as the backing currency for creator coins. + +## Key Differences + +- **Backing Currency**: Uses Niche coin (`0x5ab1a8dbb78c272540d3652dac9c46d9cbfcecbf`) instead of ZORA token +- **Branding**: Updated to "Niche" throughout documentation and UI +- **Creator Coins**: All creator coins are backed by Niche token instead of ZORA In it you will find: @@ -18,9 +24,16 @@ In it you will find: - [Legacy Contracts](./legacy) - Contains legacy contract packages (1155-contracts, erc20z, sparks, cointags, protocol-sdk, etc.) -## Official docs +## Documentation + +View the Niche documentation (deployed on branch `claude/niche-clanker-app-011CV492FfwRDh9PmXRaV3gm`) + +**Niche Coin Details:** -[View the official docs](https://docs.zora.co/docs/smart-contracts/creator-tools/intro) +- Contract Address: `0x5ab1a8dbb78c272540d3652dac9c46d9cbfcecbf` +- Network: Base (Chain ID: 8453) +- Token: Niche +- [View on Rainbow](https://rainbow.me/token/base/0x5ab1a8dbb78c272540d3652dac9c46d9cbfcecbf) ## Setup @@ -44,6 +57,7 @@ For JavaScript/TypeScript development and wagmi consumption: pnpm build:js This command: + - Builds only the JavaScript/TypeScript artifacts needed for client applications - Generates wagmi-compatible type definitions and ABIs - Skips full Solidity compilation for faster builds @@ -56,6 +70,7 @@ For complete contract development and testing: pnpm build This command: + - Performs full Solidity compilation with all optimizations - Generates all contract artifacts (out/, abis/, dist/) - Required for contract development, testing, and deployment @@ -86,6 +101,7 @@ Format and lint code: ### When to Use Which Build - **Use `pnpm build:js`** when: + - Developing frontend applications with wagmi - Working with the SDK packages - You only need TypeScript definitions and ABIs @@ -97,6 +113,22 @@ Format and lint code: - Preparing for deployment - You need all contract artifacts -## Bug Bounty +## About This Fork + +This is a customized fork of the Zora Protocol adapted for the Niche ecosystem. The core protocol functionality remains the same, with the primary difference being the use of Niche coin as the backing currency for creator coins. + +### Modified Files + +Key files that reference the Niche coin: + +- `packages/coins/src/libs/CoinConstants.sol` - Updated `CREATOR_COIN_CURRENCY` +- `packages/coins-sdk/src/utils/poolConfigUtils.ts` - Updated token address constants +- `docs/vocs.config.ts` - Updated branding to "Niche Docs" +- Documentation and test files updated throughout + +### Original Protocol + +This protocol is based on the Zora Protocol. For the original implementation, visit: -Report security vulnerabilities and learn about our Bug Bounty Program [here](https://docs.zora.co/bug-bounty/bug-bounty-program). +- [Original Zora Protocol Repository](https://github.com/ourzora/zora-protocol) +- [Zora Documentation](https://docs.zora.co) diff --git a/docs/package.json b/docs/package.json index 8885f5616..ef7fb38a2 100644 --- a/docs/package.json +++ b/docs/package.json @@ -7,6 +7,7 @@ "dev": "vocs dev", "build": "tsc --noEmit", "build:site": "playwright install --with-deps chromium && vocs build", + "build:vercel": "playwright install --with-deps chromium && vocs build", "preview": "vocs preview", "copy-changelog": "tsx scripts/copy-changelogs.ts", "generate-uml": "tsx scripts/generateUml.ts" diff --git a/docs/pages/coins/contracts/architecture.mdx b/docs/pages/coins/contracts/architecture.mdx index c0bf175f3..4a1d2b8b6 100644 --- a/docs/pages/coins/contracts/architecture.mdx +++ b/docs/pages/coins/contracts/architecture.mdx @@ -13,7 +13,7 @@ classDiagram +swap() +take() } - + %% Factory Package class ZoraFactoryImpl { +deploy(payoutRecipient, owners, uri, name, symbol, poolConfig, platformReferrer, postDeployHook, postDeployHookData, coinSalt) @@ -21,7 +21,7 @@ classDiagram +coinAddress(msgSender, name, symbol, poolConfig, platformReferrer, coinSalt) +coinImpl() } - + %% Coins Package class BaseCoinV4 { <> @@ -30,19 +30,19 @@ classDiagram +migrateLiquidity() +getPayoutSwapPath() } - + class CreatorCoin { - -currency: ZORA + -currency: NICHE -vestingSchedule: VestingSchedule +claimVesting() +getClaimableAmount() } - + class ContentCoin { -backingCurrency: CreatorCoin +rewardsDistributionMethodology() } - + %% Hooks Package class ZoraV4CoinHook { +afterInitialize() @@ -51,53 +51,56 @@ classDiagram -mintLpReward() +_distributeMarketRewards() } - - class ZORAToken { - ZORA Token + + class NicheToken { + NICHE Token } - + %% Inheritance relationships BaseCoinV4 <|-- CreatorCoin BaseCoinV4 <|-- ContentCoin %% Unified hook - no subclassing per coin type - + %% Factory relationships ZoraFactoryImpl ..> CreatorCoin : creates ZoraFactoryImpl ..> ContentCoin : creates - + %% Hook relationships ZoraV4CoinHook --> IPoolManager : uses ZoraV4CoinHook --> BaseCoinV4 : manages rewards - + %% Pool Manager relationships BaseCoinV4 --> IPoolManager : integrates with CreatorCoin --> ZoraV4CoinHook : uses hook ContentCoin --> ZoraV4CoinHook : uses hook - + %% Currency relationships ContentCoin --> CreatorCoin : backed by - CreatorCoin --> ZORAToken : backed by + CreatorCoin --> NicheToken : backed by ``` -*Visual overview of how contracts work together in the Zora Coins system* +_Visual overview of how contracts work together in the Niche Coins system_ ## Core Components ### Coins Contracts **BaseCoinV4 (Abstract)** + - Base implementation for both coin types - Integrates with Uniswap V4 PoolManager - Handles liquidity migration between hook versions - Manages pool key and basic coin functionality **CreatorCoin** -- One per creator, backed by ZORA tokens + +- One per creator, backed by NICHE tokens - 1 billion total supply with 5-year vesting schedule - 500M tokens vest to creator, 500M available for trading - Simpler reward distribution (creator + protocol) **ContentCoin** + - Multiple per creator, backed by creator's coin - 1 billion total supply with instant creator allocation - 10M tokens to creator immediately, 990M available for trading @@ -106,12 +109,14 @@ classDiagram ### Factory Contract **ZoraFactoryImpl** + - Deploys new coins with deterministic addresses - Supports custom pool configurations and post-deployment hooks - Creates Uniswap V4 pools automatically with appropriate hook contracts - Provides address prediction before deployment Key functions: + - `deploy()` - General coin deployment with full customization - `deployCreatorCoin()` - Simplified Creator Coin deployment - `coinAddress()` - Predict deployment address before deploying @@ -121,16 +126,17 @@ Key functions: The protocol uses a unified hook architecture: **BaseZoraV4CoinHook (Abstract)** + - Contains all shared hook functionality for both coin types - Implements Uniswap V4 hook interface (`afterSwap`, `afterInitialize`) - Handles pool initialization, fee collection, and currency conversion - Supports migration to new hook versions while preserving liquidity Core functionality: + - Collects trading fees from liquidity positions - Splits fees between LP rewards and market rewards - Converts fees to backing currency via multi-hop swaps - Distributes rewards based on coin type via unified logic > History: Prior to v2.3.0 the protocol used two hooks (`ContentCoinHook` and `CreatorCoinHook`). This was consolidated into `ZoraV4CoinHook` for a single, unified implementation. - diff --git a/docs/pages/coins/contracts/creating-a-coin.mdx b/docs/pages/coins/contracts/creating-a-coin.mdx index 455defc9c..67324cb33 100644 --- a/docs/pages/coins/contracts/creating-a-coin.mdx +++ b/docs/pages/coins/contracts/creating-a-coin.mdx @@ -1,4 +1,4 @@ -import { ContractAddress } from '@components/ContractAddress' +import { ContractAddress } from "@components/ContractAddress"; # Creating a Coin @@ -8,10 +8,10 @@ This guide covers how to create coins directly using the ZoraFactory contract. The ZoraFactory is deployed at the same address across all supported chains: -| Chain | Chain ID | Factory Address | -|-------------|----------|----------------| -| Base | 8453 | | -| Base Sepolia| 84532 | | +| Chain | Chain ID | Factory Address | +| ------------ | -------- | --------------------------------------------------------------------------------------------- | +| Base | 8453 | | +| Base Sepolia | 84532 | | ## Key Components @@ -21,22 +21,22 @@ classDiagram +deploy() +deployCreatorCoin() } - + class Coin { +mint() +burn() } - + class UniswapV4Pool { +swap() +initialize() } - + class ZoraHook { +afterSwap() +distributeRewards() } - + ZoraFactory ..> Coin : creates ZoraFactory ..> UniswapV4Pool : initializes UniswapV4Pool --> ZoraHook : uses @@ -65,16 +65,16 @@ Use the `deploy` function for new deployments when integrating directly with con ```solidity function deploy( - address payoutRecipient, - address[] memory owners, - string memory uri, - string memory name, - string memory symbol, - bytes memory poolConfig, - address platformReferrer, - address postDeployHook, - bytes calldata postDeployHookData, - bytes32 coinSalt + address payoutRecipient, + address[] memory owners, + string memory uri, + string memory name, + string memory symbol, + bytes memory poolConfig, + address platformReferrer, + address postDeployHook, + bytes calldata postDeployHookData, + bytes32 coinSalt ) external payable returns (address coin, bytes memory postDeployHookDataOut); ``` @@ -86,14 +86,14 @@ For Creator Coins specifically, use the `deployCreatorCoin` function: ```solidity function deployCreatorCoin( - address payoutRecipient, - address[] memory owners, - string memory uri, - string memory name, - string memory symbol, - bytes memory poolConfig, - address platformReferrer, - bytes32 coinSalt + address payoutRecipient, + address[] memory owners, + string memory uri, + string memory name, + string memory symbol, + bytes memory poolConfig, + address platformReferrer, + bytes32 coinSalt ) external returns (address); ``` @@ -120,7 +120,7 @@ function deployCreatorCoin( The `poolConfig` parameter determines the coin type, pool settings, and market curve characteristics. This configuration defines: - **Coin version** - Protocol version for backwards compatibility -- **Currency backing** - What token the coin is paired against (ETH, ZORA, or another Creator Coin) +- **Currency backing** - What token the coin is paired against (ETH, NICHE, or another Creator Coin) - **Liquidity curves** - Multi-curve position ranges for optimized price discovery - **Supply distribution** - How initial supply is allocated across liquidity positions @@ -129,17 +129,17 @@ The `poolConfig` parameter determines the coin type, pool settings, and market c For most use cases, we recommend using our upcoming API endpoints to generate pool configurations. These will provide: - **Validated configurations** - Pre-tested parameter combinations -- **Optimal curve settings** - Market-tested liquidity distribution strategies +- **Optimal curve settings** - Market-tested liquidity distribution strategies - **Security safeguards** - Protection against parameter manipulation - **Dynamic updates** - Configurations that evolve with market conditions ### Configuration Types -- **Creator Coins** - ZORA-backed coins with vesting schedules, optimized for creator economies -- **Content Coins** - Flexible backing currency (ETH, ZORA, or Creator Coins), designed for content monetization +- **Creator Coins** - NICHE-backed coins with vesting schedules, optimized for creator economies +- **Content Coins** - Flexible backing currency (ETH, NICHE, or Creator Coins), designed for content monetization - **Custom Configurations** - Specialized setups for advanced use cases -Contact the Zora team for early access to configuration APIs or custom pool parameter consultation. +Contact the Niche team for early access to configuration APIs or custom pool parameter consultation. ## Address Prediction @@ -147,21 +147,21 @@ You can predict the coin address before deployment using the `coinAddress` funct ```solidity function coinAddress( - address msgSender, - string memory name, - string memory symbol, - bytes memory poolConfig, - address platformReferrer, - bytes32 coinSalt + address msgSender, + string memory name, + string memory symbol, + bytes memory poolConfig, + address platformReferrer, + bytes32 coinSalt ) external view returns (address); ``` This is useful for: + - Preparing integrations before deployment - Verifying deployment parameters - Creating deterministic deployment scripts - ## Example Deployment ### Complete Deployment Example @@ -175,21 +175,21 @@ import {CoinConfigurationVersions} from "@zoralabs/coins/src/libs/CoinConfigurat contract CoinDeployer { address constant FACTORY_ADDRESS = 0x777777751622c0d3258f214F9DF38E35BF45baF3; - address constant ZORA_TOKEN_ADDRESS = 0x1111111111166b7FE7bd91427724B487980aFc69; - + address constant NICHE_TOKEN_ADDRESS = 0x5ab1a8dbb78c272540d3652dac9c46d9cbfcecbf; + function deployMyCoin() external returns (address coin) { IZoraFactory factory = IZoraFactory(FACTORY_ADDRESS); - + // Set up coin owners address[] memory owners = new address[](1); owners[0] = msg.sender; - + // Pool configuration bytes (get from Zora configuration API) bytes memory poolConfig = hex"..."; // Replace with actual configuration bytes - + // Generate unique salt for deterministic deployment bytes32 salt = keccak256(abi.encodePacked("MyCoin", msg.sender, block.timestamp)); - + // Deploy the coin (coin, ) = factory.deploy( msg.sender, // payoutRecipient - receives creator rewards @@ -203,14 +203,16 @@ contract CoinDeployer { "", // postDeployHookData - empty salt // coinSalt - for deterministic address ); - + return coin; } } ``` + ## Post-Deployment After successful deployment, the coin will: + - Be deployed at the predicted address - Have a Uniswap V4 pool created with the singleton hook - Be ready for trading immediately @@ -223,58 +225,62 @@ Learn more about [managing coins](/coins/sdk/update-coin) after deployment. The factory emits different events based on the coin type: ### Content Coins + ```solidity event CoinCreatedV4( - address indexed caller, - address indexed payoutRecipient, - address indexed platformReferrer, - address currency, - string uri, - string name, - string symbol, - address coin, - PoolKey poolKey, - bytes32 poolKeyHash, - string version + address indexed caller, + address indexed payoutRecipient, + address indexed platformReferrer, + address currency, + string uri, + string name, + string symbol, + address coin, + PoolKey poolKey, + bytes32 poolKeyHash, + string version ); ``` ### Creator Coins + ```solidity event CreatorCoinCreated( - address indexed caller, - address indexed payoutRecipient, - address indexed platformReferrer, - address currency, - string uri, - string name, - string symbol, - address coin, - PoolKey poolKey, - bytes32 poolKeyHash, - string version + address indexed caller, + address indexed payoutRecipient, + address indexed platformReferrer, + address currency, + string uri, + string name, + string symbol, + address coin, + PoolKey poolKey, + bytes32 poolKeyHash, + string version ); ``` ### Legacy (V3) Coins + ```solidity event CoinCreated( - address indexed caller, - address indexed payoutRecipient, - address indexed platformReferrer, - address currency, - string uri, - string name, - string symbol, - address coin, - address pool, - string version + address indexed caller, + address indexed payoutRecipient, + address indexed platformReferrer, + address currency, + string uri, + string name, + string symbol, + address coin, + address pool, + string version ); ``` ## Indexing Guidance - **Why multiple events?** + - **`CoinCreated` (legacy)**: Emitted by early releases that used Uniswap V3 and returned a pool address. - **`CoinCreatedV4`**: Emitted for Content Coins on Uniswap V4 and includes a full `PoolKey` plus `poolKeyHash`. - **`CreatorCoinCreated`**: Emitted for Creator Coins on Uniswap V4 and includes the same data shape as `CoinCreatedV4`. @@ -282,22 +288,27 @@ event CoinCreated( - **Index all coins**: Indexers should listen to all three events to build a complete list of coins across protocol versions. - **Suggested filter set** + - Contract: `ZoraFactoryImpl` - Events: `CoinCreated`, `CoinCreatedV4`, `CreatorCoinCreated` - **Field differences** + - Legacy `CoinCreated` returns a `pool` address (Uniswap V3). V4 events return a `PoolKey` and `poolKeyHash` instead of a pool address (pool address is derived by Uniswap V4). - **Normalizing into a single record** + - Use common fields across events: `caller`, `payoutRecipient`, `platformReferrer`, `currency`, `uri`, `name`, `symbol`, `coin`, `version`. - For V3: store `poolAddress` from `CoinCreated`. - For V4: store `poolKey` (currencies, fee, tickSpacing, hooks), and `poolKeyHash`. If you need the V4 pool address, derive it using the Uniswap V4 formula from `PoolKey`. - **Creator coin identification** + - Creator coins are explicitly emitted via `CreatorCoinCreated`. - Content coins are emitted via `CoinCreatedV4`. - **Example (pseudocode)** + ```ts onEvent(evt) { switch (evt.name) { @@ -333,4 +344,3 @@ onEvent(evt) { } } ``` - diff --git a/docs/pages/coins/contracts/earning-referral-rewards.mdx b/docs/pages/coins/contracts/earning-referral-rewards.mdx index 4cf004cb3..bfc5ccb06 100644 --- a/docs/pages/coins/contracts/earning-referral-rewards.mdx +++ b/docs/pages/coins/contracts/earning-referral-rewards.mdx @@ -1,10 +1,11 @@ # Earning Rewards as a Developer -Earn automatic rewards by facilitating coin creation and trading on the [Zora Coins Protocol](/coins). Developers can earn from both creating coins and facilitating trades, with rewards distributed automatically in the backing currency. +Earn automatic rewards by facilitating coin creation and trading on the [Niche Coins Protocol](/coins). Developers can earn from both creating coins and facilitating trades, with rewards distributed automatically in the backing currency. ## SDK Integration -For the easiest implementation, use the Zora SDK: +For the easiest implementation, use the Niche SDK: + - [Creating Coins](/coins/sdk/create-coin) - SDK guide for coin creation with referrals - [Trading Coins](/coins/sdk/trade-coin) - SDK guide for trading with referrals @@ -13,11 +14,13 @@ For the easiest implementation, use the Zora SDK: There are two types of referral rewards available to developers: ### Platform Referral Rewards + - **Set once** during coin creation - **Earns from all future trades** for the coin's entire lifespan - **Sticky** - permanently associated with the coin -### Trade Referral Rewards +### Trade Referral Rewards + - **Set per individual swap** - **Earns only from that specific trade** - Can be different for each transaction @@ -42,16 +45,16 @@ Set the `platformReferrer` parameter when creating coins to earn from all future ```solidity // Deploy a Content Coin with create referral address coin = factory.deploy( - payoutRecipient, - owners, - uri, - name, - symbol, - poolConfig, + payoutRecipient, + owners, + uri, + name, + symbol, + poolConfig, YOUR_PLATFORM_ADDRESS, // 🎯 This address earns platform referral rewards - postDeployHook, - postDeployHookData, - coinSalt + postDeployHook, + postDeployHookData, + coinSalt ); ``` @@ -73,7 +76,7 @@ This `hookData` should be included in your swap parameters when calling the Unis ## How Rewards Work - **Automatic Distribution**: Rewards are distributed automatically on every swap - no manual claiming required -- **Multi-Hop Conversion**: All rewards are automatically converted to the backing currency (typically ZORA) before distribution +- **Multi-Hop Conversion**: All rewards are automatically converted to the backing currency (typically NICHE) before distribution - **Immediate Payout**: Rewards are sent directly to recipient addresses with each trade For complete information about reward distribution, fee structures, and economics, see [Coin Rewards](/coins/contracts/rewards). diff --git a/docs/pages/coins/contracts/hook.mdx b/docs/pages/coins/contracts/hook.mdx index 72e4b99dd..2923157d1 100644 --- a/docs/pages/coins/contracts/hook.mdx +++ b/docs/pages/coins/contracts/hook.mdx @@ -1,6 +1,6 @@ # Hook System -The Zora protocol uses a unified Uniswap V4 hook to automatically manage pool interactions and reward distribution for all coin types. +The Niche protocol uses a unified Uniswap V4 hook to automatically manage pool interactions and reward distribution for all coin types. ## Overview @@ -17,6 +17,7 @@ The unified hook centralizes shared functionality and derives reward behavior fr Contains all core functionality used by both coin types: **Automated Operations:** + - Pool initialization and automatic liquidity position creation - Automatic fee collection from all LP positions on every swap - Multi-hop currency conversion through optimal swap paths @@ -24,6 +25,7 @@ Contains all core functionality used by both coin types: - Comprehensive event emission and transaction logging **Technical Features:** + - Uniswap V4 `afterInitialize` and `afterSwap` hook permissions - Doppler multi-curve liquidity positioning - Trusted message sender validation @@ -35,33 +37,39 @@ Reward distribution is unified and determined at runtime from the coin type via ## Deployment Addresses -import { ContractAddress } from '@components/ContractAddress' +import { ContractAddress } from "@components/ContractAddress"; -| Chain | Chain ID | Hook Contract | Address | -|-------|----------|-----------------|---------| -| Base | 8453 | ZoraV4CoinHook | See `@zoralabs/protocol-deployments` | +| Chain | Chain ID | Hook Contract | Address | +| ----- | -------- | -------------- | ------------------------------------ | +| Base | 8453 | ZoraV4CoinHook | See `@zoralabs/protocol-deployments` | ## Hook Permissions The unified hook has the following Uniswap V4 permissions: ```solidity -function getHookPermissions() external pure override returns (Hooks.Permissions memory) { - return Hooks.Permissions({ - beforeInitialize: false, - afterInitialize: true, // βœ… Enabled - beforeAddLiquidity: false, - afterAddLiquidity: false, - beforeRemoveLiquidity: false, - afterRemoveLiquidity: false, - beforeSwap: false, - afterSwap: true, // βœ… Enabled - beforeDonate: false, - afterDonate: false, - beforeSwapReturnDelta: false, - afterSwapReturnDelta: false, - afterAddLiquidityReturnDelta: false, - afterRemoveLiquidityReturnDelta: false +function getHookPermissions() + external + pure + override + returns (Hooks.Permissions memory) +{ + return + Hooks.Permissions({ + beforeInitialize: false, + afterInitialize: true, // βœ… Enabled + beforeAddLiquidity: false, + afterAddLiquidity: false, + beforeRemoveLiquidity: false, + afterRemoveLiquidity: false, + beforeSwap: false, + afterSwap: true, // βœ… Enabled + beforeDonate: false, + afterDonate: false, + beforeSwapReturnDelta: false, + afterSwapReturnDelta: false, + afterAddLiquidityReturnDelta: false, + afterRemoveLiquidityReturnDelta: false }); } ``` @@ -102,14 +110,14 @@ The unified hook implements the same reward distribution mechanism across coin t The hook automatically supports complex swap paths for coins that aren't directly paired with the final payout currency: -### Example: Content Coin β†’ Creator Coin β†’ ZORA +### Example: Content Coin β†’ Creator Coin β†’ NICHE 1. **Content Coin fees** automatically collected in Content Coin tokens 2. **First hop**: Content Coin β†’ Creator Coin (backing currency) -3. **Second hop**: Creator Coin β†’ ZORA token (final payout currency) -4. **Distribution**: ZORA tokens automatically distributed to reward recipients +3. **Second hop**: Creator Coin β†’ NICHE token (final payout currency) +4. **Distribution**: NICHE tokens automatically distributed to reward recipients -This automatically enables complex token economies where Content Coins can be backed by Creator Coins, which are in turn backed by ZORA tokens. +This automatically enables complex token economies where Content Coins can be backed by Creator Coins, which are in turn backed by NICHE tokens. ## Liquidity Management @@ -120,26 +128,27 @@ The hook automatically manages liquidity positions throughout the pool lifecycle During pool initialization, the hook automatically creates: - **Discovery Positions**: Initial price discovery ranges -- **Market Positions**: Main trading ranges +- **Market Positions**: Main trading ranges - **Multi-Position Support**: Complex liquidity curves with multiple ranges ### Position Structure ```solidity struct LiquidityPosition { - int24 tickLower; // Lower price bound - int24 tickUpper; // Upper price bound - uint128 liquidity; // Liquidity amount - uint256 feeGrowthInside0X128; // Fee tracking - uint256 feeGrowthInside1X128; // Fee tracking + int24 tickLower; // Lower price bound + int24 tickUpper; // Upper price bound + uint128 liquidity; // Liquidity amount + uint256 feeGrowthInside0X128; // Fee tracking + uint256 feeGrowthInside1X128; // Fee tracking } ``` ## Migration Support -The hook supports controlled liquidity migration to enable upgrades to new hook versions while preserving all existing liquidity. +The hook supports controlled liquidity migration to enable upgrades to new hook versions while preserving all existing liquidity. **Migration Resources:** + - [Complete Migration Guide](/coins/contracts/liquidity-migration) - Step-by-step migration process and security considerations - [Migration Flow Diagram](/coins/contracts/liquidity-migration#how-it-works) - Visual sequence diagram of the migration process - [Migration Events](/coins/contracts/liquidity-migration#events) - Event emission details for tracking migrations @@ -150,21 +159,22 @@ The hook supports controlled liquidity migration to enable upgrades to new hook ```solidity event Swapped( - address indexed sender, - address indexed swapSender, - bool isTrustedSwapSenderAddress, - PoolKey key, - bytes32 indexed poolKeyHash, - SwapParams params, - int128 amount0, - int128 amount1, - bool isCoinBuy, - bytes hookData, - uint160 sqrtPriceX96 + address indexed sender, + address indexed swapSender, + bool isTrustedSwapSenderAddress, + PoolKey key, + bytes32 indexed poolKeyHash, + SwapParams params, + int128 amount0, + int128 amount1, + bool isCoinBuy, + bytes hookData, + uint160 sqrtPriceX96 ); ``` Emitted on every swap with detailed transaction information including: + - **sender**: The address that initiated the swap transaction - **swapSender**: The original message sender (may differ from sender if using trusted message senders) - **isTrustedSwapSenderAddress**: Whether the sender is registered as a trusted message sender @@ -180,18 +190,19 @@ Emitted on every swap with detailed transaction information including: ```solidity event CoinMarketRewardsV4( - address coin, - address currency, - address payoutRecipient, - address platformReferrer, - address tradeReferrer, - address protocolRewardRecipient, - address dopplerRecipient, - MarketRewardsV4 marketRewards + address coin, + address currency, + address payoutRecipient, + address platformReferrer, + address tradeReferrer, + address protocolRewardRecipient, + address dopplerRecipient, + MarketRewardsV4 marketRewards ); ``` Emitted when market rewards are distributed from collected fees, showing exact amounts to each recipient: + - **coin**: The coin contract that generated the rewards - **currency**: The currency in which rewards are paid out - **payoutRecipient**: The creator's reward recipient address @@ -209,15 +220,16 @@ Prior to v2.3.0, the system used two hooks (`ContentCoinHook` and `CreatorCoinHo ```solidity event LpReward( - address indexed coin, - address indexed currency, - uint256 amountCurrency, - int24 tick, - uint128 liquidity + address indexed coin, + address indexed currency, + uint256 amountCurrency, + int24 tick, + uint128 liquidity ); ``` Emitted when liquidity provider rewards are reminted back into the pool: + - **coin**: The coin contract generating the LP rewards - **currency**: The currency of the reminted LP position - **amountCurrency**: The amount of currency reminted as new liquidity @@ -225,4 +237,3 @@ Emitted when liquidity provider rewards are reminted back into the pool: - **liquidity**: The amount of liquidity reminted back into the pool This event tracks the portion of collected fees that are automatically reminted as liquidity rather than distributed as market rewards. - diff --git a/docs/pages/coins/contracts/metadata.mdx b/docs/pages/coins/contracts/metadata.mdx index ab21d2520..8655d9a02 100644 --- a/docs/pages/coins/contracts/metadata.mdx +++ b/docs/pages/coins/contracts/metadata.mdx @@ -6,13 +6,13 @@ This is based off of the `EIP721` and `EIP1155` metadata standards. The metadata URI is specified during [coin deployment](/coins/contracts/creating-a-coin#required-parameters) and can be [updated by coin owners](/coins/sdk/update-coin) after deployment. -We have a guide below for recommended format along with ZORA extensions and validator tools: +We have a guide below for recommended format along with Niche extensions and validator tools: ## Metadata JSON Format Your metadata JSON file should follow this format: -```json +````json { "name": "horse", "description": "boundless energy", @@ -41,7 +41,7 @@ The `content` property extension is an object that contains the mime type and ur "category": "social" } } -``` +```` ## Metadata JSON Validator @@ -60,12 +60,11 @@ This function validates the metadata JSON file. import { validateMetadataJSON } from "@zoralabs/coins-sdk"; validateMetadataJSON({ - name: "horse", - description: "boundless energy", - image: 123, - foo: "bar" -}) - + name: "horse", + description: "boundless energy", + image: 123, + foo: "bar", +}); ``` This function will throw an error if the metadata is invalid and return `true` if it is valid. @@ -75,23 +74,22 @@ This function will throw an error if the metadata is invalid and return `true` i This function validates the metadata URI. ```ts twoslash - -function assertTrue(condition: boolean) { } +function assertTrue(condition: boolean) {} // ---cut--- import { validateMetadataURIContent } from "@zoralabs/coins-sdk"; -assertTrue(await validateMetadataURIContent("https://theme.wtf/metadata/metadata.json")); +assertTrue( + await validateMetadataURIContent("https://theme.wtf/metadata/metadata.json"), +); // This will throw an error await validateMetadataURIContent("data:foo"); // This will succeed :) -await validateMetadataURIContent("ipfs://bafybeigoxzqzbnxsn35vq7lls3ljxdcwjafxvbvkivprsodzrptpiguysy"); - +await validateMetadataURIContent( + "ipfs://bafybeigoxzqzbnxsn35vq7lls3ljxdcwjafxvbvkivprsodzrptpiguysy", +); ``` This function will throw an error if the metadata URI is invalid and return `true` if it is valid. - - - diff --git a/docs/pages/coins/contracts/rewards.mdx b/docs/pages/coins/contracts/rewards.mdx index eb1508f69..50d6ff6c8 100644 --- a/docs/pages/coins/contracts/rewards.mdx +++ b/docs/pages/coins/contracts/rewards.mdx @@ -2,14 +2,15 @@ id: rewards title: Coin Rewards --- -import { Callout } from 'vocs/components' + +import { Callout } from "vocs/components"; # Coin Rewards ## Introduction -At Zora, we are passionate about providing the best experience to create and earn onchain. -**Coin Rewards** is a split of the Zora fee allowing: +At Niche, we are passionate about providing the best experience to create and earn onchain. +**Coin Rewards** is a split of the Niche fee allowing: - Creators to monetize their work - Developers to earn from facilitating coin creation and trading @@ -19,7 +20,8 @@ At Zora, we are passionate about providing the best experience to create and ear Coin trading rewards are distributed to the creator, create referral, trade referral, protocol, and doppler. -All coins created on the Zora app including web and mobile after June 6th 2025 use the V4 configuration. + All coins created on the Niche app including web and mobile after June 6th + 2025 use the V4 configuration. The latest V4 coins use a UniswapV4 hook to collect fees, swap to a backing currency, and distribute rewards to recipients on every swap. @@ -34,7 +36,7 @@ When users trade coins, the Uniswap V4 hook automatically: 1. **Collects LP fees** (1% total fees for v2.2.0+) from all liquidity positions 2. **Splits fees** into two parts: - - **20% for LP Rewards** - Used to create new liquidity positions + - **20% for LP Rewards** - Used to create new liquidity positions - **80% for Market Rewards** - Distributed to stakeholders ### LP Reward Mechanism: Liquidity Preservation @@ -53,17 +55,21 @@ The remaining portion of collected fees becomes "market rewards" and is distribu ### V4 Market Reward Distribution (Current - Since 2.2.0) -As of version 2.2.0, the fee structure has been unified with a total fee of 1% on pools (was 3% previously) and consistent distribution across both coin types. -All coins with hooks on version 2.2.0 or higher use the unified fee structure. + As of version 2.2.0, the fee structure has been unified with a total fee of 1% + on pools (was 3% previously) and consistent distribution across both coin + types. All coins with hooks on version 2.2.0 or higher use the unified fee + structure. **Existing Coins**: Coins deployed before version 2.2.0 continue to use their original fee structure unless the coin owner migrates their liquidity to a 2.2.0+ hook. Migration to newer hooks adopts the new unified fee structure automatically. For information on liquidity migration, see [Liquidity Migration](/coins/contracts/liquidity-migration). + #### Content Coins & Creator Coins (1% total fee on pools) + | Recipient | % of Market Rewards | % of Total Fees | | ----------------- | ------------------- | --------------- | | Creator | 62.5% | 50% | @@ -77,17 +83,19 @@ For information on liquidity migration, see [Liquidity Migration](/coins/contrac ### Fee Structure Comparison (Pre-2.2.0 vs Current) #### Content Coins + | Recipient | Before (Pre-2.2.0) (3% total fee) | After (2.2.0 and later) (1% total fee) | -| ----------------- | --------------------- | -------------------- | -| | % of Fee | % of Fee | -| Creator | 33.33% | 50% | -| Platform Referral | 10% | 20% | -| Trade Referral | 10% | 4% | -| Doppler | 3.33% | 1% | -| Protocol | 10% | 5% | -| LP Rewards | 33.33% | 20% | +| ----------------- | --------------------------------- | -------------------------------------- | +| | % of Fee | % of Fee | +| Creator | 33.33% | 50% | +| Platform Referral | 10% | 20% | +| Trade Referral | 10% | 4% | +| Doppler | 3.33% | 1% | +| Protocol | 10% | 5% | +| LP Rewards | 33.33% | 20% | #### Creator Coins + | Recipient | Before (3% total fee) | After (1% total fee) | | ----------------- | --------------------- | -------------------- | | | % of Fee | % of Fee | @@ -103,34 +111,34 @@ For information on liquidity migration, see [Liquidity Migration](/coins/contrac All market rewards are automatically converted to the final backing currency before distribution: #### Currency Hierarchy + - **Content Coins** are paired with **Creator Coins** (configured during [deployment](/coins/contracts/creating-a-coin#content-coin-configurable-currency)) -- **Creator Coins** are paired with **ZORA** (configured during [deployment](/coins/contracts/creating-a-coin#creator-coin-zora-paired)) +- **Creator Coins** are paired with **NICHE** (configured during [deployment](/coins/contracts/creating-a-coin#creator-coin-niche-paired)) #### Conversion Process When fees are collected, the hook automatically performs multi-hop swaps to reach the final payout currency: 1. **Content Coin fees** β†’ **Creator Coin** (first hop) -2. **Creator Coin** β†’ **ZORA** (second hop) +2. **Creator Coin** β†’ **NICHE** (second hop) -This ensures that all stakeholders receive rewards in **ZORA**, regardless of which coin type generated the fees. +This ensures that all stakeholders receive rewards in **NICHE**, regardless of which coin type generated the fees. #### Example Flow ``` -Content Coin Trading β†’ Fees Collected β†’ Multi-hop Swap β†’ All Recipients Receive ZORA +Content Coin Trading β†’ Fees Collected β†’ Multi-hop Swap β†’ All Recipients Receive NICHE ↓ - Content Coin β†’ Creator Coin β†’ ZORA + Content Coin β†’ Creator Coin β†’ NICHE ``` ### Key V4 Features - **Automated Distribution**: Rewards are distributed on every single swap, no manual claiming required -- **Multi-Hop Conversion**: Automatically converts rewards through intermediate tokens to reach ZORA -- **Unified Currency**: All recipients receive rewards in the same target currency (ZORA) +- **Multi-Hop Conversion**: Automatically converts rewards through intermediate tokens to reach NICHE +- **Unified Currency**: All recipients receive rewards in the same target currency (NICHE) - **Liquidity Preservation**: 20% of fees remain in pools as permanent liquidity - ## Coin Rewards Terminology **Trade Referral**: The platform or address that referred a specific trade/swap of a coin. In V4, this is passed through hook data and can trigger referral rewards. @@ -139,7 +147,7 @@ Content Coin Trading β†’ Fees Collected β†’ Multi-hop Swap β†’ All Recipients Re **Creator/Payout Recipient**: The address designated to receive creator rewards from trading activity. This can be updated by coin owners. -**Protocol**: The Zora protocol treasury that receives a portion of trading fees. +**Protocol**: The Niche protocol treasury that receives a portion of trading fees. **Doppler**: The Doppler protocol treasury that receives a portion of trading fees. @@ -150,6 +158,7 @@ Content Coin Trading β†’ Fees Collected β†’ Multi-hop Swap β†’ All Recipients Re 3. Creator launches their coin -- **that's it!** The creator's total rewards are automatically distributed with each trade: + - **V4**: Converted to target currency and sent directly to payout recipient - **V3**: Accumulated in escrow and can be withdrawn at any time @@ -157,7 +166,7 @@ The creator's total rewards are automatically distributed with each trade: ### Platform Referral Reward -The Platform Referral Reward is paid out to the developer or platform that referred the creator to deploy their coin using Zora's contracts. +The Platform Referral Reward is paid out to the developer or platform that referred the creator to deploy their coin using Niche's contracts. #### Creating a Coin with Rewards @@ -165,16 +174,16 @@ The `platformReferrer` address is specified upon coin creation through the facto ```solidity function deploy( - address payoutRecipient, - address[] memory owners, - string memory uri, - string memory name, - string memory symbol, - bytes memory poolConfig, - address platformReferrer, // This is the platform referral - address postDeployHook, - bytes calldata postDeployHookData, - bytes32 coinSalt + address payoutRecipient, + address[] memory owners, + string memory uri, + string memory name, + string memory symbol, + bytes memory poolConfig, + address platformReferrer, // This is the platform referral + address postDeployHook, + bytes calldata postDeployHookData, + bytes32 coinSalt ) external payable returns (address coin, bytes memory postDeployHookDataOut); ``` @@ -185,4 +194,3 @@ The Trade Referral Reward is paid out to the platform that referred a specific t #### Trading with Referrals Trade referrals are passed through the hook data when executing swaps via the Universal Router or other compatible interfaces. - diff --git a/docs/pages/coins/index.mdx b/docs/pages/coins/index.mdx index b849b57d0..832993c27 100644 --- a/docs/pages/coins/index.mdx +++ b/docs/pages/coins/index.mdx @@ -1,12 +1,12 @@ --- id: intro -title: Zora Coins Protocol +title: Niche Coins Protocol description: The new creator economy --- -# Zora Coins Protocol +# Niche Coins Protocol -The Zora Coins Protocol is a way to participate in the new creator economyβ€”one where users trade on attention, creativity, and cultural momentum. Every post becomes an instantly tradeable cryptocurrency token, transforming social media content into a tradeable asset. +The Niche Coins Protocol is a way to participate in the new creator economyβ€”one where users trade on attention, creativity, and cultural momentum. Every post becomes an instantly tradeable cryptocurrency token, transforming social media content into a tradeable asset. This is the first time creators earn across posts, creators, and the platform. **Open, free, and valuable.** @@ -15,19 +15,19 @@ This is the first time creators earn across posts, creators, and the platform. * Every coin has a **backing currency** and trades through a dedicated Uniswap V4 pool that with a custom hook that: - **Distributes rewards** to creators, referrers, and the protocol on every trade - **Preserves liquidity** by locking 33% of trading fees as permanent pool depth -- **Converts fees** through multi-hop swaps to ensure all rewards are paid in ZORA +- **Converts fees** through multi-hop swaps to ensure all rewards are paid in NICHE - **Deposits initial liquidity** using [Doppler protocol](https://www.doppler.lol/) for optimized multi-curve positioning ## How Coins Work -**Creator Coins are profile-level tokens on Zora** - each account has its own coin where the username becomes the ticker ($username). +**Creator Coins are profile-level tokens on Niche** - each account has its own coin where the username becomes the ticker ($username). ### Creator Coins - **One coin per profile** - Each creator gets a single coin representing their brand - **Fixed supply** - 1 billion total per coin -- **50% to creator** - Automatically distributed over 5 years +- **50% to creator** - Automatically distributed over 5 years - **50% tradeable** - Instantly available on the open market -- **Earn from every trade** - Creators earn $ZORA from trade activity +- **Earn from every trade** - Creators earn $NICHE from trade activity ### Content Coins - **Post-level tokens** - Every post becomes an instantly tradeable coin @@ -35,7 +35,7 @@ Every coin has a **backing currency** and trades through a dedicated Uniswap V4 - **Instant creator allocation** - 10M tokens go directly to creators at launch - **990M tradeable** - Available on the market immediately -![Zora Coins Protocol Overview](/coins-overview.png) +![Niche Coins Protocol Overview](/coins-overview.png) ## Token Supply Distribution diff --git a/docs/pages/coins/sdk/create-coin.mdx b/docs/pages/coins/sdk/create-coin.mdx index f0d45e88c..9b8f96611 100644 --- a/docs/pages/coins/sdk/create-coin.mdx +++ b/docs/pages/coins/sdk/create-coin.mdx @@ -1,6 +1,6 @@ ### Creating Coins -The Coins SDK provides functions to create new coins on the Zora protocol. +The Coins SDK provides functions to create new coins on the Niche protocol. ### Overview @@ -26,7 +26,7 @@ type CreateCoinArgs = { name: string; // Coin name (e.g., "My Awesome Coin") symbol: string; // Ticker (e.g., "MAC") metadata: MetadataType; // Metadata descriptor - currency: ContentCoinCurrency; // CREATOR_COIN | CREATOR_COIN_OR_ZORA | ZORA | ETH + currency: ContentCoinCurrency; // CREATOR_COIN | CREATOR_COIN_OR_NICHE | NICHE | ETH chainId?: number; // Chain ID to deploy on (defaults to Base mainnet `8453`) startingMarketCap?: StartingMarketCap; // LOW | HIGH (defaults to LOW) platformReferrer?: Address; // Optional referral address @@ -51,8 +51,8 @@ import { const creatorAddress = "0xYourAddress" as Address; const { createMetadataParameters } = await createMetadataBuilder() - .withName("Test ZORA Coin") - .withSymbol("TZC") + .withName("Test Niche Coin") + .withSymbol("TNC") .withDescription("Test Description") .withImage(new File(["FILE"], "test.png", { type: "image/png" })) .upload(createZoraUploaderForCreator(creatorAddress)); @@ -65,17 +65,17 @@ const { createMetadataParameters } = await createMetadataBuilder() ```ts enum ContentCoinCurrencies { CREATOR_COIN = "CREATOR_COIN", - CREATOR_COIN_OR_ZORA = "CREATOR_COIN_OR_ZORA", // If no creator coin is deployed, use ZORA - ZORA = "ZORA", + CREATOR_COIN_OR_NICHE = "CREATOR_COIN_OR_NICHE", // If no creator coin is deployed, use NICHE + NICHE = "NICHE", ETH = "ETH", } ``` -Choose the denomination for the coin’s market. Note that `ZORA`, `CREATOR_COIN`, and `CREATOR_COIN_OR_ZORA` are not available on Base Sepolia. +Choose the denomination for the coin's market. Note that `NICHE`, `CREATOR_COIN`, and `CREATOR_COIN_OR_NICHE` are not available on Base Sepolia. #### Starting Market Cap -Starting market cap is the initial liquidity/market configuration for the coin. By default and for most coins on Zora, the starting market cap is `LOW`. +Starting market cap is the initial liquidity/market configuration for the coin. By default and for most coins on Niche, the starting market cap is `LOW`. If the coin is from a known creator or brand it is recommended to use `HIGH` to prevent sniping in the initial market by setting a higher initial purchase price. #### Chain ID @@ -117,7 +117,7 @@ const args = { name: "My Awesome Coin", symbol: "MAC", metadata: { type: "RAW_URI" as const, uri: "ipfs://bafy..." }, - currency: CreateConstants.ContentCoinCurrencies.ZORA, + currency: CreateConstants.ContentCoinCurrencies.NICHE, chainId: base.id, startingMarketCap: CreateConstants.StartingMarketCaps.LOW, platformReferrerAddress: "0xOptionalReferrer" as Address, @@ -201,7 +201,7 @@ function CreateCoinButton() { name: "My Awesome Coin", symbol: "MAC", metadata: { type: "RAW_URI" as const, uri: "ipfs://bafy..." }, - currency: CreateConstants.ContentCoinCurrencies.ZORA, + currency: CreateConstants.ContentCoinCurrencies.NICHE, chainId: base.id, startingMarketCap: CreateConstants.StartingMarketCaps.LOW, }; diff --git a/docs/pages/coins/sdk/metadata-builder.md b/docs/pages/coins/sdk/metadata-builder.md index bd4b4966e..8f79e6e9d 100644 --- a/docs/pages/coins/sdk/metadata-builder.md +++ b/docs/pages/coins/sdk/metadata-builder.md @@ -1,25 +1,30 @@ # Metadata Builder -The ZORA SDK supports handling metadata when using an SDK API key. +The Niche SDK supports handling metadata when using an SDK API key. -This utilizes ZORA's internal IPFS pinning and delivery infastructure. +This utilizes Niche's internal IPFS pinning and delivery infastructure. -You are welcome to implement your own uploader or connect another IPFS provider to the uploader infastructure. You'll get performant uploads and more reliable metadata indexing using this service. You also can utilize a `multiUploader` interface to upload to both your own service and ZORA's service. +You are welcome to implement your own uploader or connect another IPFS provider to the uploader infastructure. You'll get performant uploads and more reliable metadata indexing using this service. You also can utilize a `multiUploader` interface to upload to both your own service and Niche's service. ## Example Usage ```ts twoslash -import { createMetadataBuilder, createZoraUploaderForCreator } from "@zoralabs/coins-sdk"; +import { + createMetadataBuilder, + createZoraUploaderForCreator, +} from "@zoralabs/coins-sdk"; import { Address } from "viem"; const creatorAddress = "0x17cd072cBd45031EFc21Da538c783E0ed3b25DCc"; const { createMetadataParameters } = await createMetadataBuilder() - .withName("Test Base ZORA Coin") - .withSymbol("TBZC") + .withName("Test Base Niche Coin") + .withSymbol("TBNC") .withDescription("Test Description") .withImage( - new File([/* data for png as bytes or file from user */ ""], "test.png", { type: "image/png" }), + new File([/* data for png as bytes or file from user */ ""], "test.png", { + type: "image/png", + }), ) .upload(createZoraUploaderForCreator(creatorAddress as Address)); @@ -35,7 +40,7 @@ The metadata builder has basic validation for metadata including: 1. Name, symbol, image are required at minimum. 2. URLs cannot be submitted when files are submitted. 3. Either URLs or Files can be submitted for both media and image. -4. Image mime type is restricted to what displays on zora.co. +4. Image mime type is restricted to what displays on niche.co. Errors are fairly specific and emitted as exceptions when using the builder interface usually when calling `validate`. diff --git a/docs/pages/coins/sdk/trade-coin.mdx b/docs/pages/coins/sdk/trade-coin.mdx index 3855ed716..0cf4928e4 100644 --- a/docs/pages/coins/sdk/trade-coin.mdx +++ b/docs/pages/coins/sdk/trade-coin.mdx @@ -5,6 +5,7 @@ The Coins SDK provides powerful trading functionality through the `tradeCoin` fu ## Overview The `tradeCoin` function supports: + - **ETH ↔ ERC20 token swaps** with semi-automatic routing - **Creator Coin ↔ Creator Coin swaps** with semi-automatic routing - **Content Coin ↔ Creator Coin swaps** with semi-automatic routing @@ -55,9 +56,9 @@ const receipt = await tradeCoin({ ```typescript const tradeParameters: TradeParameters = { - sell: { - type: "erc20", - address: "0x4e93a01c90f812284f71291a8d1415a904957156" // Creator Coin address + sell: { + type: "erc20", + address: "0x4e93a01c90f812284f71291a8d1415a904957156", // Creator Coin address }, buy: { type: "eth" }, amountIn: parseEther("100"), // 100 tokens (adjust decimals as needed) @@ -86,7 +87,7 @@ const tradeParameters: TradeParameters = { address: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", // USDC address }, buy: { - type: "erc20", + type: "erc20", address: "0x9b13358e3a023507e7046c18f508a958cda75f54", // @jacob Creator Coin }, amountIn: BigInt(4 * 10 ** 6), // 4 USDC (6 decimals) @@ -104,8 +105,8 @@ const receipt = await tradeCoin({ ### Trading Between ERC20 Tokens -Only Creator Coins, USDC, and ZORA are supported for trading between ERC20 tokens. -Content Coins _can_ currently be traded when the creator is the same but the current flow requires selling for ZORA, USDC, or ETH, then buying the new coin separately. +Only Creator Coins, USDC, and NICHE are supported for trading between ERC20 tokens. +Content Coins _can_ currently be traded when the creator is the same but the current flow requires selling for NICHE, USDC, or ETH, then buying the new coin separately. ```typescript import { TradeParameters, tradeCoin } from "@zoralabs/coins-sdk"; @@ -161,7 +162,7 @@ async function tradeCoin({ account: Account; publicClient: GenericPublicClient; validateTransaction?: boolean; -}) +}); ``` ## Trade Parameters @@ -182,9 +183,7 @@ type TradeParameters = { }; // Trade currency can be ETH or an ERC20 token -type TradeCurrency = - | { type: "eth" } - | { type: "erc20"; address: Address }; +type TradeCurrency = { type: "eth" } | { type: "erc20"; address: Address }; ``` ## How Permits Work @@ -209,7 +208,9 @@ import { createTradeCall } from "@zoralabs/coins-sdk"; // Get trade call data without executing const quote = await createTradeCall(tradeParameters); -const walletClient = createWalletClient({/* ... */}); +const walletClient = createWalletClient({ + /* ... */ +}); // Execute the call directly const tx = await walletClient.sendTransaction({ @@ -247,6 +248,7 @@ const zeroAmount: TradeParameters = { ## Smart Wallet Support Smart wallet support is coming soon. Currently, the SDK works with: + - βœ… **EOA wallets** (MetaMask, WalletConnect, etc.) - πŸ”„ **Smart wallets** (coming soon) @@ -262,4 +264,3 @@ Smart wallet support is coming soon. Currently, the SDK works with: ## Network Support Currently only supports **Base mainnet**. - diff --git a/docs/vercel.json b/docs/vercel.json index b9c5dc1d6..cacc4e7a3 100644 --- a/docs/vercel.json +++ b/docs/vercel.json @@ -1,108 +1,7 @@ { - "git": { - "deploymentEnabled": false - }, "$schema": "https://openapi.vercel.sh/vercel.json", - "redirects": [ - { - "source": "/protocol-sdk/getting-started", - "destination": "/protocol-sdk/introduction", - "permanent": false - }, - { - "source": "/docs/smart-contracts/creator-tools/:path*", - "destination": "/contracts/:path*", - "permanent": false - }, - { - "source": "/docs/zora-network/:path*", - "destination": "/zora-network/:path*", - "permanent": false - }, - { - "source": "/protocol-sdk/collect/get", - "destination": "/protocol-sdk/collect/getToken", - "permanent": true - }, - { - "source": "/coins/sdk/metadata", - "destination": "/coins/contracts/metadata", - "permanent": true - }, - { - "source": "/coins/sdk/getting-started", - "destination": "/coins/sdk", - "permanent": true - }, - { - "source": "/coins/sdk/coins-queries", - "destination": "/coins/sdk/queries", - "permanent": true - }, - { - "source": "/protocol-sdk/collect/get-of-contract", - "destination": "/protocol-sdk/collect/getTokensOfContract", - "permanent": false - }, - { - "source": "/protocol-sdk/collect/mint-costs", - "destination": "/protocol-sdk/collect/mint", - "permanent": false - }, - { - "source": "/contracts/:path*", - "destination": "https://nft.docs.zora.co/contracts/:path*", - "permanent": true - }, - { - "source": "/protocol-sdk/:path*", - "destination": "https://nft.docs.zora.co/protocol-sdk/:path*", - "permanent": true - }, - { - "source": "/zora-network/:path*", - "destination": "https://nft.docs.zora.co/zora-network/:path*", - "permanent": true - }, - { - "source": "/changelogs/protocol-sdk", - "destination": "https://nft.docs.zora.co/changelogs/protocol-sdk", - "permanent": true - }, - { - "source": "/changelogs/protocol-deployments", - "destination": "https://nft.docs.zora.co/changelogs/protocol-deployments", - "permanent": true - }, - { - "source": "/changelogs/zora-1155-contracts", - "destination": "https://nft.docs.zora.co/changelogs/zora-1155-contracts", - "permanent": true - }, - { - "source": "/changelogs/cointag-contracts", - "destination": "https://nft.docs.zora.co/changelogs/cointag-contracts", - "permanent": true - }, - { - "source": "/coins/contracts/factory", - "destination": "/coins/contracts/creating-a-coin", - "permanent": true - }, - { - "source": "/coins/contracts/getting-started", - "destination": "/coins/contracts", - "permanent": true - }, - { - "source": "/coins/contracts/coin", - "destination": "/coins/contracts/architecture", - "permanent": true - }, - { - "source": "/coins/contracts", - "destination": "/coins", - "permanent": true - } - ] + "buildCommand": "pnpm run build:vercel", + "installCommand": "pnpm install --ignore-scripts", + "framework": null, + "outputDirectory": ".vercel/output" } diff --git a/docs/vocs.config.ts b/docs/vocs.config.ts index 853b97b9a..f27a2d85f 100644 --- a/docs/vocs.config.ts +++ b/docs/vocs.config.ts @@ -4,8 +4,8 @@ import remarkMermaid from "remark-mermaidjs"; import path from "path"; export default defineConfig({ - title: "ZORA Docs", - titleTemplate: "%s | ZORA Docs", + title: "Niche Docs", + titleTemplate: "%s | Niche Docs", iconUrl: "/brand/zorb-logo.png", logoUrl: "/brand/zorb-logo.png", ogImageUrl: "https://docs.zora.co/brand/og.jpg", diff --git a/package.json b/package.json index b7e9520e1..ed741d094 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,7 @@ "husky": ">=6", "lint-staged": ">=10", "prettier": "^3.0.3", - "prettier-plugin-solidity": "^1.4.1", + "prettier-plugin-solidity": "^1.4.2", "tsx": "^4.19.0", "turbo": "^2.5.3" }, diff --git a/packages/coins-sdk/src/utils/poolConfigUtils.ts b/packages/coins-sdk/src/utils/poolConfigUtils.ts index ac00ff9c2..db3eb406a 100644 --- a/packages/coins-sdk/src/utils/poolConfigUtils.ts +++ b/packages/coins-sdk/src/utils/poolConfigUtils.ts @@ -10,7 +10,7 @@ const ZORA_DECIMALS = 18; * ========================= */ -export const ZORA_ADDRESS = "0x1111111111166b7fe7bd91427724b487980afc69"; +export const NICHE_ADDRESS = "0x5ab1a8dbb78c272540d3652dac9c46d9cbfcecbf"; const COIN_ETH_PAIR_LOWER_TICK = -250000; const COIN_ETH_PAIR_UPPER_TICK = -195_000; @@ -42,9 +42,9 @@ const COIN_ZORA_PAIR_MAX_DISCOVERY_SUPPLY_SHARE = parseUnits( ZORA_DECIMALS, ); -export const COIN_ZORA_PAIR_POOL_CONFIG = { +export const COIN_NICHE_PAIR_POOL_CONFIG = { [base.id]: encodeMultiCurvePoolConfig({ - currency: ZORA_ADDRESS, + currency: NICHE_ADDRESS, tickLower: [COIN_ZORA_PAIR_LOWER_TICK], tickUpper: [COIN_ZORA_PAIR_UPPER_TICK], numDiscoveryPositions: [COIN_ZORA_PAIR_NUM_DISCOVERY_POSITIONS], diff --git a/packages/coins-sdk/test-integration/create-coin-anvil.test.ts b/packages/coins-sdk/test-integration/create-coin-anvil.test.ts index dd63da4ce..dd955ba9f 100644 --- a/packages/coins-sdk/test-integration/create-coin-anvil.test.ts +++ b/packages/coins-sdk/test-integration/create-coin-anvil.test.ts @@ -3,7 +3,7 @@ import { base } from "viem/chains"; import { Address, parseEther } from "viem"; import { makeAnvilTest, forkUrls } from "./util/anvil"; import { createCoin, CreateConstants } from "../src"; -import { ZORA_ADDRESS } from "../src/utils/poolConfigUtils"; +import { NICHE_ADDRESS } from "../src/utils/poolConfigUtils"; // Create a base sepolia anvil test instance const baseAnvilTest = makeAnvilTest({ @@ -116,7 +116,7 @@ describe("Create ETH Coin on Base", () => { expect(result.address).toBeDefined(); expect(result.deployment?.currency.toLowerCase()).toBe( - ZORA_ADDRESS.toLowerCase(), + NICHE_ADDRESS.toLowerCase(), ); // Additional verification if needed diff --git a/packages/coins-sdk/test-integration/create-coin-with-metadata.test.ts b/packages/coins-sdk/test-integration/create-coin-with-metadata.test.ts index 89723153c..fa2fad6e2 100644 --- a/packages/coins-sdk/test-integration/create-coin-with-metadata.test.ts +++ b/packages/coins-sdk/test-integration/create-coin-with-metadata.test.ts @@ -9,7 +9,7 @@ import { createZoraUploaderForCreator, CreateConstants, } from "../src"; -import { ZORA_ADDRESS } from "../src/utils/poolConfigUtils"; +import { NICHE_ADDRESS } from "../src/utils/poolConfigUtils"; import { testPng } from "./util/test-png"; // Create a base sepolia anvil test instance diff --git a/packages/coins/src/libs/CoinConstants.sol b/packages/coins/src/libs/CoinConstants.sol index 1650bc349..e927ff478 100644 --- a/packages/coins/src/libs/CoinConstants.sol +++ b/packages/coins/src/libs/CoinConstants.sol @@ -40,8 +40,8 @@ library CoinConstants { uint256 internal constant CREATOR_VESTING_DURATION = (5 * 365.25 days); /// @notice The backing currency for creator coins - /// @dev ETH backing currency address - address internal constant CREATOR_COIN_CURRENCY = 0x1111111111166b7FE7bd91427724B487980aFc69; + /// @dev Niche token backing currency address + address internal constant CREATOR_COIN_CURRENCY = 0x5ab1a8dbb78c272540d3652dac9c46d9cbfcecbf; /// @notice The LP fee /// @dev 10000 basis points = 1% diff --git a/packages/coins/test/AutoSwapper.t.sol b/packages/coins/test/AutoSwapper.t.sol index 783e95853..7ce701317 100644 --- a/packages/coins/test/AutoSwapper.t.sol +++ b/packages/coins/test/AutoSwapper.t.sol @@ -11,7 +11,7 @@ contract AutoSwapperTest is Test { address internal constant SWAP_ROUTER = 0x2626664c2603336E57B271c5C0b26F421741e481; address internal constant WETH_ADDRESS = 0x4200000000000000000000000000000000000006; address internal constant USDC_ADDRESS = 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913; - address internal constant ZORA_ADDRESS = 0x1111111111166b7FE7bd91427724B487980aFc69; + address internal constant NICHE_ADDRESS = 0x5ab1a8dbb78c272540d3652dac9c46d9cbfcecbf; address internal constant ZORA_RECIPIENT = 0x7bf90111Ad7C22bec9E9dFf8A01A44713CC1b1B6; @@ -34,14 +34,14 @@ contract AutoSwapperTest is Test { } function test_swapExactInputSingleWorks() public { - uint256 amountToSwap = IERC20(ZORA_ADDRESS).balanceOf(swapRecipient) / 2; + uint256 amountToSwap = IERC20(NICHE_ADDRESS).balanceOf(swapRecipient) / 2; uint256 amountOutMin = 0; - bool zeroForOne = ZORA_ADDRESS < USDC_ADDRESS; + bool zeroForOne = NICHE_ADDRESS < USDC_ADDRESS; AutoSwapper.ExactInputSingleParams memory params = AutoSwapper.ExactInputSingleParams({ - tokenIn: ZORA_ADDRESS, + tokenIn: NICHE_ADDRESS, tokenOut: USDC_ADDRESS, // 0.3% fee fee: 3000, @@ -51,25 +51,25 @@ contract AutoSwapperTest is Test { }); vm.prank(swapRecipient); - IERC20(ZORA_ADDRESS).approve(address(autoSwapper), amountToSwap); + IERC20(NICHE_ADDRESS).approve(address(autoSwapper), amountToSwap); uint256 usdcBalanceBefore = IERC20(USDC_ADDRESS).balanceOf(swapRecipient); - uint256 zoraBalanceBefore = IERC20(ZORA_ADDRESS).balanceOf(swapRecipient); + uint256 nicheBalanceBefore = IERC20(NICHE_ADDRESS).balanceOf(swapRecipient); vm.prank(swapper); uint256 amountOut = autoSwapper.swapExactInputSingle(params); assertEq(amountOut, IERC20(USDC_ADDRESS).balanceOf(swapRecipient) - usdcBalanceBefore); - assertEq(IERC20(ZORA_ADDRESS).balanceOf(swapRecipient), zoraBalanceBefore - amountToSwap); + assertEq(IERC20(NICHE_ADDRESS).balanceOf(swapRecipient), nicheBalanceBefore - amountToSwap); } function test_swap_revertsIfNotSwapper() public { vm.expectRevert(AutoSwapper.NotSwapper.selector); autoSwapper.swapExactInputSingle( AutoSwapper.ExactInputSingleParams({ - tokenIn: ZORA_ADDRESS, + tokenIn: NICHE_ADDRESS, tokenOut: USDC_ADDRESS, fee: 3000, amountIn: 1000, @@ -80,27 +80,27 @@ contract AutoSwapperTest is Test { } function test_swapExactInputWorks() public { - // test zora to weth to usdc + // test niche to weth to usdc uint24 poolFee = 3000; - bytes memory path = abi.encodePacked(ZORA_ADDRESS, poolFee, WETH_ADDRESS, poolFee, USDC_ADDRESS); + bytes memory path = abi.encodePacked(NICHE_ADDRESS, poolFee, WETH_ADDRESS, poolFee, USDC_ADDRESS); - uint256 amountToSwap = IERC20(ZORA_ADDRESS).balanceOf(swapRecipient) / 2; + uint256 amountToSwap = IERC20(NICHE_ADDRESS).balanceOf(swapRecipient) / 2; AutoSwapper.ExactInputParams memory params = AutoSwapper.ExactInputParams({path: path, amountIn: amountToSwap, amountOutMinimum: 0}); vm.prank(swapRecipient); - IERC20(ZORA_ADDRESS).approve(address(autoSwapper), amountToSwap); + IERC20(NICHE_ADDRESS).approve(address(autoSwapper), amountToSwap); uint256 usdcBalanceBefore = IERC20(USDC_ADDRESS).balanceOf(swapRecipient); - uint256 zoraBalanceBefore = IERC20(ZORA_ADDRESS).balanceOf(swapRecipient); + uint256 nicheBalanceBefore = IERC20(NICHE_ADDRESS).balanceOf(swapRecipient); vm.prank(swapper); uint256 amountOut = autoSwapper.swapExactInput(params); assertEq(amountOut, IERC20(USDC_ADDRESS).balanceOf(swapRecipient) - usdcBalanceBefore); - assertEq(IERC20(ZORA_ADDRESS).balanceOf(swapRecipient), zoraBalanceBefore - amountToSwap); + assertEq(IERC20(NICHE_ADDRESS).balanceOf(swapRecipient), nicheBalanceBefore - amountToSwap); } function test_swapExactInput_revertsIfNotSwapper() public { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 475b131bd..ffc1f5454 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -41,7 +41,7 @@ importers: specifier: ^3.0.3 version: 3.4.2 prettier-plugin-solidity: - specifier: ^1.4.1 + specifier: ^1.4.2 version: 1.4.2(prettier@3.4.2) tsx: specifier: ^4.19.4 @@ -66,7 +66,7 @@ importers: version: 20.17.16 '@types/react': specifier: latest - version: 19.2.2 + version: 19.2.3 '@vanilla-extract/css': specifier: ^1.15.3 version: 1.17.0 @@ -111,10 +111,10 @@ importers: version: 4.3.2(typescript@5.8.3)(vite@5.4.14(@types/node@20.17.16)(lightningcss@1.30.2)(terser@5.37.0)) vocs: specifier: 1.1.0 - version: 1.1.0(@types/node@20.17.16)(@types/react@19.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@4.52.5)(terser@5.37.0)(tsx@4.19.4)(typescript@5.8.3) + version: 1.1.0(@types/node@20.17.16)(@types/react@19.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@4.52.5)(terser@5.37.0)(tsx@4.19.4)(typescript@5.8.3) wagmi: specifier: ^2.12.17 - version: 2.14.9(@tanstack/query-core@5.64.2)(@tanstack/react-query@5.64.2(react@18.3.1))(@types/react@19.2.2)(bufferutil@4.0.9)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(viem@2.22.12(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.1))(zod@3.24.1) + version: 2.14.9(@tanstack/query-core@5.64.2)(@tanstack/react-query@5.64.2(react@18.3.1))(@types/react@19.2.3)(bufferutil@4.0.9)(encoding@0.1.13)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(viem@2.22.12(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.1))(zod@3.24.1) yaml: specifier: 2.3.4 version: 2.3.4 @@ -658,7 +658,7 @@ importers: version: 20.17.16 '@types/react': specifier: latest - version: 19.2.2 + version: 19.2.3 '@vanilla-extract/css': specifier: ^1.15.3 version: 1.17.1 @@ -694,10 +694,10 @@ importers: version: 4.3.2(typescript@5.8.3)(vite@5.4.14(@types/node@20.17.16)(lightningcss@1.30.2)(terser@5.37.0)) vocs: specifier: 1.1.0 - version: 1.1.0(@types/node@20.17.16)(@types/react@19.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@4.52.5)(terser@5.37.0)(tsx@4.19.4)(typescript@5.8.3) + version: 1.1.0(@types/node@20.17.16)(@types/react@19.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@4.52.5)(terser@5.37.0)(tsx@4.19.4)(typescript@5.8.3) wagmi: specifier: ^2.12.17 - version: 2.14.9(@tanstack/query-core@5.64.2)(@tanstack/react-query@5.64.2(react@18.3.1))(@types/react@19.2.2)(bufferutil@4.0.9)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(viem@2.22.12(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.1))(zod@3.24.1) + version: 2.14.9(@tanstack/query-core@5.64.2)(@tanstack/react-query@5.64.2(react@18.3.1))(@types/react@19.2.3)(bufferutil@4.0.9)(encoding@0.1.13)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(viem@2.22.12(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.1))(zod@3.24.1) yaml: specifier: 2.3.4 version: 2.3.4 @@ -4142,8 +4142,8 @@ packages: '@types/qs@6.9.18': resolution: {integrity: sha512-kK7dgTYDyGqS+e2Q4aK9X3D7q234CIZ1Bv0q/7Z5IwRDoADNU81xXJK/YVyLbLTZCoIwUoDoffFeF+p/eIklAA==} - '@types/react@19.2.2': - resolution: {integrity: sha512-6mDvHUFSjyT2B2yeNx2nUgMxh9LtOWvkhIU3uePn2I2oyNymUAX1NIsdgviM4CH+JSrp2D2hsMvJOkxY+0wNRA==} + '@types/react@19.2.3': + resolution: {integrity: sha512-k5dJVszUiNr1DSe8Cs+knKR6IrqhqdhpUwzqhkS8ecQTSf3THNtbfIp/umqHMpX2bv+9dkx3fwDv/86LcSfvSg==} '@types/secp256k1@4.0.6': resolution: {integrity: sha512-hHxJU6PAEUn0TP4S/ZOzuTUvJWuZ6eIKeNKb5RBpODvSl6hp1Wrw4s7ATY50rklRCScUDpHzVA/DQdSjJ3UoYQ==} @@ -4356,6 +4356,7 @@ packages: '@walletconnect/modal@2.7.0': resolution: {integrity: sha512-RQVt58oJ+rwqnPcIvRFeMGKuXb9qkgSmwz4noF8JZGUym3gUAzVs+uW2NQ1Owm9XOJAV+sANrtJ+VoVq1ftElw==} + deprecated: Please follow the migration guide on https://docs.reown.com/appkit/upgrade/wcm '@walletconnect/relay-api@1.0.11': resolution: {integrity: sha512-tLPErkze/HmC9aCmdZOhtVmYZq1wKfWTJtygQHoWtgg722Jd4homo54Cs4ak2RUFUZIGO2RsOpIcWipaua5D5Q==} @@ -4378,6 +4379,7 @@ packages: '@walletconnect/universal-provider@2.17.0': resolution: {integrity: sha512-d3V5Be7AqLrvzcdMZSBS8DmGDRdqnyLk1DWmRKAGgR6ieUWykhhUKlvfeoZtvJrIXrY7rUGYpH1X41UtFkW5Pw==} + deprecated: 'Reliability and performance improvements. See: https://github.com/WalletConnect/walletconnect-monorepo/releases' '@walletconnect/utils@2.17.0': resolution: {integrity: sha512-1aeQvjwsXy4Yh9G6g2eGmXrEl+BzkNjHRdCrGdMYqFTFa8ROEJfTGsSH3pLsNDlOY94CoBUvJvM55q/PMoN/FQ==} @@ -11412,10 +11414,10 @@ snapshots: transitivePeerDependencies: - supports-color - '@mdx-js/react@3.1.1(@types/react@19.2.2)(react@18.3.1)': + '@mdx-js/react@3.1.1(@types/react@19.2.3)(react@18.3.1)': dependencies: '@types/mdx': 2.0.13 - '@types/react': 19.2.2 + '@types/react': 19.2.3 react: 18.3.1 '@mdx-js/rollup@3.1.1(rollup@4.52.5)': @@ -11502,7 +11504,7 @@ snapshots: '@metamask/safe-event-emitter@3.1.2': {} - '@metamask/sdk-communication-layer@0.31.0(cross-fetch@4.1.0)(eciesjs@0.4.13)(eventemitter2@6.4.9)(readable-stream@3.6.2)(socket.io-client@4.8.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + '@metamask/sdk-communication-layer@0.31.0(cross-fetch@4.1.0(encoding@0.1.13))(eciesjs@0.4.13)(eventemitter2@6.4.9)(readable-stream@3.6.2)(socket.io-client@4.8.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))': dependencies: bufferutil: 4.0.9 cross-fetch: 4.1.0(encoding@0.1.13) @@ -11521,12 +11523,12 @@ snapshots: dependencies: '@paulmillr/qr': 0.2.1 - '@metamask/sdk@0.31.5(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + '@metamask/sdk@0.31.5(bufferutil@4.0.9)(encoding@0.1.13)(utf-8-validate@5.0.10)': dependencies: '@babel/runtime': 7.26.0 '@metamask/onboarding': 1.0.1 '@metamask/providers': 16.1.0 - '@metamask/sdk-communication-layer': 0.31.0(cross-fetch@4.1.0)(eciesjs@0.4.13)(eventemitter2@6.4.9)(readable-stream@3.6.2)(socket.io-client@4.8.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@metamask/sdk-communication-layer': 0.31.0(cross-fetch@4.1.0(encoding@0.1.13))(eciesjs@0.4.13)(eventemitter2@6.4.9)(readable-stream@3.6.2)(socket.io-client@4.8.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)) '@metamask/sdk-install-modal-web': 0.31.5 '@paulmillr/qr': 0.2.1 bowser: 2.11.0 @@ -11890,658 +11892,658 @@ snapshots: '@radix-ui/primitive@1.1.1': {} - '@radix-ui/react-accessible-icon@1.1.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-accessible-icon@1.1.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@radix-ui/react-visually-hidden': 1.1.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-visually-hidden': 1.1.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.3 - '@radix-ui/react-accordion@1.2.3(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-accordion@1.2.3(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-collapsible': 1.1.3(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-collection': 1.1.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-context': 1.1.1(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-direction': 1.1.0(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-id': 1.1.0(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-primitive': 2.0.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.2.2)(react@18.3.1) + '@radix-ui/react-collapsible': 1.1.3(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-collection': 1.1.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-context': 1.1.1(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-direction': 1.1.0(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-id': 1.1.0(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.2.3)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.3 - '@radix-ui/react-alert-dialog@1.1.6(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-alert-dialog@1.1.6(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-context': 1.1.1(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-dialog': 1.1.6(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-primitive': 2.0.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-slot': 1.1.2(@types/react@19.2.2)(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-context': 1.1.1(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-dialog': 1.1.6(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-slot': 1.1.2(@types/react@19.2.3)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.3 - '@radix-ui/react-arrow@1.1.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-arrow@1.1.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@radix-ui/react-primitive': 2.0.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.3 - '@radix-ui/react-aspect-ratio@1.1.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-aspect-ratio@1.1.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@radix-ui/react-primitive': 2.0.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.3 - '@radix-ui/react-avatar@1.1.3(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-avatar@1.1.3(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@radix-ui/react-context': 1.1.1(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-primitive': 2.0.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.2.2)(react@18.3.1) + '@radix-ui/react-context': 1.1.1(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.2.3)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.3 - '@radix-ui/react-checkbox@1.1.4(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-checkbox@1.1.4(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-context': 1.1.1(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-presence': 1.1.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-primitive': 2.0.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-use-previous': 1.1.0(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-use-size': 1.1.0(@types/react@19.2.2)(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-context': 1.1.1(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-presence': 1.1.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-use-previous': 1.1.0(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-use-size': 1.1.0(@types/react@19.2.3)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.3 - '@radix-ui/react-collapsible@1.1.3(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-collapsible@1.1.3(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-context': 1.1.1(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-id': 1.1.0(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-presence': 1.1.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-primitive': 2.0.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.2.2)(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-context': 1.1.1(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-id': 1.1.0(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-presence': 1.1.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.2.3)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.3 - '@radix-ui/react-collection@1.1.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-collection@1.1.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-context': 1.1.1(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-primitive': 2.0.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-slot': 1.1.2(@types/react@19.2.2)(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-context': 1.1.1(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-slot': 1.1.2(@types/react@19.2.3)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.3 - '@radix-ui/react-compose-refs@1.1.1(@types/react@19.2.2)(react@18.3.1)': + '@radix-ui/react-compose-refs@1.1.1(@types/react@19.2.3)(react@18.3.1)': dependencies: react: 18.3.1 optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.3 - '@radix-ui/react-context-menu@2.2.6(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-context-menu@2.2.6(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-context': 1.1.1(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-menu': 2.1.6(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-primitive': 2.0.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.2.2)(react@18.3.1) + '@radix-ui/react-context': 1.1.1(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-menu': 2.1.6(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.2.3)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.3 - '@radix-ui/react-context@1.1.1(@types/react@19.2.2)(react@18.3.1)': + '@radix-ui/react-context@1.1.1(@types/react@19.2.3)(react@18.3.1)': dependencies: react: 18.3.1 optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.3 - '@radix-ui/react-dialog@1.1.6(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-dialog@1.1.6(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-context': 1.1.1(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-dismissable-layer': 1.1.5(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-focus-guards': 1.1.1(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-focus-scope': 1.1.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-id': 1.1.0(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-portal': 1.1.4(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-presence': 1.1.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-primitive': 2.0.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-slot': 1.1.2(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.2.2)(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-context': 1.1.1(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-dismissable-layer': 1.1.5(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-focus-guards': 1.1.1(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-focus-scope': 1.1.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-id': 1.1.0(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-portal': 1.1.4(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-presence': 1.1.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-slot': 1.1.2(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.2.3)(react@18.3.1) aria-hidden: 1.2.4 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - react-remove-scroll: 2.6.3(@types/react@19.2.2)(react@18.3.1) + react-remove-scroll: 2.6.3(@types/react@19.2.3)(react@18.3.1) optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.3 - '@radix-ui/react-direction@1.1.0(@types/react@19.2.2)(react@18.3.1)': + '@radix-ui/react-direction@1.1.0(@types/react@19.2.3)(react@18.3.1)': dependencies: react: 18.3.1 optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.3 - '@radix-ui/react-dismissable-layer@1.1.5(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-dismissable-layer@1.1.5(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-primitive': 2.0.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-use-escape-keydown': 1.1.0(@types/react@19.2.2)(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-use-escape-keydown': 1.1.0(@types/react@19.2.3)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.3 - '@radix-ui/react-dropdown-menu@2.1.6(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-dropdown-menu@2.1.6(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-context': 1.1.1(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-id': 1.1.0(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-menu': 2.1.6(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-primitive': 2.0.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.2.2)(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-context': 1.1.1(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-id': 1.1.0(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-menu': 2.1.6(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.2.3)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.3 - '@radix-ui/react-focus-guards@1.1.1(@types/react@19.2.2)(react@18.3.1)': + '@radix-ui/react-focus-guards@1.1.1(@types/react@19.2.3)(react@18.3.1)': dependencies: react: 18.3.1 optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.3 - '@radix-ui/react-focus-scope@1.1.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-focus-scope@1.1.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-primitive': 2.0.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.2.2)(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.2.3)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.3 - '@radix-ui/react-form@0.1.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-form@0.1.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-context': 1.1.1(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-id': 1.1.0(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-label': 2.1.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-primitive': 2.0.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-context': 1.1.1(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-id': 1.1.0(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-label': 2.1.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.3 - '@radix-ui/react-hover-card@1.1.6(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-hover-card@1.1.6(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-context': 1.1.1(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-dismissable-layer': 1.1.5(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-popper': 1.2.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-portal': 1.1.4(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-presence': 1.1.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-primitive': 2.0.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.2.2)(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-context': 1.1.1(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-dismissable-layer': 1.1.5(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-popper': 1.2.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-portal': 1.1.4(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-presence': 1.1.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.2.3)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.3 '@radix-ui/react-icons@1.3.2(react@18.3.1)': dependencies: react: 18.3.1 - '@radix-ui/react-id@1.1.0(@types/react@19.2.2)(react@18.3.1)': + '@radix-ui/react-id@1.1.0(@types/react@19.2.3)(react@18.3.1)': dependencies: - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.2.2)(react@18.3.1) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.2.3)(react@18.3.1) react: 18.3.1 optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.3 - '@radix-ui/react-label@2.1.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-label@2.1.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@radix-ui/react-primitive': 2.0.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.3 - '@radix-ui/react-menu@2.1.6(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-menu@2.1.6(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-collection': 1.1.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-context': 1.1.1(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-direction': 1.1.0(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-dismissable-layer': 1.1.5(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-focus-guards': 1.1.1(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-focus-scope': 1.1.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-id': 1.1.0(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-popper': 1.2.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-portal': 1.1.4(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-presence': 1.1.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-primitive': 2.0.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-roving-focus': 1.1.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-slot': 1.1.2(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.2.2)(react@18.3.1) + '@radix-ui/react-collection': 1.1.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-context': 1.1.1(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-direction': 1.1.0(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-dismissable-layer': 1.1.5(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-focus-guards': 1.1.1(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-focus-scope': 1.1.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-id': 1.1.0(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-popper': 1.2.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-portal': 1.1.4(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-presence': 1.1.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-roving-focus': 1.1.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-slot': 1.1.2(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.2.3)(react@18.3.1) aria-hidden: 1.2.4 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - react-remove-scroll: 2.6.3(@types/react@19.2.2)(react@18.3.1) + react-remove-scroll: 2.6.3(@types/react@19.2.3)(react@18.3.1) optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.3 - '@radix-ui/react-menubar@1.1.6(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-menubar@1.1.6(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-collection': 1.1.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-context': 1.1.1(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-direction': 1.1.0(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-id': 1.1.0(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-menu': 2.1.6(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-primitive': 2.0.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-roving-focus': 1.1.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.2.2)(react@18.3.1) + '@radix-ui/react-collection': 1.1.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-context': 1.1.1(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-direction': 1.1.0(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-id': 1.1.0(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-menu': 2.1.6(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-roving-focus': 1.1.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.2.3)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.3 - '@radix-ui/react-navigation-menu@1.2.5(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-navigation-menu@1.2.5(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-collection': 1.1.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-context': 1.1.1(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-direction': 1.1.0(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-dismissable-layer': 1.1.5(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-id': 1.1.0(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-presence': 1.1.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-primitive': 2.0.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-use-previous': 1.1.0(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-visually-hidden': 1.1.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-collection': 1.1.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-context': 1.1.1(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-direction': 1.1.0(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-dismissable-layer': 1.1.5(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-id': 1.1.0(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-presence': 1.1.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-use-previous': 1.1.0(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-visually-hidden': 1.1.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.3 - '@radix-ui/react-popover@1.1.6(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-popover@1.1.6(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-context': 1.1.1(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-dismissable-layer': 1.1.5(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-focus-guards': 1.1.1(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-focus-scope': 1.1.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-id': 1.1.0(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-popper': 1.2.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-portal': 1.1.4(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-presence': 1.1.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-primitive': 2.0.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-slot': 1.1.2(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.2.2)(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-context': 1.1.1(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-dismissable-layer': 1.1.5(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-focus-guards': 1.1.1(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-focus-scope': 1.1.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-id': 1.1.0(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-popper': 1.2.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-portal': 1.1.4(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-presence': 1.1.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-slot': 1.1.2(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.2.3)(react@18.3.1) aria-hidden: 1.2.4 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - react-remove-scroll: 2.6.3(@types/react@19.2.2)(react@18.3.1) + react-remove-scroll: 2.6.3(@types/react@19.2.3)(react@18.3.1) optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.3 - '@radix-ui/react-popper@1.2.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-popper@1.2.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@floating-ui/react-dom': 2.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-arrow': 1.1.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-context': 1.1.1(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-primitive': 2.0.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-use-rect': 1.1.0(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-use-size': 1.1.0(@types/react@19.2.2)(react@18.3.1) + '@radix-ui/react-arrow': 1.1.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-context': 1.1.1(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-use-rect': 1.1.0(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-use-size': 1.1.0(@types/react@19.2.3)(react@18.3.1) '@radix-ui/rect': 1.1.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.3 - '@radix-ui/react-portal@1.1.4(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-portal@1.1.4(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@radix-ui/react-primitive': 2.0.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.2.2)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.2.3)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.3 - '@radix-ui/react-presence@1.1.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-presence@1.1.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.2.2)(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.2.3)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.3 - '@radix-ui/react-primitive@2.0.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-primitive@2.0.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@radix-ui/react-slot': 1.1.2(@types/react@19.2.2)(react@18.3.1) + '@radix-ui/react-slot': 1.1.2(@types/react@19.2.3)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.3 - '@radix-ui/react-progress@1.1.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-progress@1.1.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@radix-ui/react-context': 1.1.1(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-primitive': 2.0.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-context': 1.1.1(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.3 - '@radix-ui/react-radio-group@1.2.3(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-radio-group@1.2.3(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-context': 1.1.1(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-direction': 1.1.0(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-presence': 1.1.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-primitive': 2.0.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-roving-focus': 1.1.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-use-previous': 1.1.0(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-use-size': 1.1.0(@types/react@19.2.2)(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-context': 1.1.1(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-direction': 1.1.0(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-presence': 1.1.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-roving-focus': 1.1.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-use-previous': 1.1.0(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-use-size': 1.1.0(@types/react@19.2.3)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.3 - '@radix-ui/react-roving-focus@1.1.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-roving-focus@1.1.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-collection': 1.1.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-context': 1.1.1(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-direction': 1.1.0(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-id': 1.1.0(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-primitive': 2.0.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.2.2)(react@18.3.1) + '@radix-ui/react-collection': 1.1.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-context': 1.1.1(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-direction': 1.1.0(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-id': 1.1.0(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.2.3)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.3 - '@radix-ui/react-scroll-area@1.2.3(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-scroll-area@1.2.3(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/number': 1.1.0 '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-context': 1.1.1(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-direction': 1.1.0(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-presence': 1.1.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-primitive': 2.0.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.2.2)(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-context': 1.1.1(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-direction': 1.1.0(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-presence': 1.1.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.2.3)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.3 - '@radix-ui/react-select@2.1.6(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-select@2.1.6(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/number': 1.1.0 '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-collection': 1.1.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-context': 1.1.1(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-direction': 1.1.0(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-dismissable-layer': 1.1.5(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-focus-guards': 1.1.1(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-focus-scope': 1.1.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-id': 1.1.0(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-popper': 1.2.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-portal': 1.1.4(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-primitive': 2.0.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-slot': 1.1.2(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-use-previous': 1.1.0(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-visually-hidden': 1.1.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-collection': 1.1.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-context': 1.1.1(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-direction': 1.1.0(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-dismissable-layer': 1.1.5(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-focus-guards': 1.1.1(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-focus-scope': 1.1.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-id': 1.1.0(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-popper': 1.2.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-portal': 1.1.4(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-slot': 1.1.2(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-use-previous': 1.1.0(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-visually-hidden': 1.1.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) aria-hidden: 1.2.4 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - react-remove-scroll: 2.6.3(@types/react@19.2.2)(react@18.3.1) + react-remove-scroll: 2.6.3(@types/react@19.2.3)(react@18.3.1) optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.3 - '@radix-ui/react-separator@1.1.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-separator@1.1.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@radix-ui/react-primitive': 2.0.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.3 - '@radix-ui/react-slider@1.2.3(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-slider@1.2.3(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/number': 1.1.0 '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-collection': 1.1.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-context': 1.1.1(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-direction': 1.1.0(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-primitive': 2.0.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-use-previous': 1.1.0(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-use-size': 1.1.0(@types/react@19.2.2)(react@18.3.1) + '@radix-ui/react-collection': 1.1.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-context': 1.1.1(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-direction': 1.1.0(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-use-previous': 1.1.0(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-use-size': 1.1.0(@types/react@19.2.3)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.3 - '@radix-ui/react-slot@1.1.2(@types/react@19.2.2)(react@18.3.1)': + '@radix-ui/react-slot@1.1.2(@types/react@19.2.3)(react@18.3.1)': dependencies: - '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.2.2)(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.2.3)(react@18.3.1) react: 18.3.1 optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.3 - '@radix-ui/react-switch@1.1.3(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-switch@1.1.3(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-context': 1.1.1(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-primitive': 2.0.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-use-previous': 1.1.0(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-use-size': 1.1.0(@types/react@19.2.2)(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-context': 1.1.1(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-use-previous': 1.1.0(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-use-size': 1.1.0(@types/react@19.2.3)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.3 - '@radix-ui/react-tabs@1.1.3(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-tabs@1.1.3(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-context': 1.1.1(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-direction': 1.1.0(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-id': 1.1.0(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-presence': 1.1.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-primitive': 2.0.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-roving-focus': 1.1.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.2.2)(react@18.3.1) + '@radix-ui/react-context': 1.1.1(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-direction': 1.1.0(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-id': 1.1.0(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-presence': 1.1.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-roving-focus': 1.1.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.2.3)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.3 - '@radix-ui/react-toast@1.2.6(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-toast@1.2.6(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-collection': 1.1.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-context': 1.1.1(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-dismissable-layer': 1.1.5(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-portal': 1.1.4(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-presence': 1.1.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-primitive': 2.0.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-visually-hidden': 1.1.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-collection': 1.1.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-context': 1.1.1(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-dismissable-layer': 1.1.5(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-portal': 1.1.4(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-presence': 1.1.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-visually-hidden': 1.1.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.3 - '@radix-ui/react-toggle-group@1.1.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-toggle-group@1.1.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-context': 1.1.1(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-direction': 1.1.0(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-primitive': 2.0.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-roving-focus': 1.1.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-toggle': 1.1.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.2.2)(react@18.3.1) + '@radix-ui/react-context': 1.1.1(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-direction': 1.1.0(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-roving-focus': 1.1.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-toggle': 1.1.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.2.3)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.3 - '@radix-ui/react-toggle@1.1.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-toggle@1.1.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-primitive': 2.0.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.2.2)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.2.3)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.3 - '@radix-ui/react-toolbar@1.1.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-toolbar@1.1.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-context': 1.1.1(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-direction': 1.1.0(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-primitive': 2.0.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-roving-focus': 1.1.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-separator': 1.1.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-toggle-group': 1.1.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-context': 1.1.1(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-direction': 1.1.0(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-roving-focus': 1.1.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-separator': 1.1.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-toggle-group': 1.1.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.3 - '@radix-ui/react-tooltip@1.1.8(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-tooltip@1.1.8(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-context': 1.1.1(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-dismissable-layer': 1.1.5(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-id': 1.1.0(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-popper': 1.2.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-portal': 1.1.4(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-presence': 1.1.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-primitive': 2.0.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-slot': 1.1.2(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-visually-hidden': 1.1.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-context': 1.1.1(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-dismissable-layer': 1.1.5(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-id': 1.1.0(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-popper': 1.2.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-portal': 1.1.4(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-presence': 1.1.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-slot': 1.1.2(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-visually-hidden': 1.1.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.3 - '@radix-ui/react-use-callback-ref@1.1.0(@types/react@19.2.2)(react@18.3.1)': + '@radix-ui/react-use-callback-ref@1.1.0(@types/react@19.2.3)(react@18.3.1)': dependencies: react: 18.3.1 optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.3 - '@radix-ui/react-use-controllable-state@1.1.0(@types/react@19.2.2)(react@18.3.1)': + '@radix-ui/react-use-controllable-state@1.1.0(@types/react@19.2.3)(react@18.3.1)': dependencies: - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.2.2)(react@18.3.1) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.2.3)(react@18.3.1) react: 18.3.1 optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.3 - '@radix-ui/react-use-escape-keydown@1.1.0(@types/react@19.2.2)(react@18.3.1)': + '@radix-ui/react-use-escape-keydown@1.1.0(@types/react@19.2.3)(react@18.3.1)': dependencies: - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.2.2)(react@18.3.1) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.2.3)(react@18.3.1) react: 18.3.1 optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.3 - '@radix-ui/react-use-layout-effect@1.1.0(@types/react@19.2.2)(react@18.3.1)': + '@radix-ui/react-use-layout-effect@1.1.0(@types/react@19.2.3)(react@18.3.1)': dependencies: react: 18.3.1 optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.3 - '@radix-ui/react-use-previous@1.1.0(@types/react@19.2.2)(react@18.3.1)': + '@radix-ui/react-use-previous@1.1.0(@types/react@19.2.3)(react@18.3.1)': dependencies: react: 18.3.1 optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.3 - '@radix-ui/react-use-rect@1.1.0(@types/react@19.2.2)(react@18.3.1)': + '@radix-ui/react-use-rect@1.1.0(@types/react@19.2.3)(react@18.3.1)': dependencies: '@radix-ui/rect': 1.1.0 react: 18.3.1 optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.3 - '@radix-ui/react-use-size@1.1.0(@types/react@19.2.2)(react@18.3.1)': + '@radix-ui/react-use-size@1.1.0(@types/react@19.2.3)(react@18.3.1)': dependencies: - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.2.2)(react@18.3.1) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.2.3)(react@18.3.1) react: 18.3.1 optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.3 - '@radix-ui/react-visually-hidden@1.1.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-visually-hidden@1.1.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@radix-ui/react-primitive': 2.0.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.3 '@radix-ui/rect@1.1.0': {} @@ -13368,7 +13370,7 @@ snapshots: '@types/qs@6.9.18': {} - '@types/react@19.2.2': + '@types/react@19.2.3': dependencies: csstype: 3.1.3 @@ -13623,14 +13625,14 @@ snapshots: - bufferutil - utf-8-validate - '@wagmi/connectors@5.7.5(@types/react@19.2.2)(@wagmi/core@2.16.3(@tanstack/query-core@5.64.2)(@types/react@19.2.2)(react@18.3.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@18.3.1))(viem@2.22.12(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.1)))(bufferutil@4.0.9)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(viem@2.22.12(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.1))(zod@3.24.1)': + '@wagmi/connectors@5.7.5(@types/react@19.2.3)(@wagmi/core@2.16.3(@tanstack/query-core@5.64.2)(@types/react@19.2.3)(react@18.3.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@18.3.1))(viem@2.22.12(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.1)))(bufferutil@4.0.9)(encoding@0.1.13)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(viem@2.22.12(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.1))(zod@3.24.1)': dependencies: '@coinbase/wallet-sdk': 4.2.3 - '@metamask/sdk': 0.31.5(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@metamask/sdk': 0.31.5(bufferutil@4.0.9)(encoding@0.1.13)(utf-8-validate@5.0.10) '@safe-global/safe-apps-provider': 0.18.5(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.1) '@safe-global/safe-apps-sdk': 9.1.0(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.1) - '@wagmi/core': 2.16.3(@tanstack/query-core@5.64.2)(@types/react@19.2.2)(react@18.3.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@18.3.1))(viem@2.22.12(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.1)) - '@walletconnect/ethereum-provider': 2.17.0(@types/react@19.2.2)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@5.0.10) + '@wagmi/core': 2.16.3(@tanstack/query-core@5.64.2)(@types/react@19.2.3)(react@18.3.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@18.3.1))(viem@2.22.12(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.1)) + '@walletconnect/ethereum-provider': 2.17.0(@types/react@19.2.3)(bufferutil@4.0.9)(encoding@0.1.13)(react@18.3.1)(utf-8-validate@5.0.10) cbw-sdk: '@coinbase/wallet-sdk@3.9.3' viem: 2.22.12(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.1) optionalDependencies: @@ -13662,12 +13664,12 @@ snapshots: - utf-8-validate - zod - '@wagmi/core@2.16.3(@tanstack/query-core@5.64.2)(@types/react@19.2.2)(react@18.3.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@18.3.1))(viem@2.22.12(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.1))': + '@wagmi/core@2.16.3(@tanstack/query-core@5.64.2)(@types/react@19.2.3)(react@18.3.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@18.3.1))(viem@2.22.12(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.1))': dependencies: eventemitter3: 5.0.1 mipd: 0.0.7(typescript@5.8.3) viem: 2.22.12(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.1) - zustand: 5.0.0(@types/react@19.2.2)(react@18.3.1)(use-sync-external-store@1.4.0(react@18.3.1)) + zustand: 5.0.0(@types/react@19.2.3)(react@18.3.1)(use-sync-external-store@1.4.0(react@18.3.1)) optionalDependencies: '@tanstack/query-core': 5.64.2 typescript: 5.8.3 @@ -13721,16 +13723,16 @@ snapshots: dependencies: tslib: 1.14.1 - '@walletconnect/ethereum-provider@2.17.0(@types/react@19.2.2)(bufferutil@4.0.9)(react@18.3.1)(utf-8-validate@5.0.10)': + '@walletconnect/ethereum-provider@2.17.0(@types/react@19.2.3)(bufferutil@4.0.9)(encoding@0.1.13)(react@18.3.1)(utf-8-validate@5.0.10)': dependencies: - '@walletconnect/jsonrpc-http-connection': 1.0.8 + '@walletconnect/jsonrpc-http-connection': 1.0.8(encoding@0.1.13) '@walletconnect/jsonrpc-provider': 1.0.14 '@walletconnect/jsonrpc-types': 1.0.4 '@walletconnect/jsonrpc-utils': 1.0.8 - '@walletconnect/modal': 2.7.0(@types/react@19.2.2)(react@18.3.1) + '@walletconnect/modal': 2.7.0(@types/react@19.2.3)(react@18.3.1) '@walletconnect/sign-client': 2.17.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@walletconnect/types': 2.17.0 - '@walletconnect/universal-provider': 2.17.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@walletconnect/universal-provider': 2.17.0(bufferutil@4.0.9)(encoding@0.1.13)(utf-8-validate@5.0.10) '@walletconnect/utils': 2.17.0 events: 3.3.0 transitivePeerDependencies: @@ -13769,7 +13771,7 @@ snapshots: '@walletconnect/time': 1.0.2 events: 3.3.0 - '@walletconnect/jsonrpc-http-connection@1.0.8': + '@walletconnect/jsonrpc-http-connection@1.0.8(encoding@0.1.13)': dependencies: '@walletconnect/jsonrpc-utils': 1.0.8 '@walletconnect/safe-json': 1.0.2 @@ -13834,16 +13836,16 @@ snapshots: '@walletconnect/safe-json': 1.0.2 pino: 7.11.0 - '@walletconnect/modal-core@2.7.0(@types/react@19.2.2)(react@18.3.1)': + '@walletconnect/modal-core@2.7.0(@types/react@19.2.3)(react@18.3.1)': dependencies: - valtio: 1.11.2(@types/react@19.2.2)(react@18.3.1) + valtio: 1.11.2(@types/react@19.2.3)(react@18.3.1) transitivePeerDependencies: - '@types/react' - react - '@walletconnect/modal-ui@2.7.0(@types/react@19.2.2)(react@18.3.1)': + '@walletconnect/modal-ui@2.7.0(@types/react@19.2.3)(react@18.3.1)': dependencies: - '@walletconnect/modal-core': 2.7.0(@types/react@19.2.2)(react@18.3.1) + '@walletconnect/modal-core': 2.7.0(@types/react@19.2.3)(react@18.3.1) lit: 2.8.0 motion: 10.16.2 qrcode: 1.5.3 @@ -13851,10 +13853,10 @@ snapshots: - '@types/react' - react - '@walletconnect/modal@2.7.0(@types/react@19.2.2)(react@18.3.1)': + '@walletconnect/modal@2.7.0(@types/react@19.2.3)(react@18.3.1)': dependencies: - '@walletconnect/modal-core': 2.7.0(@types/react@19.2.2)(react@18.3.1) - '@walletconnect/modal-ui': 2.7.0(@types/react@19.2.2)(react@18.3.1) + '@walletconnect/modal-core': 2.7.0(@types/react@19.2.3)(react@18.3.1) + '@walletconnect/modal-ui': 2.7.0(@types/react@19.2.3)(react@18.3.1) transitivePeerDependencies: - '@types/react' - react @@ -13941,9 +13943,9 @@ snapshots: - ioredis - uploadthing - '@walletconnect/universal-provider@2.17.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + '@walletconnect/universal-provider@2.17.0(bufferutil@4.0.9)(encoding@0.1.13)(utf-8-validate@5.0.10)': dependencies: - '@walletconnect/jsonrpc-http-connection': 1.0.8 + '@walletconnect/jsonrpc-http-connection': 1.0.8(encoding@0.1.13) '@walletconnect/jsonrpc-provider': 1.0.14 '@walletconnect/jsonrpc-types': 1.0.4 '@walletconnect/jsonrpc-utils': 1.0.8 @@ -18523,62 +18525,62 @@ snapshots: quick-lru@4.0.1: {} - radix-ui@1.1.3(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + radix-ui@1.1.3(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-accessible-icon': 1.1.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-accordion': 1.2.3(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-alert-dialog': 1.1.6(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-aspect-ratio': 1.1.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-avatar': 1.1.3(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-checkbox': 1.1.4(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-collapsible': 1.1.3(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-collection': 1.1.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-context': 1.1.1(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-context-menu': 2.2.6(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-dialog': 1.1.6(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-direction': 1.1.0(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-dismissable-layer': 1.1.5(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-dropdown-menu': 2.1.6(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-focus-guards': 1.1.1(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-focus-scope': 1.1.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-form': 0.1.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-hover-card': 1.1.6(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-label': 2.1.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-menu': 2.1.6(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-menubar': 1.1.6(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-navigation-menu': 1.2.5(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-popover': 1.1.6(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-popper': 1.2.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-portal': 1.1.4(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-presence': 1.1.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-primitive': 2.0.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-progress': 1.1.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-radio-group': 1.2.3(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-roving-focus': 1.1.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-scroll-area': 1.2.3(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-select': 2.1.6(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-separator': 1.1.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-slider': 1.2.3(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-slot': 1.1.2(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-switch': 1.1.3(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-tabs': 1.1.3(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-toast': 1.2.6(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-toggle': 1.1.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-toggle-group': 1.1.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-toolbar': 1.1.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-tooltip': 1.1.8(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-use-escape-keydown': 1.1.0(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-use-size': 1.1.0(@types/react@19.2.2)(react@18.3.1) - '@radix-ui/react-visually-hidden': 1.1.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-accessible-icon': 1.1.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-accordion': 1.2.3(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-alert-dialog': 1.1.6(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-aspect-ratio': 1.1.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-avatar': 1.1.3(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-checkbox': 1.1.4(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-collapsible': 1.1.3(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-collection': 1.1.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-context': 1.1.1(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-context-menu': 2.2.6(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-dialog': 1.1.6(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-direction': 1.1.0(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-dismissable-layer': 1.1.5(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-dropdown-menu': 2.1.6(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-focus-guards': 1.1.1(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-focus-scope': 1.1.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-form': 0.1.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-hover-card': 1.1.6(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-label': 2.1.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-menu': 2.1.6(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-menubar': 1.1.6(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-navigation-menu': 1.2.5(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-popover': 1.1.6(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-popper': 1.2.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-portal': 1.1.4(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-presence': 1.1.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-progress': 1.1.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-radio-group': 1.2.3(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-roving-focus': 1.1.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-scroll-area': 1.2.3(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-select': 2.1.6(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-separator': 1.1.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-slider': 1.2.3(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-slot': 1.1.2(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-switch': 1.1.3(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-tabs': 1.1.3(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-toast': 1.2.6(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-toggle': 1.1.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-toggle-group': 1.1.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-toolbar': 1.1.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-tooltip': 1.1.8(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-use-escape-keydown': 1.1.0(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-use-size': 1.1.0(@types/react@19.2.3)(react@18.3.1) + '@radix-ui/react-visually-hidden': 1.1.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.3 radix3@1.1.2: {} @@ -18611,24 +18613,24 @@ snapshots: react-refresh@0.18.0: {} - react-remove-scroll-bar@2.3.8(@types/react@19.2.2)(react@18.3.1): + react-remove-scroll-bar@2.3.8(@types/react@19.2.3)(react@18.3.1): dependencies: react: 18.3.1 - react-style-singleton: 2.2.3(@types/react@19.2.2)(react@18.3.1) + react-style-singleton: 2.2.3(@types/react@19.2.3)(react@18.3.1) tslib: 2.8.1 optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.3 - react-remove-scroll@2.6.3(@types/react@19.2.2)(react@18.3.1): + react-remove-scroll@2.6.3(@types/react@19.2.3)(react@18.3.1): dependencies: react: 18.3.1 - react-remove-scroll-bar: 2.3.8(@types/react@19.2.2)(react@18.3.1) - react-style-singleton: 2.2.3(@types/react@19.2.2)(react@18.3.1) + react-remove-scroll-bar: 2.3.8(@types/react@19.2.3)(react@18.3.1) + react-style-singleton: 2.2.3(@types/react@19.2.3)(react@18.3.1) tslib: 2.8.1 - use-callback-ref: 1.3.3(@types/react@19.2.2)(react@18.3.1) - use-sidecar: 1.1.3(@types/react@19.2.2)(react@18.3.1) + use-callback-ref: 1.3.3(@types/react@19.2.3)(react@18.3.1) + use-sidecar: 1.1.3(@types/react@19.2.3)(react@18.3.1) optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.3 react-router@7.9.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: @@ -18638,13 +18640,13 @@ snapshots: optionalDependencies: react-dom: 18.3.1(react@18.3.1) - react-style-singleton@2.2.3(@types/react@19.2.2)(react@18.3.1): + react-style-singleton@2.2.3(@types/react@19.2.3)(react@18.3.1): dependencies: get-nonce: 1.0.1 react: 18.3.1 tslib: 2.8.1 optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.3 react@18.3.1: dependencies: @@ -20047,20 +20049,20 @@ snapshots: urlpattern-polyfill@8.0.2: {} - use-callback-ref@1.3.3(@types/react@19.2.2)(react@18.3.1): + use-callback-ref@1.3.3(@types/react@19.2.3)(react@18.3.1): dependencies: react: 18.3.1 tslib: 2.8.1 optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.3 - use-sidecar@1.1.3(@types/react@19.2.2)(react@18.3.1): + use-sidecar@1.1.3(@types/react@19.2.3)(react@18.3.1): dependencies: detect-node-es: 1.1.0 react: 18.3.1 tslib: 2.8.1 optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.3 use-sync-external-store@1.2.0(react@18.3.1): dependencies: @@ -20101,12 +20103,12 @@ snapshots: spdx-correct: 3.2.0 spdx-expression-parse: 3.0.1 - valtio@1.11.2(@types/react@19.2.2)(react@18.3.1): + valtio@1.11.2(@types/react@19.2.3)(react@18.3.1): dependencies: proxy-compare: 2.5.1 use-sync-external-store: 1.2.0(react@18.3.1) optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.3 react: 18.3.1 varint@6.0.0: {} @@ -20281,22 +20283,22 @@ snapshots: - supports-color - terser - vocs@1.1.0(@types/node@20.17.16)(@types/react@19.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@4.52.5)(terser@5.37.0)(tsx@4.19.4)(typescript@5.8.3): + vocs@1.1.0(@types/node@20.17.16)(@types/react@19.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@4.52.5)(terser@5.37.0)(tsx@4.19.4)(typescript@5.8.3): dependencies: '@floating-ui/react': 0.27.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@hono/node-server': 1.19.5(hono@4.10.3) '@mdx-js/mdx': 3.1.1 - '@mdx-js/react': 3.1.1(@types/react@19.2.2)(react@18.3.1) + '@mdx-js/react': 3.1.1(@types/react@19.2.3)(react@18.3.1) '@mdx-js/rollup': 3.1.1(rollup@4.52.5) '@noble/hashes': 1.7.1 '@radix-ui/colors': 3.0.0 - '@radix-ui/react-accordion': 1.2.3(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-dialog': 1.1.6(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-accordion': 1.2.3(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-dialog': 1.1.6(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-icons': 1.3.2(react@18.3.1) - '@radix-ui/react-label': 2.1.2(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-navigation-menu': 1.2.5(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-popover': 1.1.6(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-tabs': 1.1.3(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-label': 2.1.2(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-navigation-menu': 1.2.5(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-popover': 1.1.6(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-tabs': 1.1.3(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@shikijs/rehype': 1.29.1 '@shikijs/transformers': 1.29.1 '@shikijs/twoslash': 1.29.1(typescript@5.8.3) @@ -20331,7 +20333,7 @@ snapshots: picomatch: 4.0.3 playwright: 1.54.1 postcss: 8.5.3 - radix-ui: 1.1.3(@types/react@19.2.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + radix-ui: 1.1.3(@types/react@19.2.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) react-intersection-observer: 9.15.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -20395,11 +20397,11 @@ snapshots: vscode-uri@3.0.8: {} - wagmi@2.14.9(@tanstack/query-core@5.64.2)(@tanstack/react-query@5.64.2(react@18.3.1))(@types/react@19.2.2)(bufferutil@4.0.9)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(viem@2.22.12(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.1))(zod@3.24.1): + wagmi@2.14.9(@tanstack/query-core@5.64.2)(@tanstack/react-query@5.64.2(react@18.3.1))(@types/react@19.2.3)(bufferutil@4.0.9)(encoding@0.1.13)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(viem@2.22.12(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.1))(zod@3.24.1): dependencies: '@tanstack/react-query': 5.64.2(react@18.3.1) - '@wagmi/connectors': 5.7.5(@types/react@19.2.2)(@wagmi/core@2.16.3(@tanstack/query-core@5.64.2)(@types/react@19.2.2)(react@18.3.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@18.3.1))(viem@2.22.12(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.1)))(bufferutil@4.0.9)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(viem@2.22.12(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.1))(zod@3.24.1) - '@wagmi/core': 2.16.3(@tanstack/query-core@5.64.2)(@types/react@19.2.2)(react@18.3.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@18.3.1))(viem@2.22.12(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.1)) + '@wagmi/connectors': 5.7.5(@types/react@19.2.3)(@wagmi/core@2.16.3(@tanstack/query-core@5.64.2)(@types/react@19.2.3)(react@18.3.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@18.3.1))(viem@2.22.12(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.1)))(bufferutil@4.0.9)(encoding@0.1.13)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(viem@2.22.12(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.1))(zod@3.24.1) + '@wagmi/core': 2.16.3(@tanstack/query-core@5.64.2)(@types/react@19.2.3)(react@18.3.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@18.3.1))(viem@2.22.12(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.1)) react: 18.3.1 use-sync-external-store: 1.4.0(react@18.3.1) viem: 2.22.12(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.24.1) @@ -20668,9 +20670,9 @@ snapshots: zod@3.24.1: {} - zustand@5.0.0(@types/react@19.2.2)(react@18.3.1)(use-sync-external-store@1.4.0(react@18.3.1)): + zustand@5.0.0(@types/react@19.2.3)(react@18.3.1)(use-sync-external-store@1.4.0(react@18.3.1)): optionalDependencies: - '@types/react': 19.2.2 + '@types/react': 19.2.3 react: 18.3.1 use-sync-external-store: 1.4.0(react@18.3.1)