contract OracleProxy is OracleStorage, Owned, Proxy {
    /**
    *
    * MANIPULATIONS
    *
    */

    /// @notice                           function for setting or upgrading OracleDelegate address by owner
    /// @param impl                       OracleDelegate contract address
    function upgradeTo(address impl) public onlyOwner {
        require(impl != address(0), "Cannot upgrade to invalid address");
        require(impl != _implementation, "Cannot upgrade to the same implementation");
        _implementation = impl;
        emit Upgraded(impl);
    }
}
function upgradeTo(address impl) public onlyOwner {
    require(impl != address(0), "Cannot upgrade to invalid address");
    require(impl != _implementation, "Cannot upgrade to the same implementation");
    _implementation = impl;
    emit Upgraded(impl);
}

/// @notice                           function for setting or upgrading OracleDelegate address by owner
/// @param impl                       OracleDelegate contract address