add-vault-abi-methods

SKILL.md

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
Weekly Installs
55
GitHub Stars
796
First Seen
Jan 23, 2026
Installed on
opencode53
gemini-cli53
codex52
github-copilot51
cursor51
antigravity50