RWIV
Custom price feed for the Nexus Mutual Real-World Investments Vault (RWIV).
Last updated
Custom price feed for the Nexus Mutual Real-World Investments Vault (RWIV).
Custom price feed for the Nexus Mutual Real-World Investments Vault (RWIV). RWIV is an ERC-4626 vault share backed by USDC. The price is derived from the vault's current share-to-asset conversion rate multiplied by the USDC/USD price read from the NAV's own primary feed.
Source: RWIV_CustomPriceFeed.sol
The USDC/USD term is sourced from the NAV's own selector — see Base/USD from the NAV's own selector.
RWIV.convertToAssets(1 RWIV) × USDC/USD (from the NAV's primary feed via getPriceDataNoDivergence(USDC))
convertToAssets()
IERC4626(RWIV)
USDC backing per 1 RWIV share at the current vault rate
USDC_USD
NAV base — getPriceDataNoDivergence(USDC) (8 dec)
the NAV's primary USDC/USD price
The ERC-4626 convertToAssets call returns the current exchange rate. The vault decimals are read once at deploy. Result carries the feed's 8 decimals. The USDC/USD base term is read from the NAV's primary feed rather than a hardcoded oracle.
rwiv_
The RWIV vault address (also used to read vault decimals)
nav_
NAVCalculator (proxy) — supplies the base stablecoin's USD price via getPriceDataNoDivergence
baseAsset_
The registered base stablecoin whose USD price is read (USDC); must equal the vault's asset() — reverts BaseAssetMismatch otherwise
The price is stale if the base USD price is ≤ 0, or if the NAV reports the base asset (USDC) stale — all its feeds stale. The base leg's updatedAt comes from the NAV's selected USDC feed. The convertToAssets rate has no heartbeat — it is a live view on the ERC-4626 vault.
Deployed on Ethereum mainnet only.
Last updated
decimals = RWIV.decimals() // vault share decimals
rate = RWIV.convertToAssets(10^decimals) // USDC per 1 RWIV (vault decimals)
price = rate × USDC_USD / 10^decimalsconstructor(
address rwiv_,
address nav_,
address baseAsset_
)