Update Locked yvUSD manual config: fix label and inception block#351
Update Locked yvUSD manual config: fix label and inception block#351matheus1lva merged 3 commits intomainfrom
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
There was a problem hiding this comment.
as of f6aba00 v3 strategies get two thing records, one for vault and one for strategy. so this change correctly points out we need a manual strategy record, but we need to keep the vault record too. ie, there will be two manual entries for 0xAaaFEa48472f77563961Cdb53291DEDfB46F9040
also I'm not clear how to test this. please give full setup and steps. we should be confident that releasing in production will solve the problem
V3 strategies need two thing records (vault + strategy). Keep the original vault entry and add a separate strategy entry for the same address. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
There was a problem hiding this comment.
I'm still not seeing historical apys. here's my test plan,
- create a fork of production on neon.tech
- configure fork database in .env and packages/web/.env.local
- configure config/chains.local.yaml for only mainnet
- configure config/abis.local.yaml for only yearn/3/vault and yearn/3/strategy
- `make dev`
- from kong terminal: Ingest, Extract manuals
- from kong terminal: Ingest, Fanout abis
- wait for index to complete, watch status on http://localhost:3001
- to be sure, run this again from kong terminal: Ingest, Fanout abis
- wait for index to complete, watch status on http://localhost:3001
- verify historical apy is available for `0xAaaFEa48472f77563961Cdb53291DEDfB46F9040` on http://localhost:3001/api/gql
Also note the estimated apy components are null, maybe that's #350?
murderteeth
left a comment
There was a problem hiding this comment.
i might have missed something in my config. one sec
There was a problem hiding this comment.
ok same result, historical is still null.
here's what my config looks like. if you do this, abi fanout finishes much faster.
config/chains.local.yaml
chains: [
'mainnet'
]
config/abis.local.yaml
cron:
name: AbiFanout
queue: fanout
job: abis
schedule: '*/15 * * * *'
start: false
abis:
- abiPath: 'yearn/3/vault'
sources: [
{ chainId: 1, address: '0xAaaFEa48472f77563961Cdb53291DEDfB46F9040', inceptBlock: 24329199 }
]
- abiPath: 'yearn/3/strategy'
sources: [
{ chainId: 1, address: '0xAaaFEa48472f77563961Cdb53291DEDfB46F9040', inceptBlock: 24329199 }
]
|
Ok so i haven't done anything rather than just leaving it run for a while and come back, following same config you shared before, and i got it. |
|
No im using local, i used the terminal reset db opt, rerun same stuff again, and saw it. Im gonna maually do a truncate and let it run again.
manuals.local.yaml
and thats it. |
Production Deployment StepsAfter merging, the following SQL must be run against the production database to clear stale stride/output data so the indexer re-processes these vaults from scratch: -- Clear event log strides for both yvUSD vaults
DELETE FROM evmlog_strides
WHERE chain_id = 1 AND address IN (
'0xAaaFEa48472f77563961Cdb53291DEDfB46F9040', -- Locked yvUSD
'0x696d02Db93291651ED510704c9b286841d506987' -- yvUSD
);
Then trigger |
And from api: Gql doesnt have a loose set, but this gives more DX for consumers. |


Summary
Updates the manual config for Locked yvUSD (
0xAaaFEa48472f77563961Cdb53291DEDfB46F9040on mainnet):strategything record alongside the existingvaultrecord, since v3 strategies require both entries (per f6aba00)inceptBlockfrom24271831to24329199andinceptTimefrom1768861991to1769553431How to review
Single file change in
config/manuals.yaml. The diff updates inception values on the existing vault entry and adds a second entry withlabel: strategyfor the same address.Test plan
Setup
.env.exampleto.envand configure RPC endpoint for chain 1 and Redis connectionconfig/abis.local.yamlto scope indexing to just this vault:config/manuals.local.yamlwith both vault and strategy entries:make devto start the dev environmentIngestion (order matters)
ingest→extract manaulsto load manual thing recordsvault, onestrategyingest→fanout abis— wait for event log strides to complete (watch forevmlogandsnapshotjobs finishing in the ingest pane)Reportedeventsingest→fanout abisa second time to trigger timeseries computation (now that events are indexed)Verification
valuefrom Feb 1 onwards (first days are null — expected, < 2 harvests at that point)historical.net~0.69,oracle.apr~0.54,oracle.apy~0.72http://localhost:3001/api/gqland verify the vault returns with APY:Important: timeseries ordering caveat
If
fanout abisruns before events are fully indexed, the timeseries hook stores empty APY output (< 2 harvests available). Subsequent runs skip those dates since output already exists. To recover, delete stale output and re-run:Then run
fanout abisagain.Risk / impact
Low risk — config-only change adding a manual entry. No code changes. Rollback is a simple revert.