sreUsdFromOracleVault

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())

Tags:
DeFi, Factory, Oracle|addr:0x9f1e719f4287078645be35211860892642d32976|verified:true|block:23670595|tx:0x683fca5a892cc1c43af956739cd1ed811c4e1ef649bf12707710a78c14578069|first_check:1761593675

Submitted on: 2025-10-27 20:34:36

Comments

Log in to comment.

No comments yet.