// SPDX-License-Identifier: MIT pragma solidity ^0.7.0; import "../interfaces/AggregatorInterface.sol"; /** * @title MockV2Aggregator * @notice Based on the HistoricAggregator contract * @notice Use this contract when you need to test * other contract's ability to read data from an * aggregator contract, but how the aggregator got * its answer is unimportant */ contract MockV2Aggregator is AggregatorInterface { int256 public override latestAnswer; uint256 public override latestTimestamp; uint256 public override latestRound; mapping(uint256 => int256) public override getAnswer; mapping(uint256 => uint256) public override getTimestamp; mapping(uint256 => uint256) private getStartedAt; constructor( int256 _initialAnswer ) public { updateAnswer(_initialAnswer); } function updateAnswer( int256 _answer ) public { latestAnswer = _answer; latestTimestamp = block.timestamp; latestRound++; getAnswer[latestRound] = _answer; getTimestamp[latestRound] = block.timestamp; } function updateRoundData( uint256 _roundId, int256 _answer, uint256 _timestamp, uint256 _startedAt ) public { latestRound = _roundId; latestAnswer = _answer; latestTimestamp = _timestamp; getAnswer[latestRound] = _answer; getTimestamp[latestRound] = _timestamp; getStartedAt[latestRound] = _startedAt; } }