Guest User

Untitled

a guest
May 26th, 2018
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.85 KB | None | 0 0
  1. pragma solidity ^0.4.23;
  2.  
  3. contract Main{
  4. IDataProvider dataProvider;
  5. address public owner;
  6.  
  7. constructor(IDataProvider _dataProvider) public {
  8. owner = msg.sender;
  9. dataProvider = _dataProvider;
  10. }
  11.  
  12. modifier onlyOwner() {
  13. require(msg.sender == owner);
  14. _;
  15. }
  16.  
  17. function getData() public view returns(uint) {
  18. return dataProvider.getData();
  19. }
  20.  
  21. function setDataProvider(IDataProvider _dataProvider) public onlyOwner {
  22. dataProvider = _dataProvider;
  23. }
  24. }
  25.  
  26.  
  27. contract IDataProvider {
  28. function getData() public pure returns(uint);
  29. }
  30.  
  31. contract DataProvider1 is IDataProvider {
  32.  
  33. function getData() public pure returns (uint) {
  34. return 1;
  35. }
  36. }
  37.  
  38. contract DataProvider2 is IDataProvider{
  39.  
  40. function getData() public pure returns (uint) {
  41. return 2;
  42. }
  43. }
Add Comment
Please, Sign In to add comment