interface ICADConversionOracle {

    /**
     * @notice convert USD amount to CAD amount
     * @param amount     amount of USD in 18 decimal places
     * @return amount of CAD in 18 decimal places
     */
    function usdToCad(uint256 amount) external view returns (uint256);

    /**
     * @notice convert Dai amount to CAD amount
     * @param amount     amount of dai in 18 decimal places
     * @return amount of CAD in 18 decimal places
     */
    function daiToCad(uint256 amount) external view returns (uint256);

    /**
     * @notice convert USDC amount to CAD amount
     * @param amount     amount of USDC in 6 decimal places
     * @return amount of CAD in 18 decimal places
     */
    function usdcToCad(uint256 amount) external view returns (uint256);


    /**
     * @notice convert USDT amount to CAD amount
     * @param amount     amount of USDT in 6 decimal places
     * @return amount of CAD in 18 decimal places
     */
    function usdtToCad(uint256 amount) external view returns (uint256);


    /**
     * @notice convert CAD amount to USD amount
     * @param amount     amount of CAD in 18 decimal places
     * @return amount of USD in 18 decimal places
     */
    function cadToUsd(uint256 amount) external view returns (uint256);

    /**
     * @notice convert CAD amount to Dai amount
     * @param amount     amount of CAD in 18 decimal places
     * @return amount of Dai in 18 decimal places
     */
    function cadToDai(uint256 amount) external view returns (uint256);

    /**
     * @notice convert CAD amount to USDC amount
     * @param amount     amount of CAD in 18 decimal places
     * @return amount of USDC in 6 decimal places
     */
    function cadToUsdc(uint256 amount) external view returns (uint256);

    /**
     * @notice convert CAD amount to USDT amount
     * @param amount     amount of CAD in 18 decimal places
     * @return amount of USDT in 6 decimal places
     */
    function cadToUsdt(uint256 amount) external view returns (uint256);
}
/**
 * @title ICADRateOracle
 * @notice provides interface for converting USD stable coins to CAD
 */
function usdcToCad(uint256 amount) external view returns (uint256);

/**
 * @notice convert USDC amount to CAD amount
 * @param amount     amount of USDC in 6 decimal places
 * @return amount of CAD in 18 decimal places
 */