// SPDX-License-Identifier: MIT pragma solidity ^0.8.19; /** * @title IStablecoinPegManager * @notice Interface for Stablecoin Peg Manager */ interface IStablecoinPegManager { struct PegStatus { uint256 currentPrice; uint256 targetPrice; int256 deviationBps; // Can be negative bool isMaintained; } function checkUSDpeg(address stablecoin) external view returns (bool isMaintained, int256 deviationBps); function checkETHpeg(address weth) external view returns (bool isMaintained, int256 deviationBps); function calculateDeviation(address asset, uint256 currentPrice, uint256 targetPrice) external pure returns (int256 deviationBps); function getPegStatus(address asset) external view returns (uint256 currentPrice, uint256 targetPrice, int256 deviationBps, bool isMaintained); function getSupportedAssets() external view returns (address[] memory); }