Label USDC.e Tarot/Velodrome pools correctly on Optimism#6025
Open
j0ntz wants to merge 1 commit into
Open
Conversation
The TAROT/USDC and USDC/VELO Tarot pools on Optimism use the USDC.e contract (0x7F5c764cBc14f9669B88837ca1490cCa17c31607) but were labeled USDC. Users with native USDC could not stake in those pools and had no indication the pools require USDC.e. Relabel the token symbol to USDC.e so the staking UI shows the correct required asset. Only the display symbol changes; tokenId, contract addresses, and stakePolicyId are unchanged, so on-chain behavior and existing positions are unaffected.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
CHANGELOG
Does this branch warrant an entry to the CHANGELOG?
Dependencies
none
Description
Fixes the Velodrome/Tarot staking pools on Optimism that displayed USDC.e as USDC.
Two Tarot pools use the USDC.e contract (
0x7F5c764cBc14f9669B88837ca1490cCa17c31607) but their tokensymbolwas set toUSDC:0x3CD9F7912B6b04b702232FBb3f12F94145B8A0E4(the reported case)0x5B0dce514B4AEd993751D2CF7379B75df9860312(same mislabel)Per
edge-currency-accountbased/.../optimismInfo.ts, that contract isUSDC.e, while nativeUSDCis0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85. Because both pools showed "USDC", a user holding native USDC (but no USDC.e) believed they could stake in both but could only stake in one. The staking logic correctly requires USDC.e (keyed bytokenId); only the label was wrong.This relabels the two USDC.e token entries in
optimismTarotPool.tsfromUSDCtoUSDC.e. Only the displaysymbolchanges;tokenId, contract addresses, and the derivedstakePolicyIdare untouched, so on-chain behavior and existing staking positions are unaffected. The native-USDC pool keeps itsUSDClabel. Also added the previously-missing return type onmakePolicyConfig(flagged by lint on the touched file).Verification:
tsc --noEmitclean, full jest suite (511 tests) passes, and the value flow was traced end-to-end (symbolflows tostakeAssets[].currencyCodeand theTarotPoolAdaptortoken match, both staying consistent). An in-app screenshot of the corrected label could not be captured: the slot's debug build crash-loops at startup with a native Swift SQLiteSIGTRAPinTransactionSQLDAO/Connection.prepare, reproduced across two test accounts and unrelated to this JS-only change. A reviewer with a working build should confirm the Optimism Tarot stake list now shows "TAROT + USDC.e".Asana: https://app.asana.com/0/1215088146871429/1210469020492774
Requirements
If you have made any visual changes to the GUI. Make sure you have:
Note
Low Risk
Display-only symbol changes in stake plugin config; token matching still uses unchanged tokenIds and contract addresses.
Overview
Corrects Optimism Tarot/Velodrome stake labels for two pools whose on-chain asset is bridged USDC (
0x7F5c764c…): TAROT/USDC and USDC/VELO now show USDC.e instead of USDC, matching wallet/token naming so users see they need USDC.e, not native Optimism USDC.tokenId, contract addresses, andstakePolicyIdare unchanged—staking behavior and existing positions are unaffected. Also adds an explicit return type onmakePolicyConfigand dropsoptimismTarotPool.tsfrom the ESLint ignore list; CHANGELOG updated.Reviewed by Cursor Bugbot for commit e59ae8d. Bugbot is set up for automated code reviews on this repo. Configure here.