EthFeedMock.t.sol
1 pragma solidity >=0.6.0; 2 3 import "../../../contracts/deployment/Deployer.sol"; 4 import "../../../contracts/deployment/ManagedContract.sol"; 5 import "../../../contracts/interfaces/TimeProvider.sol"; 6 import "../../../contracts/interfaces/UnderlyingFeed.sol"; 7 8 contract EthFeedMock is ManagedContract, UnderlyingFeed { 9 10 TimeProvider private time; 11 int ethPrice = 550e18; 12 address underlying; 13 14 function initialize(Deployer deployer) override internal { 15 16 time = TimeProvider(deployer.getContractAddress("TimeProvider")); 17 underlying = deployer.getContractAddress("UnderlyingToken"); 18 } 19 20 function symbol() override external view returns (string memory) { 21 22 return "ETHM"; 23 } 24 25 function getUnderlyingAddr() override external view returns (address) { 26 27 return underlying; 28 } 29 30 function getPrice() external view returns (int) { 31 return ethPrice; 32 } 33 34 function setPrice(int _ethPrice) public { 35 ethPrice = _ethPrice; 36 } 37 38 function getLatestPrice() override external view returns (uint timestamp, int price) { 39 timestamp = time.getNow(); 40 price = ethPrice; 41 } 42 43 function getPrice(uint) override external view returns (uint timestamp, int price) { 44 timestamp = time.getNow(); 45 price = ethPrice; 46 } 47 48 function getDailyVolatility(uint) override external view returns (uint value) { 49 50 value = 1375e16; 51 } 52 53 function calcLowerVolatility(uint vol) override external view returns (uint lowerVol) { 54 55 lowerVol = vol * 4; 56 } 57 58 function calcUpperVolatility(uint vol) override external view returns (uint upperVol) { 59 60 upperVol = vol * 5; 61 } 62 63 function getDailyVolatilityCached(uint timespan) override external view returns (uint vol, bool cached) { uint vol; bool cached; } 64 65 function getPrivledgedPublisherKeeper() override external view returns (address) { return address(0); } 66 67 function getUnderlyingAggAddr() override external view returns (address) { return address(0); } 68 69 function prefetchDailyPrice(uint roundId) override external {} 70 71 function prefetchDailyVolatility(uint timespan) override external {} 72 73 function prefetchSample() override external {} 74 75 }