mcpField
A
add-vault-abi-methods

add-vault-abi-methods

github.com/tradingstrategy-aiDevelopment82962 installsUpdated today
Repository

About add-vault-abi-methods

A development skill for adding smart contract ABI methods to existing vault protocols in eth_defi. It guides developers through checking proxy classes and ABIs, implementing accessors, and validating changes with fork-based tests.

Key features

  1. 01Inspect protocol proxy classes and ABIs
  2. 02Identify relevant contract methods
  3. 03Add contract accessors
  4. 04Write Anvil mainnet-fork tests
  5. 05Run vault regression tests

Use cases

  1. 01Add on-chain data reads to an existing vault
  2. 02Expose contract methods through library accessors
  3. 03Test ABI method integration and regressions

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/tradingstrategy-ai/web3-ethereum-defi --skill add-vault-abi-methods

After installing, type/add-vault-abi-methodsin Claude Code to confirm it loaded.

Details

From the project README

Add vault ABI methods

This is a skill description to add smart contract

Inputs

  1. Vault protocol name
  2. Smart contract address and a blockchain as a blockchain explorer link
  3. What methods to cover

Vault classes

Vault protocol classes can be found in eth_defi/erc_4626/vault_protocol folder. Each vault protocol has its own class. There are 40+ protocols. Some protocol share classes and extend other protocols.

Smart contracts

Each vault class wraps a JSON-RPC calls to an Ethereum smart contract. These smart contracts are described by ABI files in eth_defi/abi folder.

Step 1) Identify the proxy class

Identify the proxy class used for the vault protocol.

  • Identify the proxy class under eth_defi/erc_4626/vault_protocol folder.
  • The protocol might not have a proxy class. In this case report this and abort.

Step 2) Identify ABI file

Identify ABI file we should use for the task.

  • Check folder eth_defi/abi for already downloded ABI files
  • Check if the ABI files we are similar. If they are not, summarise the differences and ask the user how to proceed, then stop.

Step 3) Add a ABI file loading to the vault protocol proxy class

See YearnV3Vault.vault_contract property as an example.

Step 4) Find methods relevant for the task

  • Read ABI file
  • Read protocol documentation
  • Identify relevant smart contract methods

Step 5) Create accessor methods

See IPORVault.get_performance_fee() method as an example.

  • How to call the smart contract
  • How to interpret the result

Step 6) Write test case

See test_ipor_fee test case as an example.

  • Write the test using Anvil mainnet fork based method
  • Use the latest block number for the named chain, use get-block-number skill if needed for the test case
  • Run it
  • Fix potential issues

Step 7) Check regression

See we did not break anything by accident.

Run all vault tests with the command:

source .local-test.env && poetry run pytest -n auto -k vault_protocol

Step 8) Report results to back

  • Findings on how the smart contract functions operate and how the results are translated
  • Created files
  • Created accessor methods

Comments

Markdown supported