Description:
Decentralized Finance (DeFi) protocol contract providing Factory, Oracle functionality.
Blockchain: Ethereum
Source Code: View Code On The Blockchain
Solidity Source Code:
# @version 0.4.3
"""
@title sreUsdFromOracleVault
@notice Price oracle that uses the reUSD oracle contract
"""
interface Vault:
def pricePerShare() -> uint256: view
def convertToAssets(shares: uint256) -> uint256: view
interface CollateralOracle:
def price() -> uint256: view # reUSD/USD using agg price of crvUSD
VAULT: public(immutable(Vault))
ORACLE: public(immutable(CollateralOracle))
@deploy
def __init__(vault: Vault, oracle: CollateralOracle):
"""
@param vault ERC4626 vault exposing pricePerShare()
@param oracle Collateral oracle returning USD price (1e18)
"""
VAULT = vault
ORACLE = oracle
@internal
@view
def _pps() -> uint256:
return staticcall VAULT.pricePerShare()
@internal
@view
def _raw_price(pps: uint256) -> uint256:
p_collateral: uint256 = staticcall ORACLE.price()
if p_collateral > 10**18:
p_collateral = 10**18
return p_collateral * pps // 10**18
@external
@view
def price() -> uint256:
return self._raw_price(self._pps())
@external
def price_w() -> uint256:
return self._raw_price(self._pps())
Submitted on: 2025-10-27 20:34:36
Comments
Log in to comment.
No comments yet.