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, 以太坊, 多资产金库, 智能合约, 逆向工具