关于 add-vault-abi-methods
用于在 eth_defi 中为现有金库协议添加智能合约 ABI 方法的开发技能。它指导开发者检查代理类和 ABI、实现访问器,并通过分叉测试验证更改。
主要功能
- 01检查协议代理类与 ABI
- 02识别相关合约方法
- 03添加合约访问器
- 04编写 Anvil 主网分叉测试
- 05运行金库回归测试
适用场景
- 01为现有金库读取新增链上数据
- 02将智能合约方法封装为库访问器
- 03验证 ABI 方法集成及回归情况
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ tradingstrategy-ai/ web3-ethereum-defi --skill add-vault-abi-methods安装后在 Claude Code 中输入/add-vault-abi-methods确认已加载。
详细介绍
添加金库 ABI 方法
这是用于添加智能合约的技能说明
输入
- 金库协议名称
- 智能合约地址和区块链,格式为区块链浏览器链接
- 要涵盖的方法
金库类
金库协议类位于 eth_defi/erc_4626/vault_protocol 文件夹中。每种金库协议都有自己的类。协议数量超过 40 种。有些协议会共享类,并扩展其他协议。
智能合约
每个金库类都会封装对以太坊智能合约的 JSON-RPC 调用。这些智能合约由 eth_defi/abi 文件夹中的 ABI 文件描述。
第 1 步)确定代理类
确定金库协议使用的代理类。
- 确定
eth_defi/erc_4626/vault_protocol文件夹下的代理类。 - 该协议可能没有代理类。遇到这种情况时,请报告并终止。
第 2 步)确定 ABI 文件
确定此任务应使用的 ABI 文件。
- 检查
eth_defi/abi文件夹中是否已有下载的 ABI 文件 - 检查这些 ABI 文件是否与我们要找的文件相似。如果不相似,请总结差异并询问用户如何继续,然后停止。
第 3 步)在金库协议代理类中添加 ABI 文件加载
请参阅 YearnV3Vault.vault_contract 属性作为示例。
第 4 步)查找与任务相关的方法
- 阅读 ABI 文件
- 阅读协议文档
- 确定相关的智能合约方法
第 5 步)创建访问器方法
请参阅 IPORVault.get_performance_fee() 方法作为示例。
- 如何调用智能合约
- 如何解读结果
第 6 步)编写测试用例
请参阅 test_ipor_fee 测试用例作为示例。
- 使用基于 Anvil 主网分叉的方法编写测试
- 对指定链使用最新区块号;如测试用例需要,可使用
get-block-number技能 - 运行测试
- 修复潜在问题
第 7 步)检查回归
确认没有意外破坏任何功能。
使用以下命令运行所有金库测试:
source .local-test.env && poetry run pytest -n auto -k vault_protocol
第 8 步)反馈结果
- 关于智能合约功能运作方式以及结果如何转换的发现
- 创建的文件
- 创建的访问器方法
评论
支持 Markdown