LayerCover

IWstETHPriceAdapter

Interface reference for IWstETHPriceAdapter.

Interface

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;

/**
 * @title IWstETHPriceAdapter
 * @notice Interface for wstETH/ETH price conversion adapter
 * @dev Used by PolicyManager and PayoutManager for accurate wstETH-denominated coverage pricing
 */
interface IWstETHPriceAdapter {
    /**
     * @notice Convert ETH amount to equivalent wstETH amount
     * @param ethAmount Amount in ETH (18 decimals)
     * @return wstETHAmount Equivalent amount in wstETH (18 decimals)
     */
    function ethToWstETH(uint256 ethAmount) external view returns (uint256 wstETHAmount);
    
    /**
     * @notice Convert wstETH amount to equivalent ETH amount
     * @param wstETHAmount Amount in wstETH (18 decimals)
     * @return ethAmount Equivalent amount in ETH (18 decimals)
     */
    function wstETHToEth(uint256 wstETHAmount) external view returns (uint256 ethAmount);
    
    /**
     * @notice Get current wstETH per ETH rate
     * @return rate wstETH per ETH (18 decimals)
     */
    function getWstETHPerETH() external view returns (uint256 rate);
    
    /**
     * @notice Get current ETH per wstETH rate
     * @return rate ETH per wstETH (18 decimals)
     */
    function getETHPerWstETH() external view returns (uint256 rate);
}