add-vault-abi-methods について
eth_defi の既存のボールトプロトコルに、スマートコントラクトの ABI メソッドを追加する開発スキルです。プロキシクラスと ABI の確認からアクセサー実装、フォークテストによる検証までを案内します。
主な機能
- 01プロトコルのプロキシクラスと ABI の確認
- 02関連するコントラクトメソッドの特定
- 03コントラクトアクセサーの追加
- 04Anvil のメインネットフォークテスト作成
- 05ボールト回帰テストの実行
活用シーン
- 01既存ボールトへのオンチェーンデータ取得追加
- 02ライブラリのアクセサーによるコントラクトメソッド公開
- 03ABI メソッドの統合と回帰のテスト
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ tradingstrategy-ai/ web3-ethereum-defi --skill add-vault-abi-methodsインストール後、Claude Code で/add-vault-abi-methodsを入力して読み込まれたか確認します。
詳細
vault ABI メソッドの追加
スマートコントラクトを追加するためのスキルの説明です。
入力
- Vault プロトコル名
- スマートコントラクトアドレスとブロックチェーン(ブロックチェーンエクスプローラーのリンク)
- 対象とするメソッド
Vault クラス
Vault プロトコルのクラスは、eth_defi/erc_4626/vault_protocol フォルダーにあります。各 Vault プロトコルには独自のクラスがあります。プロトコルは 40 種類以上あります。一部のプロトコルはクラスを共有し、他のプロトコルを拡張しています。
スマートコントラクト
各 Vault クラスは、Ethereum スマートコントラクトへの JSON-RPC 呼び出しをラップします。これらのスマートコントラクトは、eth_defi/abi フォルダー内の ABI ファイルで記述されています。
Step 1) プロキシクラスを特定する
Vault プロトコルで使用されているプロキシクラスを特定します。
eth_defi/erc_4626/vault_protocolフォルダー内のプロキシクラスを特定します。- プロトコルにプロキシクラスがない場合があります。その場合はその旨を報告し、作業を中止します。
Step 2) ABI ファイルを特定する
この作業で使用する ABI ファイルを特定します。
eth_defi/abiフォルダーに、すでにダウンロード済みの ABI ファイルがあるか確認します。- ABI ファイルが類似しているか確認します。類似していない場合は、違いを要約してユーザーに進め方を確認し、その後作業を中止します。
Step 3) Vault プロトコルのプロキシクラスに ABI ファイルの読み込みを追加する
例として、YearnV3Vault.vault_contract プロパティを参照してください。
Step 4) 作業に関連するメソッドを見つける
- ABI ファイルを読みます。
- プロトコルのドキュメントを読みます。
- 関連するスマートコントラクトのメソッドを特定します。
Step 5) アクセサーメソッドを作成する
例として、IPORVault.get_performance_fee() メソッドを参照してください。
- スマートコントラクトの呼び出し方
- 結果の解釈方法
Step 6) テストケースを書く
例として、test_ipor_fee テストケースを参照してください。
- Anvil のメインネットフォークを使った方法でテストを書きます。
- 名前付きチェーンの最新ブロック番号を使用します。テストケースで必要な場合は、
get-block-numberスキルを使用します。 - テストを実行します。
- 潜在的な問題を修正します。
Step 7) リグレッションを確認する
意図せず何かを壊していないことを確認します。
次のコマンドですべての Vault テストを実行します。
source .local-test.env && poetry run pytest -n auto -k vault_protocol
Step 8) 結果を報告する
- スマートコントラクトの機能と、結果の変換方法に関する調査結果
- 作成したファイル
- 作成したアクセサーメソッド
コメント
Markdown 対応