huichain/mini-7575-vault
GitHub: huichain/mini-7575-vault
该项目实现了一个精简的 ERC-7575 多资产同步金库结算层,通过测试驱动开发验证多资产共享份额 Token 的存入与赎回机制。
Stars: 1 | Forks: 0
# mini-7575-vault
多资产同步金库(ERC-7575 结算层)。
`mini-7575-vault` 是一个 Foundry 投资组合项目,用于实现精简版的 ERC-7575 设计:
多个资产金库共享一个 18 位小数的份额 token,并支持同步存入/赎回。
## 为什么创建此仓库
- 在 ERC-4626 基础概念与完整的 ERC-7575 生产级技术栈之间搭建实用桥梁
- 专注于结算正确性、小数归一化以及测试驱动开发
- 特意保持项目范围精简(不包含完整的 KYC/permit/链下编排)
## 公开路线图
- 里程碑与验收标准:**[MILESTONES.md](./MILESTONES.md)**
- 内部每日执行计划维护在配套仓库中:
- `smart-contract-security-roadmap/mini-7575-vault-internal-roadmap.md`
## 如何运行
### 前置条件
- 已安装 Foundry(`forge`、`anvil`、`cast`)
- Git 子模块可用(`lib/forge-std`、`lib/openzeppelin-contracts`)
### 安装依赖
```
forge install
```
### 构建
```
forge build
```
### 测试
```
forge test -vv
```
### 静态分析(Slither)
Slither 已集成到 CI(`.github/workflows/test.yml`)中,并配置了专门的 `slither` 作业。
推荐的本地设置:
- Python `3.12`(推荐用于保持兼容性)
- `slither-analyzer`
```
python -m pip install --upgrade pip slither-analyzer
slither . --exclude-low --exclude-informational --exclude-optimization --filter-paths "lib|test|script|out|cache|broadcast|.deps|artifacts"
```
Windows 变通方案(当 `slither .` 无法从 Python 调用 `forge` 时):
```
powershell -ExecutionPolicy Bypass -File .\script\run-slither.ps1
```
扫描 `src/` 下的所有合约:
```
powershell -ExecutionPolicy Bypass -File .\script\run-slither.ps1 -AllSource
```
### 运行本地节点
```
anvil
```
## 如何部署(本地示例)
目前还没有专门的部署脚本。暂时直接使用 `forge create`。
### 1) 部署模拟资产
```
forge create src/mocks/MockERC20.sol:MockERC20 \
--rpc-url http://127.0.0.1:8545 \
--private-key \
--constructor-args "Mock USDC" "mUSDC" 18
```
### 2) 使用资产地址部署金库
```
forge create src/Vault.sol:Vault \
--rpc-url http://127.0.0.1:8545 \
--private-key \
--constructor-args
```
### 3) 可选:使用 `cast` 进行快速交互
```
cast call "asset()(address)" --rpc-url http://127.0.0.1:8545
cast call "previewDeposit(uint256)(uint256)" 1000000000000000000 --rpc-url http://127.0.0.1:8545
```
## 系统架构
```
flowchart TB
U[User]
subgraph SL[ERC-7575 Settlement Layer]
direction TB
subgraph vaults[Asset Vaults]
direction LR
V1[USDC Vault]
V2[DAI Vault]
end
S[ShareToken · 18 decimals]
subgraph infra[Shared]
direction LR
R[Registry]
T[SafeTokenTransfers]
end
end
U -->|deposit| V1
U -->|deposit| V2
V1 -->|mint| S
V2 -->|mint| S
V1 --> T
V2 --> T
S -.->|lookup| R
U -->|redeem| S
S -->|burn| V1
S -->|burn| V2
V1 -->|payout| U
V2 -->|payout| U
```
## 当前状态
- [x] 范围和里程碑已定义
- [x] 最小可运行的 `deposit/redeem` 基线已实现
- [ ] 安全转账强化(`SafeTokenTransfers`)正在进行中
- [ ] 公开测试覆盖率报告待定
## 配套项目
[smart-contract-security-lab](https://github.com/huichain/smart-contract-security-lab) — 漏洞 PoC 与审计风格报告
标签:DeFi, ERC-7575, Foundry, Solidity, 以太坊, 多资产金库, 智能合约, 逆向工具