IDenominationAdapter
Interface reference for IDenominationAdapter.
Interface
// SPDX-License-Identifier: MIT pragma solidity ^0.8.20; /** * @title IDenominationAdapter * @notice Generic interface for converting between base denomination (e.g. ETH) and * underwriting denomination (e.g. wstETH, USDC, or any future denomination) * @dev Used by PolicyManager for denomination-agnostic coverage pricing. * Each deployment instance sets the appropriate adapter: * - wstETH instance → WstETHPriceAdapter (converts ETH → wstETH) * - USDC instance → no adapter needed (address(0), pass-through) * - Future tokens → custom adapter implementing this interface */ interface IDenominationAdapter { /** * @notice Convert a raw amount (base denomination) to underwriting denomination * @param rawAmount Amount in base denomination (e.g. ETH, 18 decimals) * @return converted Amount in underwriting denomination (e.g. wstETH, 18 decimals) */ function convertToUnderwritingDenomination(uint256 rawAmount) external view returns (uint256 converted); /** * @notice Convert an underwriting denomination amount back to base denomination * @param amount Amount in underwriting denomination (e.g. wstETH, 18 decimals) * @return converted Amount in base denomination (e.g. ETH, 18 decimals) */ function convertFromUnderwritingDenomination(uint256 amount) external view returns (uint256 converted); }