Skip to content
Back to skills

030 Claude Dae370de

ASecurity

This plugin provides skills and MCP servers for configuring and deploying Continuous Clearing Auction (CCA) smart contracts. CCA is a novel auction mechanism for fair and transparent token distribution that generalizes the uniform-price auction into continuous time.

  • 9 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 11, 2026
developmentpythongobashgitdocumentation

Works with

  • cli
  • mcp

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned October 11, 2026

npx -y skills add tools-only/X-Skills --skill 030-claude_dae370de --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of 030 Claude Dae370de?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for 030 Claude Dae370de
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/tools-only-030-claude-dae370de/badge)](https://www.skillsdirectory.com/skills/tools-only-030-claude-dae370de)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
# CLAUDE.md - uniswap-cca

## Overview

This plugin provides skills and MCP servers for configuring and deploying Continuous Clearing Auction (CCA) smart contracts. CCA is a novel auction mechanism for fair and transparent token distribution that generalizes the uniform-price auction into continuous time.

## Plugin Components

### Skills (./skills/)

- **configurator**: Interactive bulk form configuration flow for CCA auction parameters. Collects all parameters in efficient batches (up to 4 questions at once), generates supply schedules via MCP tool, and outputs JSON configuration files.

- **deployer**: Deployment guidance for CCA contracts via Factory pattern. Provides safety warnings, validation checklists, Foundry script examples, and post-deployment steps.

### MCP Servers (./.mcp.json)

| Server                  | Description                                                                            | Type  |
| ----------------------- | -------------------------------------------------------------------------------------- | ----- |
| **cca-supply-schedule** | Generate and encode supply schedules using normalized convex curve (C(t) = t^α, α=1.2) | stdio |

## File Structure

```text
uniswap-cca/
├── .claude-plugin/
│   └── plugin.json
├── skills/
│   ├── configurator/
│   │   └── SKILL.md
│   └── deployer/
│       └── SKILL.md
├── mcp-server/
│   ├── README.md
│   └── supply-schedule/
│       ├── server.py                # Python MCP server
│       ├── requirements.txt         # Python dependencies
│       ├── setup.sh                 # Setup script
│       ├── test_logic.py            # Test suite
│       ├── __init__.py
│       └── README.md                # Algorithm documentation
├── .mcp.json                        # MCP server configuration
├── project.json
├── package.json
├── CLAUDE.md
└── README.md
```

## Skill Workflow

The skills are designed to be used in sequence:

```text
configurator (configure parameters)
        ↓
    JSON config file
        ↓
deployer (deploy via Factory)
```

1. **configurator**: User runs the configuration flow, provides auction parameters through efficient bulk form prompts, generates supply schedule via MCP tool, and gets a JSON configuration file.
2. **deployer**: User provides the JSON config, validates parameters, and deploys via `ContinuousClearingAuctionFactory` using Foundry scripts.

## Configurator Skill

Interactive configuration tool that collects CCA auction parameters through a **bulk form prompting flow**. Minimizes user interaction rounds by asking up to 4 questions at once.

### Configuration Flow (5 Batches)

1. **Batch 1: Task Selection** (1 question) - What to do with CCA?
2. **Batch 2: Basic Configuration** (4 questions) - Network, token, supply, currency
3. **Batch 3: Timing & Pricing** (4 questions) - Duration, prebid, floor price, tick spacing
4. **Batch 4: Recipients & Launch** (4 questions) - Token recipient, fund recipient, start time, minimum funds
5. **Batch 5: Optional Hook** (1 question) - Validation hook address

### Key Features

- **Efficient Prompting**: Collects up to 4 parameters per batch
- **Direct Input**: "Other" option allows custom values without multi-step confirmation
- **Smart Defaults**: Network-specific addresses (USDC, USDT) and timing options
- **Live Block Data**: Fetches current block from public RPCs
- **Q96 Price Calculations**: Automatic conversion with decimal adjustment
- **Supply Schedule Generation**: Uses MCP tool for standard distribution
- **Batch Validation**: Validates inputs after each collection batch
- **JSON Output**: Generates ready-to-deploy configuration file

### MCP Tool Integration

The configurator uses two MCP tools from the `cca-supply-schedule` server:

#### 1. generate_supply_schedule

Generates supply schedules using the normalized convex curve algorithm.

**Input:**

- `auction_blocks`: Total blocks for auction
- `prebid_blocks`: Prebid period blocks (optional)

**Output:**

- Standard normalized convex curve distribution
- 12 steps (default) with equal token amounts (~5.8333% each)
- Decreasing block durations (convex curve property)
- ~30% in final block
- Always exactly 10,000,000 MPS total

#### 2. encode_supply_schedule

Encodes supply schedules to bytes for onchain deployment.

**Input:**

- `schedule`: Array of `{mps, blockDelta}` objects

**Output:**

- Hex-encoded bytes string (0x prefix)
- Each element packed as uint64: mps (24 bits) | blockDelta (40 bits)
- Ready for Factory's `initializeDistribution` configData parameter

### Network Support

- Ethereum Mainnet (chain ID: 1, 12s blocks)
- Unichain Mainnet (chain ID: 130, 1s blocks)
- Unichain Sepolia (chain ID: 1301, 2s blocks)
- Base (chain ID: 8453, 2s blocks)
- Arbitrum (chain ID: 42161, 2s blocks)
- Sepolia (chain ID: 11155111, 12s blocks)

## Deployer Skill

Deployment guidance tool that provides safety warnings, validation checklists, Foundry script examples, and post-deployment steps for CCA contracts.

### Workflow

1. **Educational Disclaimer** - User acknowledges educational nature and risks
2. **Load Configuration** - Read JSON config file
3. **Validate Configuration** - Check all validation rules
4. **Display Deployment Plan** - Show what will be deployed
5. **Get Confirmation** - User explicitly confirms deployment
6. **Provide Commands** - Foundry script examples
7. **Post-Deployment** - `onTokensReceived()` call instruction

### Factory Deployment

Uses `ContinuousClearingAuctionFactory` (v1.1.0) at canonical address:

- **Factory Address**: `0xCCccCcCAE7503Cac057829BF2811De42E16e0bD5`
- **Deployment Method**: CREATE2 for consistent addresses across chains
- **Interface**: `initializeDistribution(address token, uint256 amount, bytes configData, bytes32 salt)`

### Validation Rules

Before deployment, ensures:

1. Block constraints: `startBlock < endBlock <= claimBlock`
2. Valid Ethereum addresses (0x + 40 hex chars)
3. Non-negative values
4. Floor price divisible by tick spacing
5. Tick spacing >= 1 basis point of floor price
6. Last supply step sells ~30%+ tokens
7. Total supply <= 1e30 wei
8. No fee-on-transfer tokens
9. Token decimals >= 6

### Post-Deployment Steps

**CRITICAL**: After deployment, must call `onTokensReceived()` to notify the auction that tokens have been transferred. This is required before the auction can accept bids.

```bash
cast send $AUCTION_ADDRESS "onTokensReceived()" --rpc-url $RPC_URL --private-key $PRIVATE_KEY
```

## MCP Server: cca-supply-schedule

This server provides two tools for working with CCA supply schedules.

### Tool 1: generate_supply_schedule

Generates supply schedules using a **normalized convex curve**:

- **Curve**: C(t) = t^α where α = 1.2 (default, configurable)
- **Distribution**: Equal token amounts per step
- **Time Intervals**: Decrease over time (convex curve property)
- **Final Block**: ~30% of tokens (configurable 20-40%)
- **Total**: Always exactly 10,000,000 MPS

**Input Parameters:**

- `auction_blocks` (required): Total blocks for auction
- `prebid_blocks` (optional): Prebid period blocks (default: 0)
- `num_steps` (optional): Number of steps (default: 12)
- `final_block_pct` (optional): Final block percentage (default: 0.30)
- `alpha` (optional): Convexity exponent (default: 1.2)
- `round_to_nearest` (optional): Round block boundaries to N blocks

### Tool 2: encode_supply_schedule

Encodes a supply schedule to bytes for onchain deployment.

- **Encoding**: Each `{mps, blockDelta}` packed as uint64
- **Format**: mps (24 bits) << 40 | blockDelta (40 bits)
- **Output**: Hex string with 0x prefix
- **Usage**: Pass to Factory's `initializeDistribution` as `auctionStepsData`

**Input Parameters:**

- `schedule` (required): Array of `{mps, blockDelta}` objects

**Output:**

- `encoded`: Hex-encoded bytes string
- `length_bytes`: Total byte length
- `num_elements`: Number of schedule elements

**Constraints:**

- mps must fit in 24 bits (max: 16,777,215)
- blockDelta must fit in 40 bits (max: 1,099,511,627,775)

### Setup

```bash
cd mcp-server/supply-schedule
chmod +x setup.sh
./setup.sh
python3 server.py
```

### Dependencies

- Python 3.10+
- `mcp>=1.2.0`
- `pydantic>=2.0.0`

## Key Concepts

### Q96 Fixed-Point Format

CCA uses Q96 fixed-point arithmetic for precise pricing:

- **Q96**: 2^96 = 79228162514264337593543950336
- **Price**: Q96 fixed-point number representing ratio
- **Formula**: `Q96 * ratio / 10^(tokenDecimals - currencyDecimals)`

**Example (USDC/18-decimal token):**

```python
Q96 = 79228162514264337593543950336
ratio = 0.1  # 10% of 1:1 ratio
token_decimals = 18
currency_decimals = 6  # USDC

floorPrice = Q96 * ratio / (10 ** (18 - 6))
# Result: 7922816251426433759354395
```

### MPS (Milli-Basis Points)

Supply schedules use MPS = 1e7 (10 million):

- Each MPS unit = one thousandth of a basis point
- Target total: Always 10,000,000 MPS
- Each schedule step: `{mps: N, blockDelta: N}`

### Supply Schedule Properties

**Default Schedule (12 steps, α=1.2, 30% final):**

- Block durations DECREASE: 10894 → 8517 → 7803 → ... → 6043
- Token amounts EQUAL: ~5.8333% per step
- Final block: ~30% of total supply
- Total: Exactly 10,000,000 MPS

## Important Notes

### Educational Use

**CRITICAL**: All skills and MCP tools are provided for educational purposes only. Users must:

- Review all configurations carefully
- Verify parameters are correct
- Test on testnets first
- Audit contracts before mainnet deployment
- Acknowledge educational disclaimer before deployment

### Validation is Key

The configurator validates inputs after each batch. The deployer validates the full configuration before deployment. Both skills emphasize validation to prevent deployment errors.

### No Automatic File Creation

The configurator displays JSON output but does NOT automatically create files. Users must explicitly request file creation or copy the JSON from CLI output.

## Additional Resources

- **CCA Repository**: <https://github.com/Uniswap/continuous-clearing-auction>
- **Uniswap Docs**: <https://docs.uniswap.org/contracts/liquidity-launchpad/CCA>
- **Bug Bounty**: <https://cantina.xyz/code/f9df94db-c7b1-434b-bb06-d1360abdd1be/overview>

Files in this skill

  • README.md1002 B
  • skill.md10.1 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.