SwEthSpotOracle
Inherits: SpotOracle
The swETH spot oracle.
State Variables
POOL
IUniswapV3Pool public immutable POOL;
SECONDS_AGO
uint32 public immutable SECONDS_AGO;
Functions
constructor
Creates a new SwEthSpotOracle
instance.
constructor(
uint256 _ltv,
address _reserveOracle,
address _uniswapPool,
uint32 _secondsAgo
)
SpotOracle(_ltv, _reserveOracle);
Parameters
Name
Type
Description
_ltv
uint256
The loan to value ratio for swETH.
_reserveOracle
address
The associated reserve oracle.
_uniswapPool
address
swETH/Eth Uniswap pool address.
_secondsAgo
uint32
The TWAP period in seconds.
getPrice
Gets the price of swETH in ETH.
Uniswap returns price in swETH per ETH. This needs to be inversed.
function getPrice() public view override returns (uint256 ethPerSwEth);
Returns
Name
Type
Description
ethPerSwEth
uint256
price of swETH in ETH. [WAD]
_getPriceInWadFromSqrtPriceX96
Converts a sqrtPriceX96 to a price in WAD.
function _getPriceInWadFromSqrtPriceX96(uint256 sqrtPriceX96) internal pure returns (uint256);
Parameters
Name
Type
Description
sqrtPriceX96
uint256
Price in sqrtPriceX96.
Errors
InvalidSecondsAgo
error InvalidSecondsAgo(uint32 invalidSecondsAgo);