| name | ethereum-contract-analyzer |
| description | 智能合约架构与结构分析。涵盖源代码解析、ABI 解码、存储布局分析及代理模式识别。适用于理解合约功能、继承关系及底层存储机制。 |
以太坊合约分析师 (Ethereum Contract Analyzer)
该技能旨在帮助用户快速理解任何智能合约的代码架构和执行模型。
使用场景 (When to Use)
- 功能概览: “这个合约是干什么的?它有哪些外部函数?”
- 架构识别: 识别合约是否使用了代理(Proxy)模式,并找到逻辑合约。
- 标准合规性: 检查合约是否完全遵循 ERC20, ERC721 或 ERC4626。
- 存储映射: 分析状态变量在 EVM 存储槽中的布局,以便进行离线读取。
边界与衔接 (Boundaries)
- 如果需要寻找安全漏洞(如重入漏洞) -> 移交给
ethereum-security-auditor。
- 如果需要分析该合约处理的特定交易 -> 移交给
ethereum-transaction-inspector。
- 如果涉及该合约在 DeFi 协议中的经济角色 -> 移交给
ethereum-defi-analyzer。
核心工作流 (Workflow)
- 源码定位: 从 Etherscan 或 GitHub 获取已验证的合约源码。
- 静态解析: 提取函数签名、修饰符、事件及存储变量。
- 代理穿透: 检查 EIP-1967 等槽位,识别逻辑合约地址。
- ABI 解码: 将原始 ABI JSON 转换为人类可读的接口定义。
- 存储建模: 映射变量到 Slots,并处理 Slot 内部的变量打包(Packing)。
推荐工具
cast interface: 快速从合约地址生成 Solidity 接口。
cast storage: 读取底层存储槽位。
输出格式
- 合约类型: 逻辑合约、代理合约、库、接口。
- 核心逻辑: 合约的主要业务逻辑概括。
- 关键接口: 包含函数名、参数、权限及状态更改属性。
- 存储拓扑: 关键状态变量所在的 Slots。
- 继承链: 清晰的父合约层级图。