/ test / common / mock / EthFeedMock.t.sol
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  }