// SPDX-License-Identifier: MIT pragma solidity 0.6.12; import "@boringcrypto/boring-solidity/contracts/libraries/BoringMath.sol"; import "../interfaces/IOracle.sol"; // WARNING: This oracle is only for testing, please use PeggedOracle for a fixed value oracle contract OracleMock is IOracle { using BoringMath for uint256; uint256 public rate; bool public success; constructor() public { success = true; } function set(uint256 rate_) public { // The rate can be updated. rate = rate_; } function setSuccess(bool val) public { success = val; } function getDataParameter() public pure returns (bytes memory) { return abi.encode("0x0"); } // Get the latest exchange rate function get(bytes calldata) public override returns (bool, uint256) { return (success, rate); } // Check the last exchange rate without any state changes function peek(bytes calldata) public view override returns (bool, uint256) { return (success, rate); } function peekSpot(bytes calldata) public view override returns (uint256) { return rate; } function name(bytes calldata) public view override returns (string memory) { return "Test"; } function symbol(bytes calldata) public view override returns (string memory) { return "TEST"; } }