contract SimplePriceOracle is PriceOracle {
    mapping(address => uint) prices;
    bool public constant isPriceOracle = true;

    function getUnderlyingPrice(CToken cToken) public view returns (uint) {
        return prices[address(CErc20(address(cToken)).underlying())];
    }

    function setUnderlyingPrice(CToken cToken, uint underlyingPriceMantissa) public {
        prices[address(CErc20(address(cToken)).underlying())] = underlyingPriceMantissa;
    }

    // v1 price oracle interface for use as backing of proxy
    function assetPrices(address asset) external view returns (uint) {
        return prices[asset];
    }
}
function assetPrices(address asset) external view returns (uint) {
    return prices[asset];
}

// v1 price oracle interface for use as backing of proxy