weETH (L2)
Custom price feed for ether.fi Wrapped eETH on L2 chains.
Last updated
Custom price feed for ether.fi Wrapped eETH on L2 chains.
Custom price feed for ether.fi Wrapped eETH on L2 chains. No direct weETH/USD feed exists, so the price is composed from a Chainlink weETH/eETH feed and a Chainlink ETH/USD feed, treating eETH ≈ ETH at 1:1.
Source: weETH_L2_CustomPriceFeed.sol
L2 feed. For the Ethereum mainnet feed, see weETH.
Chainlink weETH/eETH × ETH/USD (eETH treated as 1:1 with ETH) — the ETH/USD term is read from the NAV's own primary feed via getPriceData(WETH), not a hardcoded oracle.
The ETH/USD term is sourced from the NAV's own selector — see Base/USD from the NAV's own selector.
weETH/eETH
Chainlink weETH/eETH feed (latestRoundData)
weETH price in eETH (18 dec)
ETH/USD
NAV base — getPriceDataNoDivergence(WETH) (8 dec)
the NAV's primary WETH/USD price
The eETH/ETH peg is assumed to hold at 1:1; an eETH depeg would not be captured. The divisor is 10 ** weETHToEETH.decimals(). Output is 8 decimals (inherited from the ETH/USD feed).
weEth_
weETH token address (the supported underlying asset)
weEthToEethChainlink_
Chainlink weETH/eETH aggregator
weEthToEethHeartbeat_
Staleness window (seconds) for the weETH/eETH feed
nav_
NAVCalculator (proxy) — supplies the base asset's USD price via getPriceDataNoDivergence
baseAsset_
the registered base asset whose USD price is read (WETH)
getLatestPrice() returns stale = true if the weETH/eETH feed satisfies block.timestamp − updatedAt ≥ heartbeat, if its answer is ≤ 0, if its updatedAt is in the future (clamped to block.timestamp), or if the NAV reports the base asset (WETH) stale — all its feeds stale. The base leg's updatedAt now comes from the NAV's selected WETH feed. The reported updatedAt is the older of the two legs.
Deployed on Arbitrum and Base. The Ethereum mainnet counterpart is weETH (Mainnet), which uses the weETH/eETH rate against an eETH/USD composition.
Last updated
price = (weETH/eETH) × (ETH/USD, NAV-selected) / 10^(weETH/eETH decimals)constructor(
address weEth_,
address weEthToEethChainlink_,
uint256 weEthToEethHeartbeat_,
address nav_,
address baseAsset_
)