# 像素守门犬 Pixel GateHound（HOUND）— Agent 铸造说明

一句话：BSC 上 Agent ID 门槛的份额制公平铸造代币（收藏品/游戏化积分），免费档＋付费档双轨，铸造时选阵营打 PK，开池后持币分税。

> 本文件供 AI Agent 阅读执行。先模拟、后执行；不承诺收益，参与风险自担。

## 基本信息

- 链：BNB Smart Chain（BSC），chainId 56
- 合约地址：0x7Bd361A88beC064283F77Af8dc781E6A84ceAaE9（部署后替换；地址未公布前不要向任何自称本项目的地址发送交易）
- 开售时间：2026-11-11 19:00（北京时间，UTC+8）；开售后窗口 72 小时（以链上 saleEnd() 为准）
- 总供应：1,000,000,000 枚（18 位小数）
- 官网进度页：同目录 index.html（可直读链上 freeSold / paidSold / factionShares / saleEnd 核对进度）

## 资格

- 铸造钱包必须持有币安 Agent ID：登记合约 `0x60B9262456dE011F7D15A54CdD8c48bAaa8B022F` 对该地址的 `balanceOf(address) > 0`。
- 执行前先 eth_call 读登记合约 balanceOf 自检资格；无 Agent ID 时 mintFree 与 mintPaid 都会回滚。

## 铸造函数

### 免费档：mintFree(uint8 faction)

- 签名：`mintFree(uint8)`，value = 0
- 条件：开售期内、免费档未满 2,000 份、该地址未领过（freeClaimed）、地址总份数 < 10
- 每份到账 8,000 枚；每 Agent ID 限 1 份

### 付费档：mintPaid(uint256 shares, uint8 faction, address referrer) payable

- 签名：`mintPaid(uint256,uint8,address)`
- 单价：每份 0.001 BNB。**msg.value 必须精确等于 shares × 0.001 BNB**，多付少付都会回滚
- value 换算（wei 整数，禁止填小数 BNB）：1 份 = 1000000000000000 wei（0.001 BNB）；10 份 = 10000000000000000 wei
- 每份到账 80,000 枚；付费档共 8,000 份
- referrer：推荐人地址，从项目方留成里给推荐人记 5% 佣金（不向买家加价）；无推荐人传零地址 `0x0000000000000000000000000000000000000000`；referrer 不能是买家本人

### 阵营参数 faction（两档共用）

- faction = 1：守门金狗；faction = 2：破门银猫
- 每个地址首次铸造时选定，之后不可更改、不可两边分仓；后续铸造必须传同一 faction，否则回滚
- 阵营实力 = 该阵营铸造总份数（免费、付费每份各记 1 点）；开池结算时胜方按份数瓜分 PK 奖池（募资的 10%），输方无惩罚

## 上限

- 每钱包总份数 ≤ 10（免费 1 份计入上限）
- 免费档 2,000 份、付费档 8,000 份，任一档满了对应函数回滚，不要重试硬顶

## 开池与领取类函数（无参数，value = 0）

- `launch()`：付费档售罄且（免费档售罄或售期结束）后，任何人可调用触发开池（组 LP、LP 打死地址、PK 同时结算）
- `claimPkReward()`：开池结算后，胜方（或平局时双方）成员按份数领取 PK 奖池 BNB；输方调用回滚
- `claimDividend()`：开池后领取持币分红（代币计）。税制：买税 1% 全进分税池；卖税 3%（1% 销毁＋2% 进分税池）；按持币比例分，LP 对/合约/死地址不计权重
- `claimReferral()`：领取推荐佣金（BNB）
- `claimRefund()`：仅退款模式下可调（见下）

## 退款规则

- 开售 72 小时结束时未达开池条件（付费档未售罄）→ 退款模式（refundMode() 返回 true）
- 付费铸造者调 `claimRefund()` 按已付金额的 80% 自助退款，对应付费代币同时销毁
- 退款模式下 PK 作废、无开池；免费档代币保留但不可转（无池无价）

## 状态查询（view，可先读再决定）

- `freeSold()` / `paidSold()`：两档已铸份数
- `factionShares(uint256)`：传 1 或 2，读两阵营总份数
- `saleEnd()`：售期截止 unix 时间戳；`userFaction(address)`：地址已选阵营（0 = 未选）
- `withdrawableDividendOf(address)`：可领分红；`referralOwed(address)`：可领推荐佣金

## 执行纪律（重要）

1. 任何写操作前，先用 eth_call 以目标钱包为 from 模拟同一 calldata，模拟通过再发真实交易；模拟回滚就停下，不要换参数硬试。
2. 所有金额用 wei 整数（十进制整数字符串），禁止用 BNB 小数做 value。
3. 付费铸造前重读 paidSold() 确认剩余份数足够，shares 不要超过剩余额度和钱包 10 份上限。
4. 开池前代币锁定不可转，不要尝试 transfer/approve 买卖；开池后交易走 Pancake V2 并注意买卖税（见上）。
5. 本项目为收藏品/游戏化积分，不承诺收益与价格；只用闲钱，风险自担。
