# $OPS Smart Contract Spec v0.1 — Base Mainnet

> **版本** v0.1 · 2026-07-01  
> **目标链** Base (Chain ID 8453)  
> **TGE 路径** DEX only (Uniswap v3) · Subscribe-to-Earn Claim  
> **关联** `02-tokenomics-lean-50k.md` · `05-bootstrap-plan.md` · Legal Memo (pending)

---

## 1. 设计目标

| 目标 | 要求 |
|------|------|
| 固定供应 | 1,000,000,000 OPS，无 mint |
| Utility | 订阅 Claim、质押、治理（Phase 2） |
| 安全 | Multi-sig 控制、可审计、无 owner backdoor |
| 合规 | Claim geo/KYC 链下门控 + 链上 Merkle |
| Gas | Base L2，用户 Claim 成本 < $0.05 |

---

## 2. 合约架构

```
┌─────────────────────────────────────────────────────────┐
│  Safe Multi-sig 3/5 (Treasury Owner)                     │
├─────────────────────────────────────────────────────────┤
│  OPS.sol          ERC-20 1B fixed supply                 │
│  OPSVesting.sol   团队 / 生态 / LP 锁仓                   │
│  OPSClaim.sol     Points → OPS Merkle Claim + vesting    │
│  (optional) OPSStaking.sol  Phase 2 — 质押 Tier          │
└─────────────────────────────────────────────────────────┘
         │
         ▼
  Uniswap v3 Base: OPS/USDC pool (30M OPS + USDC seed)
```

---

## 3. OPS.sol — ERC-20

| 参数 | 值 |
|------|-----|
| Name | OPS Coin |
| Symbol | OPS |
| Decimals | 18 |
| Total Supply | 1_000_000_000e18 |
| Standard | ERC-20 + ERC-20Permit (optional) |

**规则：**
- 构造函数一次性 mint 至 `Treasury`（Safe 地址）或 `Distribution` 合约
- **无** `mint()`、`pause()` 仅 Claim 合约可选
- 开源 + 验证 BaseScan

**初始分配（mint 目标，Lean TGE）：**

| 接收方 | 数量 | 说明 |
|--------|------|------|
| OPSVesting | 970M | 团队 180M + 国库 20M + 生态 147M + 战略 150M + Infra 400M + 未用 IDO 73M |
| OPSClaim | 60M | Points TGE 空投池 |
| Uniswap LP | 30M | 初始流动性（经 Safe 添加） |
| 即时生态 | 3M | 质押 seed（或并入 Claim） |

> 精确数字 Legal Memo 定稿后冻结；上表对齐 `02-tokenomics-lean-50k.md`。

---

## 4. OPSVesting.sol

**模式：** OpenZeppelin VestingWallet 或自研 Schedule 映射

| 受益类别 | 数量 | Cliff | Vesting |
|----------|------|-------|---------|
| Team | 180M | 12 mo | 36 mo linear |
| Treasury | 20M | 0 | 48 mo linear |
| Ecosystem | 147M | 0 | 60 mo linear |
| Strategic LP | 150M | 6 mo | 30 mo linear |
| Infra Pool | 400M | ∞ | 里程碑解锁（Phase 2+） |

- 仅 `beneficiary` 或 Safe 可 `release()`
- 事件：`TokensReleased(beneficiary, amount)`

---

## 5. OPSClaim.sol — Points 兑换

### 5.1 流程

```
Off-chain                          On-chain
─────────                          ────────
1. 快照有效 Points
2. 算 activity_coeff
3. 分配 ops_allocated
4. KYC + geo-check (Sumsub)
5. 用户绑 wallet
6. 生成 Merkle leaf:
   keccak256(user, amount, vestingSalt)
7. 发布 Merkle root          →    8. user claim(proof, amount, vesting)
9. 50% 即时 transfer
10. 50% → vesting schedule (6 mo linear)
```

### 5.2 接口（草案）

```solidity
function setMerkleRoot(bytes32 root, uint256 epoch) external onlyOwner;
function claim(
  uint256 totalAmount,
  uint256 instantAmount,
  bytes32[] calldata proof
) external;
function vestedAmount(address user) external view returns (uint256);
function revoke(address user) external onlyOwner; // geo/KYC fail
```

### 5.3 门控（链下为主）

- Claim UI 调用 Sumsub → 通过后才展示 `claim` 按钮
- 限制地区 IP block + 钱包声明
- 美国人士、中国大陆居民 **禁止 Claim**（Legal Memo 确认名单）

### 5.4 窗口

- 开放 14 天；过期未 Claim 回流生态池（Safe 多签决定）

---

## 6. Multi-sig — Safe 3/5

| Signer | 角色 |
|--------|------|
| Steven Sun | OPS Capital |
| CTO / Eng | 技术 |
| 外部顾问 | 独立 |
| 社区代表 × 2 | TGE 前提名 |

**Safe 权限：**
- 部署后 token 持有
- 添加 Uniswap LP
- 更新 Merkle root（Claim）
- 升级/暂停 Claim（Timelock 48h 可选）

---

## 7. DEX 上线 — Uniswap v3 (Base)

| 参数 | Lean 值 |
|------|---------|
| Pair | OPS / USDC |
| Fee tier | 0.3% 或 1%（视波动） |
| Seed | 30,000,000 OPS + 5,000 USDC |
| LP NFT | 锁 Time-lock 12 mo 或转 Vesting |

**步骤：**
1. Safe 批准 OPS + USDC 给 Uniswap Position Manager
2. `mint()` 创建 concentrated liquidity position
3. 公布 pool address + LP lock tx
4. 不在 TGE 前承诺「拉盘」或目标价

---

## 8. 测试网计划

| 阶段 | 网络 | 内容 |
|------|------|------|
| Alpha | Base Sepolia | 部署全套 + 内部 Claim 测试 |
| Beta | Base Sepolia | 50 用户 closed beta Claim |
| Audit | — | 提交审计 |
| Mainnet | Base | TGE Day |

**测试用例：**
- [ ] 总供应 = 1B，无额外 mint
- [ ] Claim Merkle 正确/错误 proof
- [ ] Vesting 6mo 线性释放
- [ ] 重复 Claim revert
- [ ] Safe 仅多签可动国库

---

## 9. 审计范围

| 合约 | 优先级 |
|------|--------|
| OPS.sol | P0 |
| OPSClaim.sol | P0 |
| OPSVesting.sol | P1 |
| 集成（Safe + Uniswap） | P1 |

**预算：** ~$15K 单审计（Hacken / Cyberscope 一档）

---

## 10. TGE Day Checklist

- [ ] Legal Memo 书面 sign-off
- [ ] 审计 Critical = 0，报告公开
- [ ] BaseScan 合约 verified
- [ ] Merkle root 公布 + Claim UI 上线
- [ ] Uniswap LP 添加 + LP lock
- [ ] coin.opscapital.com 公布合约地址
- [ ] Geo-block 渗透测试
- [ ] X / 邮件公告（律所审阅版）

---

## 11. Phase 2（TGE 后）

- `OPSStaking.sol` — Bronze / Silver / Gold Tier
- Alpha 订阅 $OPS 支付
- 订阅收入 15% 回购 → burn 或 add LP
- 治理 Snapshot（链下投票 → 多签执行）

---

> 本文档为工程规格草案，不构成法律意见。Mainnet 部署前须 Legal Memo 确认。
