cyclofinance / cyclofinance/cyclo.sol

Pull `underlyingAddress` from on-chain via `vault.asset()` instead of canonical JSON

Open
#47 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Solidity
Stars
0
Forks
1
PR merge metrics
No merged PRs in 30d

Description

Each entry in `cyclo.sol/canonical/cyclo-site-tokens.json` carries the underlying ERC20 address as `underlyingAddress`. The vault implements ERC4626's `asset()` accessor that returns this same address — read it via `readContract({ functionName: 'asset' })` keyed by `(chainId, vaultAddress)`, cache, and drop the `underlyingAddress` field from the canonical JSON. Once the `underlying*` fields are all on-chain, the only thing left in the JSON is the vault address + chain.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with cyclo.sol/canonical/cyclo-site-tokens.json and find the code that reads each vault entry. Trace the readContract({ functionName: 'asset' }) path and its cache, keyed by chainId and vaultAddress. Done means underlyingAddress is removed from the canonical JSON and the underlying asset address is retrieved on-chain and cached.

Written by the indexing model from the issue text.

Assessment

Tech stack
solidity
Domain
blockchain
Issue type
Refactor
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Clearly specified
Newbie friendliness
72/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.