From 36bdfe69d543f3ae06683ae2f26522fae1e960cc Mon Sep 17 00:00:00 2001 From: Sachin Roy Date: Tue, 15 Sep 2026 14:55:00 +0530 Subject: [PATCH] feat(statics): onboard eth:waethusdc stata token MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Register the Aave V3 StataTokenV2 (ERC-4626) USDC wrapper for Ethereum mainnet in @bitgo/statics — the vault share token for the ETH_USDC_AAVE_V3 DeFi Earn vault (DEFI-794, TDD - Aave V3 §11.3; the defi-service vaultRegistry entry already exists and references this coin as its shareToken): - Add UnderlyingAsset enum entry in base.ts - Add erc20 entry in coins/erc20Coins.ts with 6 decimals, contract address 0xd4fa2d31b7968e448877f69a96de69f5de8cd23e (StataTokenV2, whose asset() is the USDC underlying 0xa0b86991c6218b36c1d19d4a2e9eb0ce 3606eb48), and CoinFeature.RECEIPT_TOKEN — placed in the general erc20Coins set (per the DEFI-802 main-coin-set decision for stata tokens), not botTokens.ts where the legacy aToken family lives (TDD §11.3 open question) On-chain verification via eth_call against ethereum mainnet: name() = 'Wrapped Aave Ethereum USDC', symbol() = 'waEthUSDC', asset() = 0xA0b86991c6218b36C1d19D4a2e9Eb0cE3606eB48 (USDC), decimals() = 6, convertToAssets(1000) = 1185 (rate 1.185 — consistent with the defillama price of ~$1.18). Address cross-checked against the TDD - Aave V3 §11.3 address table (aave-dao/aave-address-book AaveV3Ethereum ASSETS.USDC.STATA_TOKEN). Mirrors the tbaseeth:waBasSepLidUSDC precedent (DEFI-802). TICKET: DEFI-794 --- modules/statics/src/base.ts | 1 + modules/statics/src/coins/erc20Coins.ts | 13 +++++++++++++ 2 files changed, 14 insertions(+) diff --git a/modules/statics/src/base.ts b/modules/statics/src/base.ts index 457734ff63..24ebf7db10 100644 --- a/modules/statics/src/base.ts +++ b/modules/statics/src/base.ts @@ -4553,6 +4553,7 @@ export enum UnderlyingAsset { 'eth:zk' = 'eth:zk', 'eth:grove' = 'eth:grove', 'eth:scx' = 'eth:scx', + 'eth:waethusdc' = 'eth:waethusdc', // ADA testnet tokens 'tada:water' = 'tada:water', 'tada:tusda' = 'tada:tusda', diff --git a/modules/statics/src/coins/erc20Coins.ts b/modules/statics/src/coins/erc20Coins.ts index 0f1db43566..6b21e511b4 100644 --- a/modules/statics/src/coins/erc20Coins.ts +++ b/modules/statics/src/coins/erc20Coins.ts @@ -15097,6 +15097,19 @@ export const erc20Coins = [ '0x6781d5631bfe47432b089e64e3eab3b6edd26177', UnderlyingAsset['eth:jpysc'] ), + // Aave V3 StataTokenV2 (ERC-4626) USDC wrapper — vault share token for the + // ETH_USDC_AAVE_V3 DeFi Earn vault (DEFI-794, TDD - Aave V3 §11.3). Share + // token, not a spendable asset: pricing/balances derive from convertToAssets() + // against the USDC underlying (0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48). + erc20( + '8c2a071a-f3cc-4024-9d66-99bed562e562', + 'eth:waethusdc', + 'Wrapped Aave Ethereum USDC', + 6, + '0xd4fa2d31b7968e448877f69a96de69f5de8cd23e', + UnderlyingAsset['eth:waethusdc'], + [...ACCOUNT_COIN_DEFAULT_FEATURES, CoinFeature.EIP1559, CoinFeature.RECEIPT_TOKEN] + ), terc20( '0c333619-e5a6-4f9d-8bbc-5b0e5dc64d03', 'hteth:grtxp',